ad39min
Goto Top

Scheitern am IPsec VPN mit MikroTik

Hallo zusammen,

ich habe nun seit ein paar Wochen ein Mikrotik CRS als Core-Switch im Einsatz mit einer VLAN-Segmentierung, und bereue meine Wahl bis heute nicht.

Leider kriege ich es nicht gebacken, einen IPsec VPN-Zugang für einen Windows-Client auf dem Teil einzurichten.
Das Szenario sieht wie folgt aus:

Das Netz 192.168.178.0/24 soll als Testnetzwerk das WAN simulieren

Windows-PC(192.168.178.52) <--------> (192.168.178.252)Fritz!Box(10.120.10.250) <--------> (10.120.10.1)MikroTik

Bei der FritzBox ist das Port Forwarding wie folgt konfiguriert:
UDP 500
UDP 1701
UDP 4500
ESP
...sind weitergeleitet an den (10.120.10.1)Mikrotik

Der Mikrotik ist wie folgt konfiguriert:
(Gedacht ist es so, dass VPN-Clients das VLAN91 mit dem Subnetz 10.120.91.0/24 benutzen)

[admin@FIRMA-CORSW001.firmendomain.tld] > exp
# apr/03/2020 12:03:50 by RouterOS 6.45.8
#
# model = CRS125-24G-1S
/interface bridge
add name=bridge1 vlan-filtering=yes
/interface ethernet
set [ find default-name=sfp1 ] advertise=10M-half,10M-full,100M-half,100M-full,1000M-half,1000M-full
/interface vlan
add interface=bridge1 name=VLAN2 vlan-id=2
add interface=bridge1 name=VLAN3 vlan-id=3
add interface=bridge1 name=VLAN4 vlan-id=4
add interface=bridge1 name=VLAN10 vlan-id=10
add interface=bridge1 name=VLAN20 vlan-id=20
add interface=bridge1 name=VLAN30 vlan-id=30
add interface=bridge1 name=VLAN40 vlan-id=40
add interface=bridge1 name=VLAN50 vlan-id=50
add interface=bridge1 name=VLAN60 vlan-id=60
add interface=bridge1 name=VLAN70 vlan-id=70
add interface=bridge1 name=VLAN91 vlan-id=91
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip firewall layer7-protocol
add name=firmendomain.tld regexp=firmendomain.tld|168.192.in-addr.arpa|10.in-addr.arpa|172.30.in-addr.arpa
/ip ipsec peer
# This entry is unreachable
add name=l2tpserver passive=yes
/ip ipsec profile
set [ find default=yes ] enc-algorithm=aes-256,aes-128,3des
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des
/ip pool
add name=dhcp_vlan40 ranges=10.120.40.20-10.120.40.200
add name=dhcp_vlan50 ranges=10.120.50.20-10.120.50.200
add name=dhcp_vlan2 ranges=192.168.2.50-192.168.2.200
add name=dhcp_vlan30 ranges=10.120.30.20-10.120.30.200
add name=dhcp_vlan70 ranges=10.120.70.20-10.120.70.200
add name=dhcp_vlan20 ranges=10.120.20.20-10.120.20.200
add name=dhcp_vlan60 ranges=10.120.60.20-10.120.60.200
add name=dhcp_vlan3 ranges=172.30.3.20-172.30.3.250
add name=dhcp_vlan4 ranges=172.30.4.20-172.30.4.250
add name=pool-vpn ranges=10.120.91.20-10.120.91.200
/ip dhcp-server
add address-pool=dhcp_vlan40 disabled=no interface=VLAN40 lease-time=23h59m59s name=dhcp_vlan40
add address-pool=dhcp_vlan50 disabled=no insert-queue-before=bottom interface=VLAN50 lease-time=23h59m59s name=dhcp_vlan50
add address-pool=dhcp_vlan2 disabled=no interface=VLAN2 lease-time=23h59m59s name=dhcp_vlan2
add address-pool=dhcp_vlan30 disabled=no interface=VLAN30 lease-time=23h59m59s name=dhcp_vlan30
add address-pool=dhcp_vlan70 disabled=no interface=VLAN70 lease-time=23h59m59s name=dhcp_vlan70
add address-pool=dhcp_vlan20 disabled=no interface=VLAN20 lease-time=23h59m59s name=dhcp_vlan20
add address-pool=dhcp_vlan60 disabled=no interface=VLAN60 lease-time=23h59m59s name=dhcp_vlan60
add address-pool=dhcp_vlan3 disabled=no interface=VLAN3 lease-time=23h59m59s name=dhcp_vlan3
add address-pool=dhcp_vlan4 disabled=no interface=VLAN4 lease-time=23h59m59s name=dhcp_vlan4
/ppp profile
add dns-server=10.120.91.1 local-address=10.120.91.10 name=ipsec_vpn
/snmp community
add addresses=::/0 authentication-password=GEHEIM authentication-protocol=SHA1 encryption-password=GEHEIM \
    encryption-protocol=AES name=snmpc1 security=authorized
