VPN über IPv6 realisieren

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
runmatze
Beiträge: 22
Registriert: 05.01.2013 16:59:59

VPN über IPv6 realisieren

Beitrag von runmatze » 25.01.2016 18:58:20

Hallo, ich bin gerade dabei mich in VPN einzuarbeiten und möchte erstmal mit der einfachen P2P anfangen, aber alles über IPv6. Dazu habe ich versucht das Server-Scripts für IPv6 anzupassen.

VON:

Code: Alles auswählen

dev tun
ifconfig 10.8.0.1 10.8.0.2
secret /etc/openvpn/static.key
NACH:

Code: Alles auswählen

proto udp6
dev tun
ifconfig-ipv6 2001:db8:123::1 2001:db8:123::2
secret /etc/openvpn/static.key
Nach dem Start wartet der Dienst auch. Siehe hier

Code: Alles auswählen

root@server:/etc/openvpn# openvpn --config /etc/openvpn/tun0.conf
Mon Jan 25 18:47:33 2016 OpenVPN 2.3.4 i586-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec  1 2014
Mon Jan 25 18:47:33 2016 library versions: OpenSSL 1.0.1k 8 Jan 2015, LZO 2.08
Mon Jan 25 18:47:33 2016 TUN/TAP device tun0 opened
Mon Jan 25 18:47:33 2016 UDPv6 link local (bound): [undef]
Mon Jan 25 18:47:33 2016 UDPv6 link remote: [undef]
ABER, ein

Code: Alles auswählen

ip a s
zeigt

Code: Alles auswählen

3: tun0: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 100
    link/none
auch ein

Code: Alles auswählen

ip link set tun0 up
zeigt kein IPv6-Adresse

Code: Alles auswählen

3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none

Daher die bescheidende Frage, wie das Script verändert werden muß. Danke Matthias

whiizy
Beiträge: 663
Registriert: 23.07.2011 22:09:37

Re: VPN über IPv6 realisieren

Beitrag von whiizy » 09.04.2017 23:43:49

Ist ja schon etwas her, aber ich knabber gerade tatsächlich an demselben Problem:

Der Connect über ipv6 und den static.key zur Gegenstelle wird bei mir ebenfalls noch erfolgreich aufgebaut, aber die lokale ipv6-IP für das Transitnetz wird dann leider nicht auf das tun0 beaufschlagt. Leider entsteht dabei auch keine Fehlermeldung, die den Grund dafür nennt. Der openvpn Prozess verharrt einfach bei ...

Code: Alles auswählen

# openvpn --config /etc/openvpn/server.conf 
Sun Apr  9 22:10:35 2017 OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Dec  2 2014
Sun Apr  9 22:10:35 2017 TUN/TAP device tun0 opened
Sun Apr  9 22:10:35 2017 UDPv6 link local (bound): [undef]
Sun Apr  9 22:10:35 2017 UDPv6 link remote: [undef]
Mit einer analogen Vergleichskonfig unter IPv4 hingegen wird bei mir an dieser Stelle erfolgreich die Transit-IP (v4) aufgelegt (welche am Ende schließlich zwingend für das Routing über einen Tunnel ist).

Die ipv6 server.conf ist bei mir noch bewusst rudimentär gehalten, da ich mich herantasten will:

Code: Alles auswählen

dev tun
proto udp6
secret static.key
tun-ipv6
ifconfig-ipv6 2001:123:1234::1 2001:123:1234::2
Kommt mir wie ein Bug in der Option ifconfig-ipv6 vor, aber man findet kaum etwas zu dieser Thematik im Netz.

Grundlage für meine Versuche ist zunächst die Seite https://community.openvpn.net/openvpn/wiki/IPv6 (welche aber nicht besonders deutlich ist, wie ich finde).

Bisher habe ich noch keine Quelle gefunden, die zumindest mal *einen* erfolgreichen Fall dokumentiert hätte ...

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von schorsch_76 » 10.04.2017 08:04:58

Ich habe seit langem auch Debianopenvpn im Einsatz. Ich liebäugle jedoch mit Debianstrongswan beim nächsten upgrade. Hier gibt es auf deren Homepage schöne Beispiele welche auch immer getestet werden.

ipv6 hat ja IPsec schon an Board ;)

https://wiki.strongswan.org/projects/st ... umentation
(weiter unten, Configuration Examples)

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von r4pt0r » 10.04.2017 09:44:31

