Hallo,
ich habe mir auf meinem Homeserver (Xen Dom0 mit einigen DomUs) mit StrongSwan und xl2tp einen Server für ein VPN mit L2TP over IPSec installiert. Auf dieses möchte ich von unterwegs mit meinem iPod Touch zugreifen. (Das ist auch der Grund für L2TP over IPSec, mit dem Laptop nutze ich OpenVPN)
Nun habe ich allerdings Probleme mit der Firewall. Meine Netzwerkkonfiguration sieht ungefähr so aus:
LAN <--Internes Gateway--> DMZ <--Äußeres Gateway--> Internet
Auf dem Internen Gateway läuft der VPN-Server, da er den Zugriff auf das LAN ermöglichen soll. Die Firewallregeln auf dem Inneren Gateway erlauben mir den Zugriff auf den VPN-Server, wenn ich mit meinem iPod oder vom Laptop aus direkt aus der DMZ die Verbingung aufbaue. Auch wenn ich mich über eine in die DMZ routende OpenVPN-Verbindung einwähle, wird die Verbindung erfolgreich aufgebaut. Sobald ich jedoch von Extern versuche, eine Verbindung aufzubauen, scheitert dies.
Hier nun die einzelnen Konfigurationen:
/etc/ipsec.conf (auf dem Internen Gatewy):
config setup nat_traversal=yes charonstart=yes plutostart=yes conn L2TP authby=psk pfs=no rekey=no type=tunnel esp=aes128-sha1 ike=aes128-sha-modp1024 left=%defaultroute leftprotoport=17/1701 right=%any rightprotoport=17/%any rightsubnetwithin=0.0.0.0/0 auto=add
iptables-Regeln für das VPN auf dem Internen Gateway:
iptables -A INPUT -p 50 -j ACCEPT iptables -A INPUT -p udp --dport 500 -j ACCEPT iptables -A INPUT -p udp --dport 1701 -j ACCEPT iptables -A INPUT -p udp --dport 4500 -j ACCEPT
iptables-Regeln für das VPN-Forwarding auf dem Äußeren Gateway:
# $IPT ist natürlich nur eine Variable mit dem iptables-Pfad $IPT -vt nat -I PREROUTING -p udp --dport 1701 -j DNAT --to 192.168.1.2 $IPT -vI FORWARD -d 192.168.1.2 -p udp --dport 1701 -j ACCEPT $IPT -vt nat -I PREROUTING -p udp --dport 500 -j DNAT --to 192.168.1.2 $IPT -vI FORWARD -d 192.168.1.2 -p udp --dport 500 -j ACCEPT $IPT -vt nat -I PREROUTING -p udp --dport 4500 -j DNAT --to 192.168.1.2 $IPT -vI FORWARD -d 192.168.1.2 -p udp --dport 4500 -j ACCEPT $IPT -vt nat -I PREROUTING -p 50 -j DNAT --to 192.168.1.2 $IPT -vI FORWARD -d 192.168.1.2 -p 50 -j ACCEPT
Kennt sich jemand mit den notwendingen Firewall-Regeln aus, um korrekt eine Verbindung über ein Gateway zu dem VPN aufbauen zu können? Mit der nat_traversal-Option sollte es doch schonmal kein Problem sein, wenn der Road Warrior hinter einer Firewall sitzt. Oder habe ich da etwas falsch verstanden?