/interface bridge port
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether2 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether3 pvid=2
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN40 pvid=40
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN50 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether4 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether5 pvid=30
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether6 pvid=50
add bridge=bridge1 interface=ether7 pvid=70
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether8 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether9 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether10 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether11 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether12 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether13 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether14 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether15 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether16 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether17 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether18 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether19 pvid=50
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether20 pvid=3
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether21 pvid=2
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether22 pvid=4
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether23 pvid=2
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN10 pvid=10
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether1 pvid=10
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN20 pvid=20
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN30 pvid=30
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN60 pvid=60
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN70 pvid=70
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN2 pvid=2
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN3 pvid=3
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN4 pvid=4
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=VLAN91 pvid=91
/ip firewall connection tracking
set enabled=yes
/interface bridge vlan
add bridge=bridge1 tagged=bridge1,VLAN40 vlan-ids=40
add bridge=bridge1 tagged=bridge1,VLAN50 untagged="ether2,ether4,ether5,ether6,ether8,ether9,ether10,ether11,ether12,ether13\  
    ,ether14,ether15,ether16,ether17,ether18,ether19" vlan-ids=50  
add bridge=bridge1 tagged=bridge1,VLAN10,ether7 untagged=ether1 vlan-ids=10
add bridge=bridge1 tagged=bridge1,VLAN20 vlan-ids=20
add bridge=bridge1 tagged=bridge1,VLAN30 vlan-ids=30
add bridge=bridge1 tagged=bridge1,VLAN60,ether7 vlan-ids=60
add bridge=bridge1 tagged=bridge1,VLAN70 untagged=ether7 vlan-ids=70
add bridge=bridge1 tagged=bridge1,VLAN2 untagged=ether3,ether21,ether23 vlan-ids=2
add bridge=bridge1 tagged=bridge1,VLAN3,ether7 untagged=ether20 vlan-ids=3
add bridge=bridge1 tagged=bridge1,VLAN4 untagged=ether22 vlan-ids=4
add bridge=bridge1 tagged=bridge1,VLAN91 vlan-ids=91
/interface l2tp-server server
set allow-fast-path=yes authentication=mschap1,mschap2 default-profile=ipsec_vpn enabled=yes ipsec-secret=\
    GEHEIM use-ipsec=required
/interface ovpn-server server
set auth=sha1 cipher=aes256 require-client-certificate=yes
/ip address
add address=10.120.10.1/24 interface=VLAN10 network=10.120.10.0
add address=10.120.40.1/24 interface=VLAN40 network=10.120.40.0
add address=10.120.50.1/24 interface=VLAN50 network=10.120.50.0
add address=10.120.20.1/24 interface=VLAN20 network=10.120.20.0
add address=10.120.30.1/24 interface=VLAN30 network=10.120.30.0
add address=10.120.60.1/24 interface=VLAN60 network=10.120.60.0
add address=10.120.70.1/24 interface=VLAN70 network=10.120.70.0
add address=192.168.2.1/24 interface=VLAN2 network=192.168.2.0
add address=172.30.3.1/24 interface=VLAN3 network=172.30.3.0
add address=172.30.4.1/24 interface=VLAN4 network=172.30.4.0
add address=10.120.91.1/24 interface=VLAN91 network=10.120.91.0
/ip dhcp-server lease
add address=10.120.70.6 client-id=1:c4:ad:34:74:24:c7 mac-address=C4:AD:34:74:24:C7 server=dhcp_vlan70
/ip dhcp-server network
add address=10.120.20.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=10.120.20.1
add address=10.120.30.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=10.120.30.1
add address=10.120.40.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=10.120.40.1
add address=10.120.50.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=10.120.50.1
add address=10.120.60.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=10.120.60.1
add address=10.120.70.0/24 dns-server=10.120.70.1 domain=firmendomain.tld gateway=10.120.70.1
add address=172.30.3.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=172.30.3.1
add address=172.30.4.0/24 dns-server=172.30.4.1 domain=firmendomain.tld gateway=172.30.4.1
add address=192.168.2.0/24 dns-server=10.120.10.1,10.120.40.1 domain=firmendomain.tld gateway=192.168.2.1
/ip dns
set allow-remote-requests=yes max-concurrent-queries=200 max-concurrent-tcp-sessions=40 servers=1.1.1.1,9.9.9.9
/ip firewall filter
add action=accept chain=input port=1701,500,4500 protocol=udp
add action=accept chain=input protocol=ipsec-esp
/ip firewall mangle
add action=mark-connection chain=prerouting dst-address=10.120.10.1 dst-port=53 layer7-protocol=firmendomain.tld \
    new-connection-mark=firmendomain.tld-forward protocol=tcp