Ich nutze seit langem Debiantinc [1] für geroutete (layer 3) und geswitchte (layer2) VPN Verbindungen zwischen mehreren Standorten.
Zwischen den Standorten mit IPv6 wird dieses auch genutzt - für die Standorte mit fixer IP wurden A/AAAA records angelegt, die Standorte mit dynamischer IP initiieren die Verbindung über das jeweils verfügbare Protokoll.

Das IMHO angenehme gegenüber anderen VPN-Lösungen ist das vollwertige und wirklich funktionierende meshing und die einfache Konfiguration der hosts. Jeder host hat zwar eine eigene tinc.conf, die host-konfigurationen mit routen/subnetzen/kompression/framegrößen etc werden auf alle teilnehmer identisch verteilt. Lässt sich also ganz simpel z.b. aus einem git-repo auschecken oder per ansible verteilen.

Selbst wenn man das meshing nicht benötigt ist tinc immer noch schneller/einfacher aufgesetzt als OpenVPN...

[1] http://www.tinc-vpn.org

whiizy
Beiträge: 663
Registriert: 23.07.2011 22:09:37

Re: VPN über IPv6 realisieren

Beitrag von whiizy » 10.04.2017 10:30:55

schorsch_76 hat geschrieben:Ich habe seit langem auch Debianopenvpn im Einsatz.
Auch im Einsatz, um IPv6 über einen IPv6-Tunnel zu schicken?
Openvpn mit IPv4 lief bei mir in der Vergangenheit auch immer sehr gut.

Sollte openvpn mit ifconfig-ipv6 und static.key tatsächlich noch nicht ausgereift sein, wird es wohl auf die Alternativen Debiantinc oder Debianstrongswan bei mir hinauslaufen. In der Reihenfolge, weil mir tinc immer schon sehr sympathisch war und ich erste positive Erfahrungen damit habe.

DebianOpenVPN wollte ich eigentlich zunächst den Vorzug geben, weil auf die getunnelten IPv6-Daten dann mit einer breiten Palette an clients zugegriffen werden kann, bis hin zu Smartphone- und Networkmanager-Applikationen.

Vielen Dank schon für eure Hinweise auf mögliche Alternativen!
LG

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von schorsch_76 » 10.04.2017 10:49:25

@whiizy: Bisher nur ipv4. Beim Update wird es dann ipv6 + Debianstrongswan werden ;)

TomL

Re: VPN über IPv6 realisieren

Beitrag von TomL » 10.04.2017 15:40:07

Haben die OpenvPN-Alternativen wie tinc und strongswan die gleichen Fähigkeiten wie OpenVPN? Zum Beispiel vom Roadwarrior einloggen ins heimische Netz und auf die Fileserver zugreifen? Oder Drucken? Oder bei unsicheren Hotspots über den heimischen Router surfen und z.B. die Online-Postfächer ansehen? Und das alles von Windows-Clients, von Androids und natürlich auch von Linux-Mobilkisten? Und Login und Traffic ist dabei immer ebenfalls durch Zertifikat und Key geschützt?

Gibt es vielleicht sogar "Fähigkeiten", die über diejenigen von OpenVPN hinausgehen? Kann man Vor- und Nachteile in Stichworten zusammenfassen? Ich nutze OpenVPN seit vielen Jahren.... aber das ist natürlich nicht in Beton gegossen.... wenns vielleicht was besseres mit gleichen oder mehr Fähigkeiten gibt, würde ich auch sofort wechseln.

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von schorsch_76 » 10.04.2017 15:46:57

Strongswan nutzt IPSec das im Kernel implementiert ist und ist auf Layer 2 angesiedelt. Openvpn setzt auf Layer 3 (tcp/udp) auf.

Im obigen Link zur Strongswan Doku sind sehr viele Beispiele aufgeführt welche auch automatisiert getestet werden.

Hier Beispiele:
https://wiki.strongswan.org/projects/st ... v2Examples

Hier alle automatisierten Tests
https://www.strongswan.org/testing/testresults/ikev2/

Wenn das Netzwerk die Route hat und der Traffic am Ziel ankommt, geht alles wie immer unabhängig von strongwan, tinc oder openvpn. ;)

Edit: Strongswan geht auch mit Android und Windows. Hier gibt es eine App (kostenlos und ohne Werbung) im PlayStore ;) Auch Windows wird unterstützt (>= Win7).
https://wiki.strongswan.org/projects/1/wiki/Windows7

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von r4pt0r » 10.04.2017 16:19:38

