PfSense DMZ Subnetz mit public IPs
Hier beschreibe ich, wie ein DMZ-Subnetz mit öffentlichen IPs korrekt auf der pfsense eingerichtet wird. Ich bin selbst darauf hereingefallen, dass sämtlicher DMZ-Traffic über das externe Interface geroutet wurde. Das ist unschön, da bei entfernten Hosts dann stets nur die WAN-IP als Quelle auftaucht. Entdeckt habe ich es durch einen Zufall, als ein sehr restriktiver Mailserver meinen HELO-Command bemängelte und die eMail abgewiesen hatte.
Konfiguration Netzwerk
Ich verwende 3 verschiedene Netzwerke:
- WAN (öffentliche IPs /27)
- DMZ (öffentliche IPs /28)
- LAN (private IPs /24)
WAN
Die WAN-Schnittstelle ist die Internetverbindung der pfsense. Bei Einrichtung der WAN-Schnittstelle muss i. d. R. auch ein Gateway angegeben werden, den man vom Provider erhält. Die Verwendung des Gateways ist oft an eine bestimmte MAC-Adresse gebunden, u. U. muss diese im Feld MAC-Adresse eingegeben werden. Dieser Gateway ist der Standardgateway (Häkchen setzen).
DMZ
Die DMZ-Schnittstelle wird gemäß der Angaben einfach in der pfsense eingerichtet. Sie benötigt i. d. R. keine Angaben über ein Gateway.
LAN
Analog wird auch das LAN-Subnetz konfiguriert. Für die LAN-IPs ist aber außerdem ein Outgoing NAT bzw. Masquerading erforderlich. Die pfsense macht dies unter Firewall - NAT - Outbound automatisch.
Bridge
Verbindungstechnisch sollte bereits jetzt alles funktionieren. Allerdings wird man feststellen, wenn man sich nun von einem Hosts mit DMZ-IP auf einen externen Hosts verbindet und die IP betrachtet, dass anstelle der DMZ-IP des Hosts die WAN-IP der pfsense angezeigt wird. Das ist nicht der Sinn der öffentlichen IPs und kann mit Hilfe einer Bridge umgangen werden:
- Interfaces - Assign - Bridges
- Neue Bridge hinzufügen
- WAN und DMZ markieren und speichern
Nun muss nur noch das automatische Masquerading deaktiviert werden, Firewall - NAT - Outbound und Häkchen bei Manual Outbound NAT rule generation setzen. Nun alle NAT-Regeln für das DMZ-Subnetz löschen und speichern.
Hinweis: Nicht vergessen die Outgoing Regeln im Paketfilter anzulegen, ansonsten kommen die Hosts nicht raus. Diese werden unter Firewall - Rules - DMZ angelegt. Eingehende Regeln sind unter Firewall - Rules - WAN zu spezifizieren.
Test
Einfach auf einen Hosts in der DMZ verbinden und mit w3m http://wieistmeineip.de aufrufen.
- Wird die DMZ-IP angezeigt, hat man alles richtig gemacht.
- Wird hingegen die WAN-IP der pfsense angezeigt, ist wahrscheinlich das Outgoing NAT noch für die DMZ aktiv.
- Wird überhaupt nichts angezeigt, fehlt entweder die Outgoing-Rule im Paketfilter bzw. die Bridge wurde nicht richtig konfiguriert.
Quellen
http://forum.pfsense.org/index.php/topic,41063.msg212423.html