OPNsense Forum

International Forums => German - Deutsch => Topic started by: rade on August 01, 2018, 03:34:52 pm

Title: 1:1 NAT zu Webserver in DMZ
Post by: rade on August 01, 2018, 03:34:52 pm
Hallo,
ich weiß, dieses Thema wurde schon hundertmal behandelt, aber alles, was ich lese, greift hier nicht.
Ich habe vom Provider 5 statische IPs zugewiesen bekommen. Eine ist die der Fritzbox, eine die externe NIC, bleiben 3 freie IPs.
In einer DMZ laufen 2 Server für verschiedene Dienste. Einer hört auf HTTP und HTTPS.
Jeder der Server soll auf eine der freien IPs gemappt werden.
Ich habe für die 3 freien IPs jeweils eine VIP angelegt. (Frage: arp-proxy, alias-ip oder "andere"?)
Dazu eine 1:1 NAT, die die entsprechende externe IP auf die interne des Servers mappt.
Eine Firewall-Regel soll den Traffic zu den Ports 80 und 443 zu der internen IP des Servers in der DMZ durchlassen.
Vom LAN aus sind beide Server erreichbar, aber vom Internet aus geht nichts. Die häufigste Meldung der Firewall ist "default deny rule".
Wer kennt sich damit aus? Wo könnte der Fehler liegen?

Gruß, Rade
Title: Re: 1:1 NAT zu Webserver in DMZ
Post by: JeGr on August 01, 2018, 05:38:23 pm
> Ich habe für die 3 freien IPs jeweils eine VIP angelegt. (Frage: arp-proxy, alias-ip oder "andere"?)

Normalerweise genügt AliasIP, zumal ich vermute, dass deine 5 IPs alle aus dem gleichen Segment stammen

> Dazu eine 1:1 NAT, die die entsprechende externe IP auf die interne des Servers mappt.

extern (eine der 3 IPs) auf intern (im LAN/an extra Interface?)

> Eine Firewall-Regel soll den Traffic zu den Ports 80 und 443 zu der internen IP des Servers in der DMZ durchlassen.

Richtig, aber hast du auch eine angelegt?
Die Regel muss zudem von ANY nach <internerIP> gehen, NICHT die externe IP (eine der drei) die du bekommen hast. Der Filter greift erst NACH dem NATting und damit ist das Paket schon umgeschrieben, somit greift die Regel nur, wenn du auf Destination "interne IP" Port "HTTP/HTTPS" prüfst.

Gruß
Title: Re: 1:1 NAT zu Webserver in DMZ
Post by: lewald on August 01, 2018, 06:28:23 pm
Hallo,

ich habe das so gelöst.

1. Virtuelle Ip an WAN anlegen.
2. NAT Portweiterleitung an DMZ IP
3. Regel für DMZ im Lan anlegen.

Siehe Screenshots
Title: Re: 1:1 NAT zu Webserver in DMZ
Post by: JeGr on August 02, 2018, 01:42:29 pm
Portweiterleitungen sind aber nur eingehend. Will der Rechner aber mit dem Internet sprechen und soll dabei auch die IP behalten, ist 1:1 NAT sinnvoller wenn eh die komplette IP von extern auf intern gemappt werden soll. Gerade bei Mail aber auch bei anderen Diensten ist das dann durchaus relevant und wichtig.

Gruß
Title: Re: 1:1 NAT zu Webserver in DMZ
Post by: rade on August 03, 2018, 12:10:48 pm
Ich denke auch, dass 1:1 NAT hier der richtige Weg ist. Aber ich bekomme das nicht hin. Keine Verbindung vom Internet.
Frage 1: Soll die virtuelle IP die Subnetzmaske des ISP-Netzes (29) haben oder 32?
Frage 2: Was gehört in der 1:1-Konfiguration in "Quelle" und was in "Ziel".
Die Übersetzung der Maske verwirrt. Wenn ich die IP des Webservers in der DMZ bei "Quelle" eintrage, steht sie in der Liste unter "interne IP". Aber ist sie nicht das Ziel?
Title: Re: 1:1 NAT zu Webserver in DMZ
Post by: rade on August 03, 2018, 04:10:29 pm
Seltsam, jetzt habe ich es mal mit Lewalds Portweiterleitung versucht. Das funktioniert auch nicht.
Da das mit anderen Firewalls (Ipfire, Sophos UTM etc.) auf denselben Schnittstellen einwandfrei klappt, muss es noch eine Besonderheit mit OPNsense geben. Aber was könnte das sein?
OPNsense läuft übrigens als VM unter Proxmox, mit paravirtualisierten NICs.
Title: Re: 1:1 NAT zu Webserver in DMZ
Post by: JeGr on August 07, 2018, 01:54:05 pm
> Frage 1: Soll die virtuelle IP die Subnetzmaske des ISP-Netzes (29) haben oder 32?

die /29, da die IP als Alias auf die Schnittstelle gelegt wird. Sollte also die korrekte Maske haben

> Frage 2: Was gehört in der 1:1-Konfiguration in "Quelle" und was in "Ziel".

External network: hier deine Alias-IP eintragen (kein Netz, keine Netzmaske, kein /29)
Source: Hier deine interne IP eintragen (wie im Hilfetext zu entnehmen)
Destination: any (so lassen wie es ist - wie im Hilfetext steht hier meistens any. Du weißt es dann, wenn es nicht so ist. In allen anderen Fällen: any)