ZAN Roadwarrior Konfiguration
Einsatzgebiet
Auf Laptops/PDA/Einzelrechnern bietet sich die Konfiguration von OpenVPN als ZAN Roadwarrior an.
Hier hat sich folgende Konfiguration als Ausgangsbasis bewährt:
Hinweis: neben dem openvpn-Paket muss auch noch resolvconf installiert sein, sonst funktioniert das automatische Update der resolv.conf nicht!
proto udp remote 176.9.120.149 4444 resolv-retry infinite nobind dev tap ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/vpn-travelling-stesie.crt key /etc/openvpn/keys/vpn-travelling-stesie.nopass.key port 4444 comp-lzo persist-tun persist-key verb 3 float tun-mtu 1500 fragment 1300 mssfix keepalive 10 120 redirect-gateway # statische ip konfiguration: ifconfig 192.168.99.2 255.255.0.0 #Die folgende Zeile bitte nur entkommentieren wenn der ganze Traffic durch das ZAN soll! #route-gateway 192.168.97.1 #automatisches resolv.conf update script-security 2 dhcp-option DNS 192.168.97.1 dhcp-option DOMAIN zo up /etc/openvpn/update-resolv-conf # Achtung, auf n900 mit Jochens Spezial-Script: up /etc/openvpn/maemo-update-resolv-conf down /etc/openvpn/update-resolv-conf # Achtung, auf n900 mit Jochens Spezial-Script: down /etc/openvpn/maemo-update-resolv-conf #Alles weitere hier: https://www.zerties.org/index.php/Voip_over_zan # das fuer openvpn 2.1 aktivieren: tls-client # das fuer openvpn 2.0 verwenden: #tls-remote spielplatz.metafnord.de
... obiges konfiguriert eine statische IP-Adresse. Alternativ kann der IP/Routing-Part auch weg gelassen werden und via DHCP eine IP bezogen werden. Das hat aber den Nachteil, dass man sich um's Routing selbst kuemmern muss.
Gestartet wird das Ganze dann als root mit dem Befehl
openvpn --config /etc/openvpn/$configfile
Automatischer Start
Falls nicht anders konfiguriert startet das script /etc/init.d/openvpn beim Systemstart alle Tunnels, die durch filenamen mit der Endung .conf in /etc/openvpn hinterlegt sind.
Ausnahmen definieren
Sollen Pakete in ein anderes lokales Subnetz und nicht über den openvpn-Tunnel, so legt man im Script /etc/openvpn/update-resolv-conf noch jeweils am Ende von des up)- und down)-Zweiges folgende Zeilen an:
up) for optionname in ${!foreign_option_*} ; do option="${!optionname}" [...] echo -n "$R" | /sbin/resolvconf -a "${dev}.inet" #for openvpn-WLAN via Fritzbox- do not route packets for 192.168.87.0/24 via ZAN /bin/ip r a 192.168.87.0/24 via 192.168.1.254 ;;
Das /bin/ip r a 192.168.87.0/24 via 192.168.1.254 bewirkt hier im Beispiel, dass alle Pakete für das 87er-Subnetz nicht über das ZAN sondern über das lokale Gateway (hier eine Fritzbox) laufen.
down) /sbin/resolvconf -d "${dev}.inet" #remove route for 192.168.87.0/24-packets /bin/ip r d 192.168.87.0/24 via 192.168.1.254 ;; esac
Der Ordnung halber nehmen wir die Route beim Abbau des Tunnels wieder heraus (:wink:)