arcorpi
Goto Top

MikroTik VPN - Deutsche Glasfaser

Hallo Spezialiaten,

Was muss ich machen, um eine VPN-Verbindung über L2TP/ipSec, die mit reinem ipv4 (Telekom PPPoe) funktioniert hat, nun auch mit der Deutschen Glasfaser (NT an ether1 des MT ax3) zum Laufen zu bringen?
IPv6 ist eingerichtet, ich kann externe ipv6 Adressen erreichen, und auch von den Netzwerk-Tools vom iPhone aus kann ich die externe ipv6 Adresse des ax3 anpingen.

Content-ID: 670084

Url: https://administrator.de/forum/mikrotik-vpn-deutsche-glasfaser-670084.html

Ausgedruckt am: 11.01.2025 um 12:01 Uhr

godlie
godlie 10.12.2024 um 09:44:16 Uhr
Goto Top
Hallo,

Level2 User, wie wärs die Suche mal zu bedienen?

grüße
ArcorPi
ArcorPi 10.12.2024 um 10:52:37 Uhr
Goto Top
@godlie, das habe ich gemacht. Aber leider hat das bisher nicht zum Erfolg geführt:

/ipv6 firewall filter
add chain=input protocol=udp dst-port=500,4500 in-interface=ether1 action=accept comment="Allow IKE over IPv6"
add chain=input protocol=ipsec-esp in-interface=ether1 action=accept comment="Allow IPsec ESP over IPv6"
add chain=input protocol=udp dst-port=1701 in-interface=ether1 action=accept comment="Allow L2TP over IPv6"

Und wenn es hier doch Experten gibt, dann wäre es doch schön, von denen ein paar Tips erhalten zu können.
aqui
aqui 10.12.2024 aktualisiert um 13:59:33 Uhr
Goto Top
Du kannst eins zu ein das L2TP Tutorial anwenden. L2TP ist es egal ob es mit v4 oder v6 arbeitet.
Es gibt allerdings einen gravierenden Nachteil. Da IPv6 kein NAT mehr kennt nutzt du ja durch die v6 Prefix Delegation (PD) auch intern die dir vom Provider per PD zugeteilten IPv6 Adressen.
Bei einem einfachen Consumer Account bei der DG (und auch allen anderen Providern) wechseln diese IPv6 Adressen zyklisch, sprich du hast also alle naslang sowohl am WAN als auch intern immer andere IPv6 Adressen. Damit lässt sich kein VPN betreiben, zu mindestens nicht rein nur per v6.
Du hast mehrere Optionen:
  • Du wechselst bei der DG in einen Business Vertrag und bekommst dann immer eine feste IP Adressierung.
  • Du verwendest intern bei IPv6 eine Unique Local Adress (ULA) Adressierung. Das ist ein Netzbereich vergleichbar mit dem der privaten IPv4 Adressen (RFC-1918) die nicht im Internet geroutet werden. Damit erreichst du dann eine feste, nicht wechselnde IPv6 Adresseirung intern und kannst damit auch L2TP umsetzen. Nachteil ist das du dann zwingend auch für v6 NAT verwenden musst, denn ULA Adressen sind nicht routebar im Internet. Quasi als das IPv4 Verhalten analog auf IPv6 umgesetzt.
  • Ähnlich wie Punkt 2 kannst du ein SSL basiertes VPN benutzen bei dem nur der Tunnel mit IPv6 arbeitet im Tunnel aber IPv4 geroutet wird. Mit Wireguard ist sowas möglich, hat dann wieder den Nachteil das du mit zusätzlicher VPN Software am Client arbeiten musst.
  • Du verwendest einen sog. Jumphost. Damit baut dein Router einen festen VPN Tunnel zu diesem Host auf. Das ist immer problemlos möglich da dein DG Router hier VPN Initiator ist, also den VPN Tunnel aktiv aufbaut und so problemos das CG-NAT des Providers überwindet. Mit IPv6 ist der Tunnel auch nativ aufbaubar. Der Client spricht dann den Jumphost per VPN an. Das kann per IPv6 und auch per IPv4 passieren. On Top kann der Jumphost auch mehrere VPN Protkolle bedienen um so quasi zu einem universellen VPN Server zu mutieren. Eine genaue Anleitung für so ein Setup findest du u.a. HIER.