add action=mark-connection chain=prerouting dst-address=10.120.10.1 dst-port=53 layer7-protocol=firmendomain.tld \
    new-connection-mark=firmendomain.tld-forward protocol=udp
add action=mark-connection chain=prerouting dst-address=10.120.40.1 dst-port=53 layer7-protocol=firmendomain.tld \
    new-connection-mark=firmendomain.tld-forward protocol=tcp
add action=mark-connection chain=prerouting dst-address=10.120.40.1 dst-port=53 layer7-protocol=firmendomain.tld \
    new-connection-mark=firmendomain.tld-forward protocol=udp
/ip firewall nat
add action=dst-nat chain=dstnat connection-mark=firmendomain.tld-forward to-addresses=192.168.2.2
add action=masquerade chain=srcnat connection-mark=firmendomain.tld-forward
add action=masquerade chain=srcnat out-interface=VLAN10
/ip ipsec identity
add generate-policy=port-override peer=l2tpserver secret=GEHEIM
/ip ipsec policy
set 0 dst-address=0.0.0.0/0 src-address=0.0.0.0/0
/ip route
add distance=1 gateway=10.120.10.250
/ip ssh
set allow-none-crypto=yes forwarding-enabled=remote
/lcd interface pages
set 0 interfaces=ether1,ether2,ether3,ether4,ether5,ether6
/ppp secret
add name=fu password=GEHEIM profile=ipsec_vpn remote-address=10.120.91.11 service=l2tp
/snmp
set contact=TU enabled=yes location=FIRMA trap-generators=temp-exception,interfaces,start-trap trap-interfaces=all \
    trap-version=2
/system clock
set time-zone-name=Europe/Berlin
/system identity
set name=FIRMA-CORSW001.firmendomain.tld

Der Windows Built in VPN-Clinet ist so konfiguriert, dass er die 192.168.178.252 ansteuert, den IPsec PSK eingetragen hat, sowie die Nutzerdaten.
Leider kommt immer die Meldung, dass beim Versuch, eine gesicherte Verbindung herzustellen etwas fehlgeschlagen ist.

Hat jemand eine Idee, was ich falsch gemacht haben könnte?

Besten Dank und Gruß

Alex

Content-Key: 562927

Url: https://administrator.de/contentid/562927

Printed on: June 24, 2024 at 09:06 o'clock

Member: aqui
aqui Apr 03, 2020, updated at Apr 05, 2020 at 09:27:10 (UTC)
Goto Top
Ein paar Dinge die du noch klären solltest bevor wir ins Eingemachte gehen:
  • Welches VPN Protokoll nutzt du ?? Das Port Forwarding lässt darauf schliessen das du L2TP benutzt ? Ist das korrekt ? Hier fehlt leider die Info.
  • Wenn ja, solltest du besser TCP und UDP 1701 freigeben. Manche reden da von TCP default (Juniper) aber andere von UDP. Die Majorität ist aber für UDP.
  • Wenn nein und du IPsec Native nutzt, mit welchem Client ? Was externes oder onboard ?
Für L2TP gibt es diverse wasserdichte Tutorials:
https://wiki.mikrotik.com/wiki/Manual:Interface/L2TP#Site-to-Site_L2TP
https://www.youtube.com/watch?v=BMytryjHXjM
Member: Ad39min
Ad39min Apr 03, 2020 at 21:32:34 (UTC)
Goto Top
Hallo Aqui,

ja, es wird L2TP verwendet. Den 1701er Port habe ich jetzt auf TCP und UDP-Basis freigegeben.
Als Client kommt der native Windows-VPN Client zum Einsatz.

Danke schonmal für die Links, ich habe mal die Anleitung von dem Youtube-Video befolgt, und bin schonmal ein Stück weiter gekommen.

Aufgebaut werden kann die Verbindung jedoch trotzdem nicht. Der Versuch endet immer zeitgleich mit der letzten Meldung im Log:
screenshot

Gruß
Alex
Member: aqui
Solution aqui Apr 04, 2020, updated at Mar 31, 2024 at 11:32:43 (UTC)
Goto Top