TomL hat geschrieben:Haben die OpenvPN-Alternativen wie tinc und strongswan die gleichen Fähigkeiten wie OpenVPN? Zum Beispiel vom Roadwarrior einloggen ins heimische Netz und auf die Fileserver zugreifen? Oder Drucken? Oder bei unsicheren Hotspots über den heimischen Router surfen und z.B. die Online-Postfächer ansehen? Und das alles von Windows-Clients, von Androids und natürlich auch von Linux-Mobilkisten? Und Login und Traffic ist dabei immer ebenfalls durch Zertifikat und Key geschützt?

Gibt es vielleicht sogar "Fähigkeiten", die über diejenigen von OpenVPN hinausgehen? Kann man Vor- und Nachteile in Stichworten zusammenfassen? Ich nutze OpenVPN seit vielen Jahren.... aber das ist natürlich nicht in Beton gegossen.... wenns vielleicht was besseres mit gleichen oder mehr Fähigkeiten gibt, würde ich auch sofort wechseln.
Das hat alles nichts mit VPN zu tun:
https://de.wikipedia.org/wiki/Virtual_Private_Network

TomL

Re: VPN über IPv6 realisieren

Beitrag von TomL » 10.04.2017 21:02:00

r4pt0r hat geschrieben:Das hat alles nichts mit VPN zu tun:
https://de.wikipedia.org/wiki/Virtual_Private_Network
Wenn Du etwas sorgfältiger lesen würdest, würdest Du mein Beispiel "Roadwarrior loggt sich von außerhalb ins eigene Home-Netz ein" auch exakt im Text Deines Linḱs wiederfinden. Zitat zweiter Absatz, erster Satz: "So kann beispielsweise der Computer eines Mitarbeiters von Zuhause aus Zugriff auf das Firmennetz erlangen, gerade so, als säße er mittendrin."

BTW, ich wüsste gar nicht, dass man mit OpenVPN noch was anderes machen könnte, als eben originäres VPN.... kläre mich bitte auf, warum meine o.g. Beispiele kein VPN sind.

whiizy
Beiträge: 663
Registriert: 23.07.2011 22:09:37

Re: VPN über IPv6 realisieren

Beitrag von whiizy » 11.04.2017 00:08:18

Ich habe jetzt glaube ich eine Lösung gefunden, aber sie mutet schon etwas seltsam an: Wenn ich zusätzlich noch IPv4-Adressen auf die Tunnelinterfaces (tun0) lege, hier willkürlich 10.8.0.1 auf der Server- und 10.8.0.2 auf der Client-Seite, dann ist openvpn endlich auch in der Lage, die IPv6-Adressen zusätzlich auf das tun0 zu legen:

Code: Alles auswählen

dev tun
proto udp6
secret static.key
ifconfig 10.8.0.1 10.8.0.2   <------
tun-ipv6
ifconfig-ipv6 2001:123:1234::1 2001:123:1234::2

Code: Alles auswählen

openvpn --config /etc/openvpn/server.conf
Mon Apr 10 23:36:07 2017 OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Dec  2 2014
Mon Apr 10 23:36:07 2017 TUN/TAP device tun0 opened
Mon Apr 10 23:36:07 2017 do_ifconfig, tt->ipv6=1, tt->did_ifconfig_ipv6_setup=1
Mon Apr 10 23:36:07 2017 /sbin/ip link set dev tun0 up mtu 1500
Mon Apr 10 23:36:07 2017 /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2
Mon Apr 10 23:36:07 2017 /sbin/ip -6 addr add 2001:123:1234::1/64 dev tun0
Mon Apr 10 23:36:07 2017 UDPv6 link local (bound): [undef]
Mon Apr 10 23:36:07 2017 UDPv6 link remote: [undef]
Da will man das ganze Tunneling auf reinem IPv6 aufbauen, und dann braucht man doch wieder IPv4 als Krücke, schon merkwürdig :facepalm:. Hängt vielleicht irgendwie damit zusammen, wie der Dualstack auf den Interfaces organisiert ist oder so.

Erstmal egal, denn da sich server und client nun direkt über die IPv6-Tunnelinterfaces "sehen" können, ist der Rest, wie Routing und Firewalling, eigentlich nur noch Formsache - wenn auch vielleicht nochmals etwas Fleißarbeit.

LG

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von r4pt0r » 11.04.2017 09:09:15