Das sind deine Tips bzw. Optionen in so einem DS-Lite / CG-NAT Szenario. Such dir die Schönste für dich raus! face-wink
ArcorPi
ArcorPi 10.12.2024 um 17:02:28 Uhr
Goto Top
Herzlichen Dank @aqui, das schau ich mir genauer an!
ArcorPi
ArcorPi 13.12.2024 um 18:22:05 Uhr
Goto Top
Ich habe jetzt Wireguard konfiguriert, und auf dem iPhone die Wireguard App. Leider kommt keine Verbindung zustande, ich sehe nur TX-Daten, keine RX-Daten. Was mache ich falsch?

Auf dem iPhone habe ich die Adressen 10.0.0.2/32, 2a00:6020:47a6:a300::2/128 angegeben,
bei Peer den Public Key des Wireguard-Interfaces vom Mikrotik,
als Endpunkt xxx.sn.mynetname.net:60935,
Zulässige IPs: 0.0.0.0/0,::/0
Dauerhafter Keepalive: 25 Sekunden

/interface wireguard
add comment=Wireguard-VPN listen-port=60935 mtu=1420 name=wireguard-vpn

/interface wireguard peers
add allowed-address=10.0.0.2/32,2a00:6020:47a6:a300::2/128 endpoint-port=\
    60935 interface=wireguard-vpn is-responder=yes name=peer5 \
    persistent-keepalive=10s public-key=\
    "<öffentlicher Schlüssel des iPhone Wireguards>"  

/ip address
add address=10.0.0.1/24 interface=wireguard-vpn network=10.0.0.0
add address=10.0.0.1/24 interface=wireguard-vpn network=10.0.0.0

/ip cloud
set ddns-enabled=yes ddns-update-interval=5m

/ip firewall filter
add action=accept chain=input comment=Wireguard-VPN in-interface=ether1 port=\
    60935 protocol=udp

add action=accept chain=forward comment=Wireguard-VPN dst-address=\
    10.10.100.0/24 src-address=10.0.0.0/24
add action=accept chain=forward dst-address=10.0.0.0/24 src-address=\
    10.10.100.0/24

/ipv6 address
add address=2a00:6020:47a6:a300::1 interface=wireguard-vpn

/ipv6 firewall filter
add action=accept chain=forward comment=Wireguard-VPN in-interface=\
    wireguard-vpn out-interface=bridge
add action=accept chain=forward in-interface=bridge out-interface=\
    wireguard-vpn

 /ip/route/print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, d - DHCP
Columns: DST-ADDRESS, GATEWAY, DISTANCE
    DST-ADDRESS     GATEWAY        DISTANCE
DAd 0.0.0.0/0       100.86.0.1            1
DAc 10.0.0.0/24     wireguard-vpn         0
DAc 10.10.100.0/24  bridge                0
DAc 100.86.0.0/16   ether1                0

/ipv6/route/ print 
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC, d - DHCP; + - ECMP
Columns: DST-ADDRESS, GATEWAY, DISTANCE
#      DST-ADDRESS                  GATEWAY                   DISTANCE
0  As+ ::/0                         fe80::ff:fe05:202%ether1         1
  DAd+ ::/0                         fe80::ff:fe05:202%ether1         1
  DAc  ::1/128                      lo                               0
  DAc  2a00:6020:1000:45::26b3/128  ether1                           0
  DAd  2a00:6020:47a6:a300::/56                                      1
  DAc+ 2a00:6020:47a6:a300::/64     bridge                           0
  DAc+ 2a00:6020:47a6:a300::/64     wireguard-vpn                    0
  DAc  fe80::%ether1/64             ether1                           0
  DAc  fe80::%bridge/64             bridge                           0