back-to-topL2TP VPN Server mit Mikrotik



Wasserdicht getestet auf dem Mikrotik und... um es gleich vorwegzunehmen: Funktioniert fehlerlos ! 😉
Und das sowohl direkt mit dem Mikrotik WAN Port im Internet als auch in einer Router_Kaskade mit einem davor liegenden NAT Router der Port Forwarding für L2TP:
  • UDP 500, 1701, 4500
  • ESP Protokoll (IP Nr. 50)
macht.

Basis ist eine Mikrotik Default Konfig:
  • eth1 = WAN Interface mit NAT und aktiver Firewall
  • eth2-5 = Bridge IP Interface lokales LAN mit der IP: 192.168.88.1 /24
  • DHCP Pool: .88.100 bis .88.150
  • L2TP Client IP (außerhalb des o.a. Pools!): .88.200 (Username: "testuser")
  • Router OS: Stable 7.5


back-to-topMikrotik L2TP VPN Server Grundkonfiguration:


⚠️ Lokales LAN Interface im ARP Mode Setting auf Proxy-ARP setzen !
Proxy ARP muss bei L2TP immer auf dem lokalen LAN IP Interface gesetzt sein, egal ob es ein Bridge, LAN (ether) oder ein VLAN Interface ist !!

Achtung:
Nutzer mit einem Mikrotik VLAN Setup setzen das Proxy ARP natürlich nicht direkt auf das Bridge Interface (VLAN Bridge) sondern immer auf das VLAN IP Interface !! (Eine IP Adresse auf einem Bridge Interface ist in einem VLAN Setup so oder so nicht vorhanden und auch Tabu! Siehe Mikrotik VLAN Tutorial)