TomL hat geschrieben: BTW, ich wüsste gar nicht, dass man mit OpenVPN noch was anderes machen könnte, als eben originäres VPN.... kläre mich bitte auf, warum meine o.g. Beispiele kein VPN sind.
TomL hat geschrieben: [...] die gleichen Fähigkeiten wie OpenVPN? [...] auf die Fileserver zugreifen? Oder Drucken? Oder bei unsicheren Hotspots über den heimischen Router surfen und z.B. die Online-Postfächer ansehen?
Das sind alles Dienste die völlig unabhängig von (Open)VPN sind.
VPN (völlig egal mit welcher Software realisiert) ermöglicht den Zugang zu entfernten lokalen Netzen bzw deren Verbindung. Nur weil man den Client plötzlich "roadwarrior" nennt ist das kein neues Feature...

whiizy
Beiträge: 663
Registriert: 23.07.2011 22:09:37

Re: VPN über IPv6 realisieren

Beitrag von whiizy » 11.04.2017 21:32:20

Um mal wieder etwas auf das Thema des TE zurückzukommen, ich war wohl etwas zu optimistisch, was die anschließende Einrichtung des Routings über den IPv6-Tunnel angeht. Mit einem statischen Schlüssel ("static.key") sind offenbar die push und pull Optionen von openvpn nicht aktiv. Das heißt, die vom Server angebotenen privaten Netze können nicht zum Client übermittelt und dort automatisch eingerichtet werden.

Nach meinem aktuellen Informationsstand muß man dafür von static keys auf TLS/SSL-basierte Schlüssel umsteigen. Wäre ja auch zu einfach gewesen ...

PS: ... aber Sicherheit hat eben ihren Preis ;)

Benutzeravatar
schorsch_76
Beiträge: 2542
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: VPN über IPv6 realisieren

Beitrag von schorsch_76 » 11.04.2017 21:55:27

ipv6 ... unterscheidet sich hier. Private Netze sind ULA.

https://de.wikipedia.org/wiki/IPv6#Unique_Local_Unicast

whiizy
Beiträge: 663
Registriert: 23.07.2011 22:09:37

Re: VPN über IPv6 realisieren

Beitrag von whiizy » 12.04.2017 00:12:11

@schorsch_76
Mit "private Netze" hatte ich mich nicht klar genug ausgedrückt, ich meinte damit nicht ULA-Netze sondern ganz allgemein meine privaten (globalen) IPv6-Netze, welche ich über den verschlüsselten IPv6-Tunnel bereitstelle.

Nachdem ich das Schlüsselverfahren von static key auf TLS/SSL umgestellt habe, funktioniert nun übrigens auch der push einer Route vom Server zum Client.

Grüsse

whiizy
Beiträge: 663
Registriert: 23.07.2011 22:09:37

Re: VPN über IPv6 realisieren

Beitrag von whiizy » 12.04.2017 21:34:36

Vielleicht noch eine kleine Anekdote am Rande, weil mich das letzte Setup jetzt doch noch etwas überrascht hat.

Ich hatte erstmal nicht damit gerechnet, daß auch IPv4 über den IPv6-Tunnel transportiert werden kann. Lag u.a. daran, daß ich irgendwo beim flüchtigen Lesen aufgeschnappt hatte, man müsse wohl IPv4-Pakete in IPv6 "verpacken", um sie über einen IPv6-Tunnel zu kriegen.

Ist hier bei mir allerdings gar nicht nötig und das dürfte ein Seiteneffekt davon sein, daß auf meinen Tunnelinterfaces zusätzlich ja noch ein IPv4 Netz erforderlich gewesen war (hier 10.8.x.x). Pushe ich dem über Internet/IPv6 verbundenen Client nun das IPv4-LAN von meinem Server, routet der Client es über den Tunnel und damit automatisch über das 10.8-er Netz (obwohl der Tunnel selbst ja über IPv6 aufgebaut ist). Bis zum IPv4-LAN Interface des Openvpn-Servers komme ich so schonmal ohne Probleme.

Aber auch andere clients im Server-LAN lassen sich erreichen, wenn man ihnen eine passende Route Richtung Openvpn-Server aufdrückt (normalerweise würde ein PC über sein default gateway unbekannte Netze suchen, hier soll er aber abweichend den Weg über den Tunnel-Server nehmen).

Sieht demnach ganz so aus, als könne man ohne grosse Umstände auch IPv4-Dienste aus seinem Heimnetzwerk via IPv6 anbieten.

Gruss

Antworten