aqui
aqui 14.12.2024 aktualisiert um 10:28:37 Uhr
Goto Top
Im o.a. WG Tutorial ist doch im IPv6 Kapitel eine entsprechende Konfig wie das umzusetzen ist.
Leider fehlt deine iPhone Konfig um das in deinem Setup verifizieren zu können. face-sad
Es sieht aus als ob du fälschlicherweise im Tunnel, wechselnde öffentliche v6 Adressen verwendest was natürlich sofort scheitert. Wie oben geschrieben wird der Tunnel selber nur mit v6 only realisiert und im Tunnel wird nur v4 only gemacht. Ein Zugriff von außen mit v4 scheitert ja schon am DS-Lite Anschluss an sich so das die Tunneladressierung bei einem direkten Zugriff immer nur rein IPv6 ist und im Tunnel nur rein IPv4 genutzt wird.
ArcorPi
ArcorPi 14.12.2024 aktualisiert um 15:53:41 Uhr
Goto Top
Vielen Dank @aqui!

Es funktioniert jetzt, hoffentlich auch bleibend. Im Tunnel habe ich die ipv4, aber die Verbindung, die ich vom iPhone aus mache, ist die ipv6, die in der ipv6 Address List auf ether1 gebunden ist (ether1 hängt am NT der DG). Ändert sich diese nicht, sie wurde doch über den ipv6 Client zugewiesen?

Ergänzung: IP Cloud zeigt nur eine öffentliche ipv4 Adresse, kein ipv6
aqui
aqui 14.12.2024 aktualisiert um 15:44:58 Uhr
Goto Top
Es funktioniert jetzt
Glückwunsch! 👏
ist die ipv6, die in der ipv6 Address List auf ether1 gebunden ist
Das ist per se erstmal richtig. Da die Provider ihre IPv6 Adressen und PDs aber bekanntlich zyklisch wechseln an Consumer Anschlüssen wird es sehr wahrscheinlich nicht "bleibend" sein. Du musst am Client also entweder diese IPv6 als Ziel IP in Abständen ändern oder gleich mit DDNS arbeiten.
Mikrotik offeriert einen kostenlosen DDNS Client unter IP -> Cloud in der Winbox.
https://mikrotik-blog.com/dyndns-unter-mikrotik-routeros-einrichten
Damit mappt man die wechselnde öffentliche v6 IP des Mikrotiks auf einen festen Hostnamen den man dann im WG Client als Ziel (Endpoint) angibt. So erreicht man auch bei wechselnder v6 WAN IP immer sicher den Router.
ArcorPi
ArcorPi 14.12.2024 um 15:54:58 Uhr
Goto Top
Hallo @aqui, siehe meine Ergänzung oben:

Ergänzung: IP Cloud zeigt nur eine öffentliche ipv4 Adresse, kein ipv6
aqui
aqui 14.12.2024 aktualisiert um 16:51:11 Uhr
Goto Top
Unter "Public IPv6 Address" sollte dort aber in jedem Falle deine ether1 IPv6 Adresse zu sehen sein!
Mikrotik gibt explizit auch die v6 Funktion in der Doku dazu an:
https://help.mikrotik.com/docs/spaces/ROS/pages/97779929/Cloud
Ein nslookup oder dig von einem v6 Client z.B. Smartphone mit HE.NET App sollte dann auch den dazu korrespondierenden AAAA Eintrag zeigen.
Holt dein DHCPv6 Client an ether1 Prefix und Adresse?
ArcorPi
ArcorPi 14.12.2024 aktualisiert um 16:59:45 Uhr
Goto Top
hm, nslookup in HE.NET zeigt auch nur die ipv4 Adresse
Ja, der ipv6 client holt ein /56 prefix an ether1
aqui
aqui 14.12.2024 aktualisiert um 16:58:59 Uhr
Goto Top
Gab dazu noch einen älteren Eintrag in der MT Knowledgebase:
https://forum.mikrotik.com/viewtopic.php?t=173029
Ob das noch aktuell ist müsste man in den Releasenotes checken.
ArcorPi
ArcorPi 14.12.2024 um 17:27:56 Uhr
Goto Top
Danke @aqui. Leider bin ich da nicht weitergekommen.
ArcorPi
ArcorPi 15.12.2024 um 10:03:55 Uhr
Goto Top
In diesem Artikel wird von einer festen IPv6 IP der Deutschen Glasfaser gesprochen. Jetzt bin ich ganz verwirrt: Glasfaser
aqui
aqui 15.12.2024 aktualisiert um 12:51:29 Uhr
Goto Top
Du hast vermutlich das "quasi" überlesen?! face-wink
Die grundsätzliche Frage ist WIE handhabt die DG die Prefix Delegation, sprich wann bzw. in welchen Zeitabschnitten findet ein Wechsel statt oder findet überhaupt einer statt??
Dazu müsste man einmal die Schnittstellenbeschreibung der DG zu IPv6 lesen oder im Zweifel deren Hotline befragen wie deren v6 Policy an non Business Anschlüssen aussieht.

