ich stelle gerade folgenden Setup zusammen: Ein LAN erhält die Verbindung normalerweise über ein Masqerade-NAT am Gateway. Nun soll über ein potenziell unsicheres Netz eine Backupleitung aufgestellt werden, sie soll über OpenVPN zu einem externen Server getunnelt werden. Da es sich um eine Fallstudie handelt, ist die OpenVPN-Konfiguration ohne perfect forward security, also mit statischen Schlüsseln und sehr simpel ausgelegt.
OpenVPN-Konfiguration: $extern - externe IP des Servers, $tlokal - Tunnel-IP lokal, $textern - Tunnel-IP des Gateways.
Code: Alles auswählen
# Client
remote $extern
dev tun
ifconfig $tlokal $textern
secret static.key
# Server
dev tun
ifconfig $textern $tlokal
secret static.key
Code: Alles auswählen
iptables -t nat -A POSTROUTING -s $PRIVATE -o eth0 -j MASQUERADE
Die Gateway-Firewall spannt im Normalfall das Masq-NAT auf:
Code: Alles auswählen
iptables -t nat -A POSTROUTING -s $private -d 0/0 -o eth0 -j MASQUERADE
Beim VPN kommt dieselbe Zeile zum Einsatz, allerdings mit tun0 anstatt eth0, da alles aus dem Client-Netz über das VPN geleitet werden soll.
Die Backupleitung steht in Form des Modems ppp0 zur Verfügung. Auch hier ändert sich nicht viel am Einzeiler, ppp0 anstatt eth0.
Bis hier hin verhält sich die Sache nachvollziehbar und wie geplant. Die drei Zweige funktionieren für sich, VPN über eth0 geht auch (warum?). Wo ich nun Schwierigkeiten habe, ist das korrekte Setzen der Standardgateways. Meine Überlegung ist folgende: Das VPN muss physikalisch über ppp0, also muss auch ein Standardgateway dort hin gesetzt sein. Andererseits zeigt beim VPN-Setup über eth0 der Standardgateway auf tun0 bzw. den Tunnelpartner $textern - und der nomaler Standardgateway über eth0 zum WAN-Router müsste auch noch da sein.
Beim VPN-ppp0-Setup müssten also beide Gateways gesetzt werden, mit der Wirkung, dass niemand mehr funken kann und ein tcpdump -i tun0 nichts zutage fördert. Wenn nur der nach ppp0 steht, darf der Gateway, bei nur tun0 keiner.
Woran klemmt es?
Gruß Cae