(Das Bridge Interface wird nur dann verwendet wenn, wie hier im Standard Beispiel, eine simple Mikrotik Default Konfig genutzt wird die die LAN IP Adresse auf das Bridge Interface gebunden hat! (Ports eth2-5 sind via einfacher Bridge als lokales LAN zusammengefasst. Oder wenn Ports über eine einfache Bridge ohne VLANs zusammengefasst sind.)
Wie gesagt: Das gilt nur für ein Setup ohne VLANs! Mit VLANs kommt die Proxy ARP Funktion immer auf die oder eins der VLAN IP Interfaces!
int-neu


back-to-topEinrichten des L2TP Servers:


back-to-topL2TP aktivieren mit IPsec und PSK:

⚠️ Im IP --> IPsec Setting muss im Default Profil dazu SHA1 als Hashing eingestellt werden andernfalls kann zumindest der Windows 10 L2TP Client nicht connecten !
Apple supportet auch SHA256 als Hashing aber in einem gemischen Umfeld geht man mit SHA1 Hashing auf Nummer sicher bei Mischbetrieb mit beiden OS!

⚠️ Einige einfache Androiden und L2TP Clients supporten keine DH Group 14 (modp 2048) !
Sollte die L2TP Verbindung nicht zustande kommen muss man hier im Setup zusätzlich (oder nur) DH Group 2 (modp 1024) anhaken !
l2tp_ipsec_neu

back-to-topInternen DNS Server einbinden

Wer einen eigenen, internen DNS Server betreibt kann diesen in das PPP Profil einbinden so das der VPN Client dann auch lokale DNS Hostnamen auflösen kann.
Alle Details dazu HIER.

back-to-topL2TP Username und Passwort setzen:


l2tpsrv-neu
Im obigen L2TP Nutzer Setup ist Local Adress immer die lokale IP des Mikrotik in dem Proxy ARP Netzwerk. Die Remote Adress ist die Adresse, die dem L2TP User aus diesem Netz userbezogen fest zugewiesen wird und die sollte dort natürlich unbenutzt sein. Der User ist quasi wie ein lokaler Client in dem Netz.
(Die o.a. Benutzer Konfig stellt sicher das jeder User eine dedizierte IP bekommt die man später in der Firewall nutzerbezogen reglementieren kann.
Alternativ kann bei größerer Nutzerzahl auch ein IP Pool eingerichtet werden den alle User nutzen allerdings ist das weniger sicher in Bezug auf die Nutzerkontrolle. Ein Konfig Beispiel dazu findet man u.a. hier)


back-to-topFirewall Regeln anpassen das L2TP passieren kann:


Firewall customizen das L2TP VPN Pakete von extern den Mikrotik Router durch die Firewall erreichen können:
  • Chain = "input", Action = "accept"
  • Protcol = UDP
  • Dst Port = die folgenden UDP Ports Komma getrennt
  • UDP 500
  • UDP 1701
  • UPD 4500
  • ESP (= Protocol ESP)
l2fw-neu
(Dieser Schritt entfällt natürlich wenn der Mikrotik ohne NAT Firewall am WAN Port betrieben wird!)

back-to-topDNS auf MT erlauben um lokale Hostnamen auflösen zu können

Die Default Firewall Regeln blocken generell den Zugriff von außen. Das inkludiert auch DNS Zugriffe von VPN Clients auf den MT DNS Server. Mit 2 zusätzlichen Firewall Regeln ist das aber schnell erledigt.
Dieser Thread zeigt wie man die Regeln in der Firewall setzt.


back-to-topWindows VPN Client einrichten:


(Achtung !:21H2 oder älter benötigt den Patch HIER !)
22H2 oder neuer erfordert keinen Patch!


⚠️ Typ: "L2TP Tunneling mit IPsec" und nur "MS Chap v2" zulassen (Security)!!!

l2tp3

back-to-topL2TP Windows Client und VPN hinter NAT Router


⚠️ Dieser Hinweis gilt für den Betrieb des L2TP VPN Servers hinter einem NAT Router in einer Router Kaskade!
Der Windows L2TP Client (und nur der!) supportet im Default kein NAT Traversal und muss dazu erst mit einem Eintrag in der Windows Registry angepasst werden. (Siehe dazu auch HIER) Microsoft weist in ihrer Knowledgebase ebenfalls darauf hin!
Im Falle eines NAT Kaskaden Designs scheitert dann der Tunnelaufbau bei Windows. (Dank an Forenuser @FlorianHe für diesen Hinweis in den Kommentaren!)
Das Kommando
reg add HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f 
in der Eingabeaufforderung oder Shell setzt diesen Registry Eintrag.
Er kann auch manuell über den Registry Editor regedit eingegeben werden:
reg
(Weitere Infos dazu auch HIER)

back-to-topWindows 10: Schneller VPN Aufbau per einfachem Mausklick

https://www.heise.de/ct/ausgabe/2017-19-VPN-und-Remote-Desktop-Verbindun ...
Achtung bei den VPN User Credentials!!:
Windows VPN L2TP , falsche Anmeldedaten


back-to-topApple Mac VPN Client einrichten:


l2tp1
l2tp3
l2tp2


back-to-topiPhone / iPad VPN Client einrichten:


iphone

back-to-topAutomatisiertes VPN "on Demand" für iOS Apple Endgeräte über XML Templates

VPN - Fritzbox vs. MikroTik


back-to-topAndroid VPN Client einrichten:


andro1
andro2


back-to-topLinux L2TP Client Setup


Das Setup für das klassische L2TP Network Manager GUI (Gnome) sieht so aus:
l2tplinux
Detailierte Anleitung für einen Linux L2TP Client HIER.
Mit weiterer Window Oberfläche (GUI) HIER.


back-to-topWeiterführende Links zum Thema L2TP VPN



Fazit:
Works as designed ! 👍 😉
Member: Ad39min
Ad39min Apr 05, 2020 at 16:48:53 (UTC)
Goto Top
Hallo Aqui,

besten Dank dafür. Auf der Basis der Default Konfig und mit Deinen Einstellungen hat es funktioniert!

Proxy Arp hatte ich zuvor nicht gesetzt.
Vielleicht war das der Knackpunkt.

Gruß

Alex
Member: aqui
aqui Apr 06, 2020, updated at Oct 11, 2022 at 09:20:42 (UTC)
Goto Top
Ja, ohne Proxy ARP auf dem lokalen LAN IP Interface kann es nicht funktionieren !
Gut wenn es nun rennt wie es soll ! face-smile
Case closed !
Member: FlorianHe
FlorianHe Jan 12, 2024 at 08:44:33 (UTC)
Goto Top
Hallo. Ich wollte noch ein kleinen Hinweis hinterlassen.
Unzwar zu diesem Beitrag.

4.) Windows VPN Client einrichten:
(Achtung !:21H2 oder älter benötigt den Patch HIER !)
22H2 oder neuer erfordert keinen Patch!
2 wichtige Punkte:
Bei älteren Windows Versionen wie Win 7 unbedingt NAT-Traversal in der Registry aktivieren!

Ich wollte gerade auf 2 Windows 10 geräten die VPN Verbindung einrichten.
beide mit Windows in der Version 22H2. Bei beiden musste ich in der Registry das NAT-Traversal aktivieren.

