Home
Help
Search
Login
Register
OPNsense Forum
»
International Forums
»
German - Deutsch
»
Probleme mit NAT
« previous
next »
Print
Pages: [
1
]
Author
Topic: Probleme mit NAT (Read 1864 times)
Noob13
Newbie
Posts: 1
Karma: 0
Probleme mit NAT
«
on:
May 17, 2020, 11:06:36 am »
Guten Tag
Zurzeit bin ich dabei ein kleines Testprojekt aufzubauen. Das Setup hierfür sieht wie folgt aus, ich habe einen Server, mit vier Ports, auf dem OPNSense läuft. An diesem habe ich drei Clients angeschlossen, welche alle unterschiedliche Subnetze repräsentieren. Diese habe ich wie folgt an den OPNSense Server angeschlossen:
igb0 = WAN (95.xxx.xxx.xxx/28)
igb1 = LAN (21.xxx.xxx.xxx/24)
igb2 = LAN_2 (10.xxx.xxx.xxx/24)
Auf dem Rechner welcher das WAN abbildet habe ich einen Webserver und einen FTP Server laufen, um zu testen, ob die Firewall auch wie gewünscht funktioniert. Momentan läuft alles noch in einem abgeschlossen System, also ohne Zugang zum Internet oder ähnliches, lediglich die 4 Geräte stellen die Infrastruktur.
Problembeschreibung
Nun habe ich folgendes Problem das NAT funktioniert nicht wie erwartet. Mit den Regeln (ich habe vor allem floating und NAT Regeln Port Forward Regeln erstellt) die ich erstellt habe und den. Ich habe versucht eine Verbindung zu dem FTP Server aufzubauen, allerdings nicht erfolgreich. Nach durchschauen einiger Log Daten der OPNSense, habe ich festgestellt, dass die Anfrage durchkommt, allerdings die Antwort nicht durchzukommen scheint, also habe ich noch eine Regel hinzugefügt welche den Rückweg erlaubt. Danach hat es wie gewünscht funktioniert.
Allerdings hätte ich gerne eine stateful Lösung, also dass ich nur eine Regel für den Ausgang brauche (da ich so wenig Regeln wie möglich erstellen möchte um die Übersicht zu verbessern und außerdem muss ich ja für den Rückweg die ganzen dynamischen Ports in die Regel aufnehmen, was nicht sinnvoll ist für eine Firewall) und sich die Firewall, dann quasi der Client hat eine Anfrage geschickt, die Antwort lasse ich also auch wieder durch. Dies funktioniert bei mir aber scheinbar nicht.
Ich habe unter den Firewall -> Settings -> general bereits folgende Einstellungen vorgenommen (einen Haken gesetzt):
reflection for Port forwarding
automatic outbound NAT reflection
use sticky connections
use shared forwarding
bypass firewall rules on the same interface
Zudem habe ich noch unter outbound NAT die Option Hybrid angewählt. Allerdings werden bei mir keine automatischen Regeln erstellt, soweit ich das verstanden überwacht die Firewall ob es eine Verbindung mit dem Internet gibt und wenn nichts online ist werden auch keine outbound Regeln erstellt, dies kann man aber angeblich irgendwo ausstellen. Die Frage ist wo?
Zusammenfassung
:
Wie kann ich das NAT so einstellen, dass die Antworten auch durchkommen ohne das eine zweite Regel notwendig ist.
Wo kann ich die Interface Überwachung ausstellen, so dass automatic outbound rules erstellt werden?
Vielen Dank im voraus für Hilfe und Antworten
Logged
JeGr
Hero Member
Posts: 1945
Karma: 227
old man standing
Re: Probleme mit NAT
«
Reply #1 on:
May 25, 2020, 11:44:06 am »
Hallo erstmal
> Diese habe ich wie folgt an den OPNSense Server angeschlossen: (...)
Kurze Nachfrage: Der WAN Client hat offensichtlich öffentliche IPs. Das LAN ebenfalls? Oder wie ist die 21.xxx zu erklären?
> Auf dem Rechner welcher das WAN abbildet habe ich einen Webserver und einen FTP Server laufen, um zu testen, ob die Firewall auch wie gewünscht funktioniert.
Du willst also testen, ob abgehend Internet mittels HTTP/S und FTP läuft (warum FTP? Ist das dringend erforderlich? Ich würde heute eher SFTP (mittels SSH) oder wenigstens FTP/S empfehlen).
> Nun habe ich folgendes Problem das NAT funktioniert nicht wie erwartet. Mit den Regeln (ich habe vor allem floating und NAT Regeln Port Forward Regeln erstellt) die ich erstellt habe und den
Und warum hast du überhaupt "nur" Floating Regeln erstellt? Der Normalfall sind Interface Regeln, nicht Floating. Also warum nutzt du explizit nicht den "Standard", sondern machst gleich "Expertenregeln"?
> Ich habe versucht eine Verbindung zu dem FTP Server aufzubauen, allerdings nicht erfolgreich. Nach durchschauen einiger Log Daten der OPNSense, habe ich festgestellt, dass die Anfrage durchkommt, allerdings die Antwort nicht durchzukommen scheint, also habe ich noch eine Regel hinzugefügt welche den Rückweg erlaubt. Danach hat es wie gewünscht funktioniert.
Du hast also nicht die Standardregeln genutzt und fragst dich dann warum es nicht funktioniert. Hmm. Zudem testest du mit FTP (in welcher Einstellung? Aktiv? Passiv?! Sowas ist relevant!) was so ziemlich das mieseste Protokoll dafür ist, weil es im aktiven Modus einen _neuen_ Datenchannel VON extern zu dir aufbaut - was so ziemlich der Grund ist, warum aktives FTP in fast jedem NAT Szenario nicht klappt und deshalb passives FTP "erfunden" werden musste - bis es dann später FTP Proxies oder Helper gab. Dass du für active FTP also den "Rückweg" aufmachen musst ist klar und "Schuld" des Protokolls oder deiner Nutzung (würdest du passives FTP nutzen, würden nur Verbindungen von innen nach außen/WAN aufgebaut werden).
> Allerdings hätte ich gerne eine stateful Lösung, also dass ich nur eine Regel für den Ausgang brauche (da ich so wenig Regeln wie möglich erstellen möchte um die Übersicht zu verbessern und außerdem muss ich ja für den Rückweg die ganzen dynamischen Ports in die Regel aufnehmen, was nicht sinnvoll ist für eine Firewall) und sich die Firewall, dann quasi der Client hat eine Anfrage geschickt, die Antwort lasse ich also auch wieder durch. Dies funktioniert bei mir aber scheinbar nicht.
Da verstehst du leider weder das FTP Protokoll noch was "Stateful" heißt. Stateful heißt lediglich, dass du bspw. bei einer Verbindung via HTTPS nur eine Regel für _ausgehenden_ Traffic auf Port 443 anlegen musst. Bspw. auf dem LAN eingehend (weil der Traffic dort zuerst ankommt) nach ANY Port HTTPS (und technisch ebenfalls noch auf dem WAN ausgehend nach Any Port 443, allerdings wird diese Regel automatisch von der Sense erzeugt). Du musst aber NICHT eine Regel auf dem WAN eingehend(!) anlegen, dass der Rücktraffic bspw. von ANY Port 443 nach Innen wieder erlaubt wird. DAS ist Stateful Inspection. Die Firewall legt bspw. bei einem TCP über das S (Syn) Package der Verbindung einen State an, der dann in der State Table landet und jedes nachfolgende ein und ausgehende Paket wird gegen die State Table gematcht, ob die Verbindung noch in Use ist und entsprechend erlaubt ist.
Das muss NICHT angemacht werden, das ist Grundfunktion und immer gegeben.
Was du (nicht korrekt) testest ist ein Protokoll, welches NACH der eingehenden Verbindung eine NEUE Verbindung abgehend erstellt (active FTP). Das ist eine NEUE Verbindung die NICHTS mit dem ursprünglichen State zu tun hat, sondern eine neue eingehende Verbindung auf dem WAN ist. Deshalb ist FTP bei allen, die Security/Firewalling machen so unbeliebt, weil Active FTP häßlich ist (eingehende Verbindungen random erlauben? Nope!) und passive FTP gern mal Problemchen gemacht hat, wenn der Server Admin seinen Job nicht kann (da passive FTP auf dem Zielserver sauber aufgesetzt sein muss). Daher nutzt man heute lieber SFTP, da das per SSH nur abgehend TCP/22 auf dem Zielserver braucht und sonst nichts.
Ergo Zu 1: Gar nicht, da dein Test Case falsch ist. NAT seitig muss nichts eingestellt werden.
Zu 2.: Ebenfalls nichts, da das alles bereits geschieht.
Außerdem solltest du sinnvollerweise Interface Regeln statt Floatings benutzen, da das weitaus weniger konfus wird, was wo wie wohin erlaubt ist.
Wenn unbedingt mit FTP gespielt werden muss: Es gibt einen FTP Helper unter "System > Firmware > Plugins" das du unter "os-ftp-proxy" findest. Nach Installation taucht das unter "Services > FTP Proxy" auf. Damit kann ein FTP Proxy eingerichtet werden, der sich dann um active FTP Verbindungen kümmert. Wie genau der eingerichtet wird, müsste ich jetzt auch nochmals nachschlagen, das sollte sich aber finden lassen
Im Prinzip übernimmt er den Job, die Verbindung aufzubauen und wartet dann auf die eingehende Verbindung vom Zielserver um diese dann über die NAT Grenze hinweg wieder zum Client zuzustellen ohne dass man eine Regel auf dem WAN braucht und Gott und der Welt seine Firewall öffnen muss.
Einfacher wäre aber schlichtweg passive FTP zu nutzen (wenn schon FTP) oder ganz auf FTP zu verzichten und auf SFTP (SSH) umzusatteln.
Grüße
Logged
"It doesn't work!" is no valid error description!
- Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense!
If you're interested in german-speaking business support, feel free to reach out via PM.
Print
Pages: [
1
]
« previous
next »
OPNsense Forum
»
International Forums
»
German - Deutsch
»
Probleme mit NAT