Folgt man diesem Thread sieht es so aus als ob die DG selber am WAN Port kein IA_NA im DHCPv6 supportet und nur einen einzelnen /64er Prefix vergibt. Sie verteilt also auf dem WAN Link selber keine IPv6 Adresse sondern arbeitet dort lediglich mit einer fe80:.. Link Local Adresse. Nur die interne LAN Adresse bekommt dann den per IA_PD zugewiesenen Prefix. Das mag ein Grund sein warum der MT diese in der DDNS Konfig (IP - Cloud) nicht anzeigt.
Kann aber auch ein Grund sein das du es im DHCPv6 Client falsch konfiguriert hast. Deshalb die Frage oben ob dein DHCPv6 Client an ether1 Prefix und Adresse holt oder nur den Prefix?
Stimmt der Eintrag oben im Thread das die DG lediglich nur den Prefix liefert, dann darf auch nur das angehakt sein.
So oder so ist aber die entscheidende Frage ob oder wie die DG den v6 Prefix wechselt bei ihren Consumer Anschlüssen oder nicht. Bei Letzterem wäre DDNS dann überflüssig. Wäre andersherum aber auch etwas ungewöhnlich, da kein Provider solche quasi statischen v6 Adressen so handhabt.
ArcorPi
ArcorPi 15.12.2024 um 13:09:45 Uhr
Goto Top
Danke @aqui.
Ich bekomme einen 2a00:…/56 Prefix und eine 2a00…. Adresse.
aqui
aqui 15.12.2024 aktualisiert um 15:00:01 Uhr
Goto Top
Mmmhhh...dann scheint die Angabe im o.a. OpenSense Forum ja nicht mehr zu stimmen. face-sad
Dann müsste dein v6 WAN Port Setup und interne v6 Adressierung ungefähr so aussehen, richtig?

mtv6dhcp
gastric
gastric 15.12.2024 aktualisiert um 16:26:53 Uhr
Goto Top
IPv6 DDNS über die Mikrotik Cloud mit der aktuellen RouterOS Stable klappt zur Zeit nicht. Geht hier nachvollziehbar auch nicht obwohl gültige globale IPv6 am WAN und Erreichbarkeit der Cloud (cloud2.mikrotik.com) vom Router über IPv6 aus gegeben ist.
Scheint ein Bug zu sein wenn der Router ne CGNAT IPv4 bezieht was bei der DG gegeben ist.

Unter anderem ein Grund warum ich den Dienst meide, da ist immer wieder mal was kaputt. Einfach nen anderen Dienst über ein Update-Skript nutzen was man über deas DHCPv6 Client Event oder regelmäßig per Scheduler ausführt.

Gruß gastric
ArcorPi
ArcorPi 15.12.2024 um 19:32:13 Uhr
Goto Top
Ok, vielen Dank für die Info!
ArcorPi
ArcorPi 20.12.2024 um 11:50:13 Uhr
Goto Top
Wie von Zauberhand: Heute sehe ich eine public ipv6 in IP --> Cloud
Damit funktioniert auch Wireguard!
gastric
gastric 20.12.2024 aktualisiert um 12:07:18 Uhr
Goto Top
Zitat von @ArcorPi:

Wie von Zauberhand: Heute sehe ich eine public ipv6 in IP --> Cloud
Damit funktioniert auch Wireguard!

Bis zum nächsten Ausfall von deren Cloud🤞
ArcorPi
ArcorPi 20.12.2024 um 16:37:01 Uhr
Goto Top
Ja, ich beobachte das mal ...
aqui
aqui 20.12.2024 um 19:20:40 Uhr
Goto Top