@aqui kannst du das eventuell in deiner Anleitung richtig stellen?
Member: aqui
aqui Jan 12, 2024 at 17:03:22 (UTC)
Goto Top
Du hast Recht! Ein wichtiger Hinweis! Danke für das Feedback! 👍
Der Funktionstest wurde bei der Erstellung des Tutorials ohne ein NAT im Pfad zwischen Client und Server getestet so das das nicht aufgefallen ist.
Microsoft beschreibt es selber in seiner Knowledgebase:
https://learn.microsoft.com/de-de/troubleshoot/windows-server/networking ...

Das Tutorial wird dementsprechend natürlich angepasst!
Member: FlorianHe
FlorianHe Jan 13, 2024 at 17:56:58 (UTC)
Goto Top
Super danke. Leider musste ich jetzt auch noch feststellen das bei Windows 11 wieder was anders ist.

Ich wollte heute bei einem weiteren pc mit Windows 11 ebenfalls die VPN Verbindung anlegen. Ich habe exakt die gleichen Einstellungen gemacht wie bei meinem Windows 10 Laptop inkl registry Eintrag. Aber es funktioniert trotzdem nicht.

Es kommt immer wieder der Fehler:

Der L2TP-Verbindungsversuch ist fehlgeschlagen, 
da Verarbeitungsfehler während der ersten Sicherheitsaushandlung 
mit dem Remotecomputer aufgetreten ist

Hat das Problem auch schonmal jemand gehabt ?
Member: aqui
aqui Jan 14, 2024 at 10:45:22 (UTC)
Goto Top
Ich checke das parallel auch einmal mit einem aktuellen Win 11 Client....
Hast du es testweise mal OHNE Änderung der Registry probiert? Möglich das MS entgegen des Knowledgebase Artikels geändert hat.
Was sagt dir das Mikrotik Log wenn der Win 11 Client einwählt?
Member: aqui
aqui Jan 14, 2024 updated at 15:07:12 (UTC)
Goto Top
OK, Kommando zurück und Tutorial nicht ändern...!! 😉

Um es vorweg zu nehmen, das muss eine Besonderheit deiner persönlichen Windows Installationen sein!
Ich habe hier jetzt 2 frische 22H2 Installationen getestet mit dem L2TP Client jeweils hinter einem GL.inet NAT Router und einem Cisco 1100 Router mit NAT und bei keiner ist eine Anpassung des NAT Traversals (UDP 4500) in der Registry erforderlich!!
Beide Windows Versionen verbinden sich ohne zusätzliche Eingriffe völlig problemlos, was aber auch schon zu erwarten war weil auch der IKEv2 VPN Client unter Windows sich so verhält!

Das Registry Setting bezieht sich also, wie schon vermutet, einzig und allein auf Windows 7 nicht aber auf die aktuellen Windows Versionen 10 und 11.
Im Einzelnen...

back-to-topWindows Registry

In beiden aktuellen Versionen existieren im Default keine Registry Einträge!

back-to-topWindows 10
schl1

back-to-topWindows 11
win11-2

Ein Schlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec existiert generell auf BEIDEN Windows Versionen 10 und 11 gar nicht!:
schl2

back-to-topWindows 11 Connectivity

Wie schon der Standard Windows 10 L2TP Client connected sich auch der Windows 11 Client fehlerlos auf den Mikrotik L2TP VPN Server:
w11
(Übrigens auch auf einem L2TP VPN Server unter der pfSense Firewall ist das NAT Traversal Verhalten bei beiden Windows L2TP Clients analog zum Mikrotik)

back-to-topWireshark Trace des Windows 10/11 Client Traffics

Ein Wireshark Trace des L2TP Client Traffics von Windows 10 und 11 bestätigt dann zweifelsfrei dieses Verhalten. (Client IP = 172.18.10.200, Mikrotik = 10.99.1.150):

wstr
Hier kann man deutlich sehen das im Laufe der ISAKMP (IKE) Negotiation der VPN Traffic automatisch auf UDP 4500 also NAT Traversal umgestellt wird. Das Paket davor kommt noch mit UDP 500.
Und das bei beiden Versionen OHNE irgendwelches Registry Setting!!

Works as designed!! 👍
Member: FlorianHe
FlorianHe Jan 14, 2024 at 15:29:55 (UTC)
Goto Top
Das ist ja wirklich merkwürdig.
Ich habe jetzt nochmal einen weiteren versuch gestartet. Auf einem anderen PC mit windows 10
spezi

Ich habe die VPN Einstellungen wie gewohnt vorgenommen. Ohne registry Eintrag.

Dann bekomme ich diesen Fehler:
fehler1

im Mikrotik Router steht dann das im Log:
fehler2

Dann führe ich den registry Eintrag durch. Starte neu und es verbindet.
der Log im Mikrotik sieht dann so aus:

funktioniert
Member: aqui
aqui Jan 14, 2024 updated at 16:05:02 (UTC)
Goto Top
Oha... "da der remote Server NICHT antwortet"! Das bedeutet in der Regel das du gar keine IP Connectivity zwischen deinem Client und dem Mikrotik Server hast.
Der VPN Client kommt also schon gar nicht erst zum Mikrotik weil davor schon etwas ist was grundsätzlich den IP Traffic auf den MT blockt und der VPN Client dann mit der o.a. Fehlermeldung in einen Timeout rennt!
Da kann man jetzt nur raten was das ist, weil man dein genaues Setup bzw. Netzwerkdesign nicht kennt ob der Mikrotik hinter einen NAT Router Kaskade steckt oder direkt im Internet oder...?! 🤔

Üblicherweise ist das ein Firewall Problem, Port Forwarding Problem etc. Ohne jetzt dein MT Setup und speziell das FW Setup zu kennen und WO der Mikrotik werkelt ist eine zielführende Antwort nicht leicht ohne kristallkugeln zu müssen. face-sad
Wenn du überhaupt mit einer Firewall bzw. mit der Default Firewall Konfig arbeitest ist es wichtig die L2TP Regeln direkt hinter die Fasttrack Regel zu setzen:
mtfw.
Member: FlorianHe
FlorianHe Jan 15, 2024 updated at 09:08:27 (UTC)
Goto Top
Okay. Dann versuche ich erstmal zu erklären wie mein Netzwerk aufgebaut ist.

Bevor ich jetzt versuche das zu beschreiben hier ein Bild:

mein netz

Meine Fritzbox dient als zugang zum Internet. in der Fritzbox sind folgende Portfreigaben auf den MT gemacht:

freigaben


Aktuell Funktioniert die VPN mit folgenden Geräten:

-> IOS
-> MACOS
-> Ubuntu
-> Android
-> Windows 7 mit geänderter reg
-> Windows 10 mit geänderter reg
-> Mikrotik Mhap

Was nicht funktioniert:
-> win 10 ohne änderung der reg
-> win 11 pc meines Vaters mit und ohne reg änderung

da ich selber keinen windows 11 pc habe konnte ich mit jetzt nur auf dem einen pc die VPN testen.

Was ich noch heraus gefunden habe:

Wenn ich einen Windows 10 pc nehme (ohne änderung der reg) und als server nicht meine öffentliche ip sondern die IP des MT verwende Fuktioniert die VPN. Ich bim quasi mit meinem Laptop im VLAN 10 per Wlan eingewählt (Laptop hat dann 192.168.10.35) und nehme als L2TP server die IP des MT im Fritzbox lan. Also die 192.168.220.157.

Da das ja funktioniert müsste das doch bedeuten das die Fritzbox irgendwas blockiert was ausschließlich beim einwählen von Windows clients verwendet wird. Oder?

Eine Fasttrack Regel ist in meiner Firewall nicht angelegt. zum test habe ich die 4 Firewall regeln in der MT Firewall ganz noch oben geschoben
Member: aqui
aqui Jan 15, 2024 updated at 10:18:29 (UTC)
Goto Top
Kardinalsfrage du du leider wieder nicht beantwortet hast: face-sad
Arbeitest du mit einer aktiven Firewall bzw. NAT (Adress Translation) am MT Koppelport zur Fritzbox oder nicht, routest also transparent??
Das Mikrotik Tutorial beschreibt die Kaskade mit einem vorhandenen NAT Router gänzlich ohne NAT und Firewall. Ist das auch bei dir der Fall sind die Firewall Regeln völlig überflüssig und auch kontraproduktiv und sollten in dem Fall immer gelöscht werden! Das o.a. VLAN Tutorial weist explizit darauf hin.

Um sicherzugehen stelle ich das dann aber auch nochmal nach wenn der L2TP Server (Responder) hinter der FB steht. Ich hatte bis dato den NAT Router immer am Client.
Denke aber das das keinen Unterschied macht, da der Win 10/11 Client ja wie erwartet automatisch in den NAT Traversal Mode schaltet ohne Frickeleien an der Registry. Aber versuch macht bekanntlich klug! face-wink

und als server nicht meine öffentliche ip sondern die IP des MT verwende Fuktioniert die VPN.
Du meinst die öffentliche IP Adresse oder Hostnamen der Fritzbox, richtig? Diese ist ja immer dein VPN Ziel im Client.
müsste das doch bedeuten das die Fritzbox irgendwas blockiert
Jein!
Was nicht geht ist wenn du aus einem internen Netzwerk Segment am Mikrotik die externe IP Adresse oder Hostname der FB ansprichst bzw. von intern den VPN Tunnel eröffnest.
Dann rennst du immer in ein sog. "Hairpin NAT" Problem und scheiterst daran.

