Description:
In diesem Dokument wird beschrieben welche Konfigurations-Punkte überprüft und welche Traces erstellt werden können, wenn Portforwarding nicht funktioniert.
Requirements:
- LCOS as of version 8.50 (download latest version)
- LANtools as of version 8.50 (download latest version)
- SSH-Client für den Zugriff auf die Konsole (z.B. PuTTY)
- Preconfigured port forwarding
Scenario:
1. Der LANCOM Router stellt die Internet-Verbindung direkt her:
- Der Datenbank-Server im Zentralgebäude soll über die öffentliche IP-Adresse bzw. den öffentlichen DNS-Namen der Zentrale und dem TCP-Port 46509 angesprochen werden können.
- Dazu wurde im LANCOM Router in der Zentrale ein Port-Forwarding auf die lokale IP-Adresse des Datenbank-Servers (192.168.66.109) und den TCP-Port 46509 eingerichtet.
- Nach der Einrichtung kann der Datenbank-Server aber nicht unter der öffentlichen IP-Adresse (81.81.81.81:46509) bzw. dem öffentlichen DNS-Namen (z.B. zentrale.test.de:46509) erreicht werden.
2. Die Internet-Verbindung wird von einem weiteren Router vor dem LANCOM Router hergestellt:
- Vor dem Haupt-Router in der Zentrale (Router 1) wird ein weiterer Router (Router 2) zur Bereitstellung der Internet-Verbindung eingesetzt.
- Der Datenbank-Server im Zentralgebäude soll über die öffentliche IP-Adresse bzw. den öffentlichen DNS-Namen der Zentrale und dem TCP-Port 46509 angesprochen werden können.
- Dazu wurde im Router 1 ein Port-Forwarding auf die lokale IP-Adresse des Datenbank-Servers (192.168.66.109) und den TCP-Port 46509 eingerichtet.
- Nach der Einrichtung kann der Datenbank-Server aber nicht unter der öffentlichen IP-Adresse (81.81.81.81:46509) bzw. dem öffentlichen DNS-Namen (z.B. zentrale.test.de:46509) erreicht werden.
Vorgehensweise:
1. Allgemeine Punkte (Szenario 1 und 2):
1.1 Hardware-NAT deaktivieren:
Auf einigen Routern steht das Feature Hardware-NAT zur Verfügung. Dadurch ist es theoretisch möglich Daten über eine maskierte Internet-Verbindung (NAT) mit der ausgehandelten Port-Geschwindigkeit zu übertragen.
Da Hardware-NAT nicht korrekt arbeitet und im aktiven Zustand u.A. Portforwarding nicht funktioniert, empfiehlt LANCOM Systems Hardware-NAT grundsätzlich zu deaktivieren.
Folgende Geräte unterstützen die Funktion Hardware-NAT:
- 1781EF+
- 1781EW+
- 1781VA
- 1781VAW
- 1781VA-4G
- WLC-4006+
Sie finden das Feature unter Interfaces → LAN.
1.2 Prüfen des Default-Gateways auf dem Weiterleitungsziel:
Prüfen Sie auf dem Weiterleitungsziel im Netzwerk, ob das korrekte Default Gateway hinterlegt ist. Bei dem Default Gateway muss es sich um den LANCOM Router in der Zentrale (Szenario 1) bzw. den Router 1 (Szenario 2) handeln.
1.3 Überprüfen der Übereinstimmung des per DNS-Name aufgelösten IP-Adresse mit der tatsächlichen öffentlichen IP-Adresse:
Erfolgt der Zugriff über einen DNS-Namen, muss sichergestellt sein, dass die über den DNS-Namen aufgelöste IP-Adresse mit der tatsächlichen öffentlichen IP-Adresse übereinstimmt. Sollte dies nicht der Fall sein, prüfen Sie, ob das Portforwarding bei Eingabe der öffentlichen IP-Adresse funktioniert.
2. Portforwarding auf vorgeschaltetem LANCOM Router einrichten (Szenario 2):
Wird ein weiterer vorgeschalteter Router verwendet, müssen die gewünschten Ports auf diesem an den Haupt-Router weitergeleitet werden.
Info:
Sollte ein Router eines anderen Herstellers verwendet werden, erfragen Sie die Vorgehensweise bei dem jeweiligen Hersteller.
2.1 Öffnen Sie die Konfiguration des Router 2 in LANconfig und wechseln in das Menü IP Router → Masq. → Port forwarding table.
2.2 Erstellen Sie einen neuen Eintrag und passen folgende Parameter an (hier am Beispiel HTTPS):
- First port: Tragen Sie den Port ein, welcher weitergeleitet werden soll.
- Last port: Tragen Sie den Port ein, welcher weitergeleitet werden soll. Sollen mehrere Ports weitergeleitet werden, können Sie auch einen höheren Port angeben. Dann wird die gesamte Port-Range weitergeleitet.
- Intranet adress: Geben Sie die WAN-Adresse des Router 1 an (in diesem Beispiel die 10.0.0.254).
- Protocol: Wählen Sie im Dropdownmenü das Protokoll aus (TCP, UDP oder TCP + UDP).
3. Erstellen einer Firewall-Regel zum Erlauben der eingehenden Kommunikation:
Sofern eine Firewall-Regel vorhanden ist, welche den eingehenden Datenverkehr des im Portforwarding verwendeten Ports blockt, muss eine Ausnahme-Regel erstellt werden, welche die Kommunikation erlaubt.
3.1 Wechseln Sie in das Menü Firewall/QoS → IPv4 Rules → Rules.
3.2 Erstellen Sie eine neue Firewall-Regel und vergeben einen aussagekräftigen Namen.
3.3 Wechseln Sie in den Reiter Actions, markieren das Objekt REJECT und löschen dieses mit einem Klick auf Delete.
3.4 Klicken Sie auf Add und wählen das Objekt ACCEPT aus.
3.5 Wechseln Sie in den Reiter Stations, wählen die Option connections to the following stations und klicken auf Add → Add custom station.
3.6 Wählen Sie die Option An IP address or range of addresses und hinterlegen bei From IP address und To IP adress die IP-Adresse des Weiterleitungsziels (in diesem Beispiel die 192.168.66.109).
3.7 Wechseln Sie in den Reiter Services, wählen die Option the following protocols/target services und klicken auf Add → Add custom service.
3.8 Passen Sie folgende Parameter an:
- Wählen Sie das IP protocol aus (in diesem Beispiel TCP).
- Tragen Sie den/die verwendeten Port(s) ein (in diesem Beispiel der Port 46509).
3.9 Die Konfiguration der Firewall-Regel ist damit abgeschlossen. Schreiben Sie die Konfiguration in den Router zurück.
4. Trennen und Neuaufbau der Internet-Verbindung:
In einigen Fällen kann es erforderlich sein die Internet-Verbindung nach Einrichtung des Portforwarding zu trennen, damit diese neu aufgebaut wird. Dies kann etwa erforderlich sein, wenn ein Portforwarding durch einen VPN-Tunnel erfolgen soll.
Um die Internet-Verbindung zu trennen, gehen Sie wie folgt vor:
Verbinden Sie sich per LANmonitor mit dem Router, markieren die Internet-Verbindung, führen einen Rechtsklick aus und wählen im Kontextmenü Verbindung trennen aus.
Info:
Alternativ können Sie die Internet-Verbindung auch über die Konsole mit dem Befehl do Other/Manual-Dialing/Disconnect <Name der Internet-Gegenstelle> trennen (z.B. do Other/Manual-Dialing/Disconnect INTERNET).
5. Erstellen von Traces zur weiteren Analyse (Szenario 1 und 2):
Info:
Bei Szenario 2 und Verwendung zweier LANCOM Router muss der Trace auf beiden Routern erstellt werden.
Mit dem LANtracer (in LANconfig) oder per Konsole können Sie einen IP-Router Trace durchführen, welcher auf die zu erreichende lokale IP-Adresse (in diesem Beispiel 192.168.66.109) und den Port (in diesem Beispiel 46509) gefiltert werden kann:
Trace-Konfiguration für den LANtracer:
Die Trace-Konfiguration enthält den IP-Router und den Firewall Trace. Diese sind bereits mit dem Filter-Parameter "port: 46509" auf den Port 46509 gefiltert. Ändern Sie diesen mit einem Texteditor entsprechend im Vorfeld ab.
Im Folgenden wird die Erstellung der Traces über die Konsole beschrieben:
5.1 Verbinden Sie sich mit der Konsole und geben den Befehl tr # ip-router @ <IP-Adresse> +"port: <Port>" ein (z.B. tr # ip-router @ 192.168.66.109 +"port: 46509").
Info:
In Szenario 2 muss auf dem Router 2 der IP-Router Trace auf die IP-Adresse des Routers 1 im Transfernetz gefiltert werden.
Wichtig:
Durch ein Leerzeichen voneinander getrennte Such-Parameter müssen durch Anführungszeichen zusammengefasst werden (z.B. "port: 46509"), da ansonsten eine "Oder-Verknüpfung" greift und die Trace-Zeile ausgegeben wird, wenn einer der Parameter enthalten ist.
5.2 Führen Sie über das Internet einen Zugriff auf die öffentliche IP-Adresse (81.81.81.81:46509) bzw. den öffentlichen DNS-Namen (z.B. zentrale.test.de:46509) durch.
Wenn das Port-Forwarding nicht greift, bleibt der Trace leer (siehe Abbildung).
5.3 Eine weitere Fehlerquelle ist, dass das Port-Forwarding zwar greift, die Pakete auch im Router vom WAN ins LAN transportiert werden, diese aber vom Empfänger (z.B. dem Server) unbeantwortet bleiben.
Ein Grund hierfür könnte z.B. sein, dass beim Port-Forwarding die falsche lokale IP-Adresse angegeben wurde, oder ein Fehler in Ihrer internen LAN-Struktur vorliegt.
In diesem Fall kann ein IP-Router Trace mit dem Befehl tr # ip-router @ "port: <port>" (z.B. tr # ip-router @ "port: 46509") durchgeführt werden, der folgendes Ergebnis liefern würde (siehe Abbildung).
Es sind nur SYN-Pakete zu sehen (zu erkennen am Flags: S), die vom WAN (Gegenstelle NETAACHEN) ins LAN (INTRANET) transportiert, jedoch nicht vom Empfänger mit einem SYN/ACK-Paket beantwortet werden.
5.4 Wird die Kommunikation durch eine Firewall-Regel geblockt, wird im IP-Router Trace die Meldung Filter (Port) ausgegeben.
In diesem Fall muss ein Firewall Trace erstellt werden, um zu prüfen, welche Firewall-Regel die Kommunikation blockt.
Führen Sie dazu den Befehl tr # firewall @ "port: <port>" aus (z.B. tr # firewall @ "port: 46509").
In diesem Fall wird die Kommunikation durch die Firewall-Regel DENY-ALL geblockt.
Info:
In diesem Fall muss die eingehende Kommunikation über eine Ausnahme-Regel in der Firewall erlaubt werden (siehe Schritt 3.).
5.5 Wenn das Port-Forwarding vollständig funktionsfähig ist, sehen Sie im IP-Router Trace u.A. den stattfindenden TCP-Handshake:
- Der anfragende Client sendet ein SYN-Paket (zu sehen am Flags: S) mit einer Sequenznummer an den Destination-Port (hier 46509).
- Ist der Port geöffnet, bestätigt der Server den Erhalt des ersten SYN-Pakets und stimmt dem Verbindungsaufbau zu, indem er ein SYN/ACK-Paket (zu erkennen am Flag: SA) zurückschickt.
- Der Client bestätigt zuletzt den Erhalt des SYN/ACK-Pakets durch das Senden eines eigenen ACK-Pakets (zu erkennen am Flags: A) mit der Sequenznummer.