Trouble Routing
Aus OpenVPN Wiki
Zugriffe auf das Servernetzwerk nicht möglich
Die folgenden Informationen gelten in den meisten Fällen für die Serverseite, sowohl unter Linux als auch unter Windows.
Fehler: Der Server pusht keine Route an den Client.
Lösung: Mit der Direktive push "route 192.168.0.0 255.255.255.0" in der Serverkonfiguration den Client über das Servernetzwerk informieren. Damit der Client diese Information annimmt, muss pull in die Client-config eingefügt werden!
Fehler: Die Route wurde korrekt gepusht, aber es funktionieren keine Dienste im Servernetzwerk.
Lösung: Ist IP-Forward aktiviert ? Unter Linux aktiviert man die Weiterleitung von IP Paketen mit dem Befehl
echo "1" > /proc/sys/net/ipv4/ip_forward(Achtung: Nach einem Neustart ist IP-Forwarding wieder deaktiviert). Um IP-Forwading dauerhaft unter Linux zu aktivieren, folgende Zeile in die Datei /etc/sysctl.conf hinzufügen
net.ipv4.ip_forward = 1
Unter Windows aktiviert man die Weiterleitung in der Registry unter folgendem Schlüssel
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Tcpip\ Parameters
Hier finden Sie den Eintrag "IPEnableRouter" als Datentyp REG_DWORD. Setzen Sie den Wert auf 1.
Oder blockiert möglicherweise eine Firewall ? Unter Linux kann man die iptables-Firewall mit diesen Befehlen für tun freischalten:
iptables -A FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -d 192.168.0.0/24 -j ACCEPT iptables -A FORWARD -i eth0 -o tun0 -s 10.8.0.0/24 -d 192.168.0.0/24 -j ACCEPT
eth0... interne Netzwerkkarte, Netzwerkadresse: 192.168.0.0/24
tun0... von OpenVPN verwendetes TUN-Device, virtuelle Netzwerkadresse: 10.8.0.0/24
Achtung: Dies ist lediglich zum Troubleshooting, daher sollte die Firewall vor dem Echtbetrieb neu konfiguriert werden.
Fehler: Trotz oben angeführter Aktionen ist ein Ping noch immer negativ.
Lösung: In den meisten Fällen fehlt eine Route vom LAN-Netzwerk zum VPN-Netzwerk. Es gibt mehrere Varianten um dieses Problem zu lösen:
- (+) Hinzufügen einer Route im Standardgateway des Netzwerkes: Wenn ein Hardwarerouter oder eine Linuxbox im Einsatz ist um die Internetverbindung herzustellen und die LAN-PCs dieses Gerät als Standardgateway verwenden, kann man die Route dort setzen. Dazu muss folgende Route auf dem Router hinzugefügt werden:
10.8.0.0/24 -> GW: 192.168.0.100 (<-- VPN Server LAN-IP)
- (+) Setzen des VPN-Servers als Standardgateway bei den LAN-PCs. Selbsterklärend hoffe ich. :)
- (~) Setzen einer Route fürs VPN-Netzwerk auf allen LAN-PC: Die oben beschriebene Route statt am Standardgateway, auf den einzelnen Rechnern einrichten. Unter Windows geschieht dies in der Eingabeaufforderung mit folgendem Befehl:
route -p add 10.8.0.0 mask 255.255.255.0 (<-- VPN Server LAN-IP) metric 1
- (+) Einsatz von NAT zwischen VPN-Subnet und LAN: Auf allen IP-Paketen aus dem VPN-Subnet wird die IP auf die LAN-IP des VPN-Servers umgeschrieben. Für die restlichen Hosts im LAN sieht es so aus als ob alle Anfragen vom VPN-Server selbst kommen. Also werden auch alle Antworten an den VPN-Server geschickt. Hier sorgt das NAT dann dafür, dass die Pakete an den richtigen VPN-Client weitergeleitet werden.