Wenn, dann musst du schon realistischerweise wirklich von außen kommen also den Client in das lokale LAN an der FB stecken VOR dem WAN Port des Mikrotik. Oder z.B. indem du dir mit deinem Smartphone einen persönlichen Hotspot aufmachst und mit dem Windows VPN Client von dort via Mobilfunknetz testest. Alternativ wenn du einen Bekannten besuchst und von dessen Heimnetz das VPN zu dir öffnest.
Member: FlorianHe
FlorianHe Jan 15, 2024 updated at 12:33:03 (UTC)
Goto Top
Kardinalsfrage du du leider wieder nicht beantwortet hast: face-sad
Arbeitest du mit einer aktiven Firewall bzw. NAT (Adress Translation) am MT Koppelport zur Fritzbox oder nicht, >routest also transparent??
Das Mikrotik Tutorial beschreibt die Kaskade mit einem vorhandenen NAT Router gänzlich ohne NAT und Firewall. Ist >das auch bei dir der Fall sind die Firewall Regeln völlig überflüssig und auch kontraproduktiv und sollten in dem Fall >immer gelöscht werden! Das o.a. VLAN Tutorial weist explizit darauf hin.

Ah mist. hab ich total vergessen. Also ja Ich habe micht genau nach dem Mikrotik tutorial gerichtet. Ein NAT habe ich dabei nicht eingerichtet.

Ich habe in meiner Fritzbox eine Statische Route angelegt die zum MT geht.

routefb

und im MT als default GW die Fritzbox

routemt

Ich habe aus der MT Firewall mal die VPN regeln deaktiviert. Hat aber leider keine Änderungen gebracht.
Ansonsten habe ich auch nix weiter in meiner Firewall konfiguriert außer 2 VLANS und ein paar PC#s die ins internet dürfen bzw. nicht dürfen.

Du meinst die öffentliche IP Adresse oder Hostnamen der Fritzbox, richtig? Diese ist ja immer dein VPN Ziel im Client.

Mit öffentlicher IP meinte ich die IP die meine Fritzbox im internet hat. Und ich hab mal testweise auf meinem Winows client die IP vom MT eingegeben die er im heimnetz hat. Also in meinem fall 192.168.220.157 also die ip die die Fritzbox dem MT vergibt.

Was nicht geht ist wenn du aus einem internen Netzwerk Segment am Mikrotik die externe IP Adresse oder >Hostname der FB ansprichst bzw. von intern den VPN Tunnel eröffnest.
Dann rennst du immer in ein sog. "Hairpin NAT" Problem und scheiterst daran.

genau das hat aber funktioniert. mein laptop war dann unter der IP erreichbar die im PPPsecret eingestellt ist. Also in meinem fall die 192.168.10.210

pppsecret

Auch wenn ich mit meinem Handy zuhause im Wlan die VPN verbindung aktiviere habe ich immernoch zugriff auf mein Heimetz.


Alle anderen tests habe ich natürlich mit einem LTE Hotspot oder in dem Wlan von bekannten durchgeführt.
Member: aqui
aqui Jan 16, 2024 updated at 08:10:29 (UTC)
Goto Top
Du hast Recht und das Verhalten ist reproduzierbar!
Ich habe das nachgestellt mit 3 verschiedenen NAT Routern (Fritzbox, Cisco, GL.inet) VOR dem L2TP VPN Server auf dem Mikrotik mit dem gleichen Ergebnis. Der Wireshark Trace zeigt das der Windows L2TP Client in der IKE Negotiation hängen bleibt.

Interessant ist das das Verhalten ausschliesslich nur mit dem Windows L2TP Client passiert!
L2TP VPN Clients von MacOS, Android, iOS und Linux funktionieren völlig problemlos auch mit dem Server hinter NAT. Dadurch ist klar das es ausschliesslich ein Windows Client Problem ist. ☹️
Anwender die den L2TP Server mit Windows Clients hinter einem NAT Router Router Kaskade betreiben müssen in dem Falle dann die Windows Registry anpassen!

Auch interessant ist das der Windows IKEv2 Client NICHT betroffen ist. Der funktioniert auch fehlerlos in einer NAT Kaskade.

Danke nochmal für diesen wichtigen Hinweis. 👍 Das bzw. die Tutorials (es gilt auch für den pfSense L2TP VPN Server) sind entsprechend angepasst!