hi, ich hatte heute mal Zeit mich näher mit dem OpenVPN ipv6 payload Patch zu beschäftigen.
Vom Gert Döring findet man entsprechende Debian/Ubuntu Pakete(*) welche schon einen Teil vom Patch enthalten. Hat man das eingespielt, kann man vom Server aus dem Client die entsprechende IP Adresse verpassen lassen. Das funktioniert aber nur dann (laut Doku), wenn man zzgl. einen IPv4 Pool definiert hat. Ansonsten startet der OpenVPN Server nicht. Auch hier gibt es gleich eine kleine Einschränkung: Das klappt nur mit "dev tun" auf beiden Seiten. Benötigt man jedoch "dev tap", dann hört bei dieser Version schon wieder auf. Hier muss man sich die Quellen direkt aus dem Git. Ist das Geschehen, kann man nun endlich auch über ein "tap" Interface dem Client sagen, welche IPV6 Addresse er bekommen soll. Allerdings wohl noch nicht unter allen Betriebssystemen. Tunnelblick unter OSX hat diesen Patch auf jedenfall schon einmal nicht drin. Ein weiterer Stolperfuß: Wer Routen festlegen muss, hat an dieser Stelle leider auch Pech. Denn die funktionieren leider nur eingeschränkt. Ich müsste z.B. das Standardgateway auf eine andere IP Adresse legen, als welches OpenVPN normalerweise darstellt. Es könnte aber sein, dass dieses Problem nur für mich gilt. Wenn das OpenVPN Interface (tap/tun) euer GW ist, seid ihr aus dem Schneider. Vom Grundsätzlichen her kann man sagen, es funktioniert. Daher meine Server Config, welche für die Git kompilierte Version gilt: ========= # Wenn ein Script gestartet werden muss script-security 2 user openvpn group openvpn tls-server port 1194 proto udp # Layer 2 dev tap0 #dev tun0 #tun-ipv6 # Da wird meine Bridge gebaut + Ip Adresse gesetzt up /etc/openvpn/ipv6-server.up #Brauchen wir für ipv6, sonst startet Server nicht server 192.168.55.0 255.255.255.0 ifconfig-pool-persist ipp.txt # Nur einschalten, wenn ihr jeden ipv4 Verkehr da durch schicken wollt #push "redirect-gateway def1 bypass-dhcp" # Wo soll OpenVPN Clientspezifische Konfigurationen suchen client-config-dir /etc/openvpn/ccd.d #client-to-client # Auf irgendeiner Webseite mal eben generiert ** # fd8b:97b6:6b35::/48 # Eignet sich zum testen, aber bitte was anderes nehmen ;-) # Es darf nicht kleiner sein, als /64 server-ipv6 fd8b:97b6:1::/64 #push "route-ipv6 fd8b:97b6:6b35::/64" # das klappt push "route-ipv6 2b42:5c8:130:6021::81/128" # das auch (Standard GW ist dann dev tap/tun auf dem Client) push "route-ipv6 ::/0" # Das geht garnicht, noch nicht implementiert # push "route-ipv6-gateway 2b42:5c8:130:6021::81" # Schlüssel/key kram ca keys/ca.crt cert keys/vpn.crt key keys/vpn.key dh keys/dh1024.pem tls-auth keys/ta.key 0 tls-server comp-lzo # Standard zeugs persist-key persist-tun ping-restart 45 ping-timer-rem =============================== Meine ccd.d/client Datei. Name der Datei muss dem entsprechen, was man im "common name/your name" beim erstellen des Zertifikats angegeben hat ifconfig-ipv6-push 2b42:5c8:130:6021::83/128 ============================== Auf der Clientseite habe ich eine Standard Konfiguration, wie man sie im examples-config Ordner findet. Also wie gesagt, die wirklich wichtigen Dinge funktionieren, nur wer mehr will, muss sich gedulden, bis Gert Döring Zeit hat, den Rest zu implementieren. * http://www.portunity.de/access/wiki/OpenVPN-Tunnel_%28IPv6%29_unter_Debian-Linux_einrichten_%28Anleitung%29 ** http://www.sixxs.net/tools/grh/ula/ -- ---------------------------------------------------------------------------- PUG - Penguin User Group Wiesbaden - http://www.pug.org

