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: November 28, 2023 at 09:11 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 Jul 27, 2023 at 16:34:14 (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-top1.) Mikrotik L2TP VPN Server Grundkonfiguration:


Wichtig: Lokales LAN Interface im ARP Mode Setting auf Proxy-ARP setzen !
Proxy ARP muss bei L2TP immer auf dem lokalen LAN 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 auf das Bridge Interface sondern immer auf das VLAN IP Interface !! (Ein Bridge IP Interface ist in einem VLAN Setup so oder so nicht vorhanden!)


(Das Bridge Interface wird nur dann verwendet wenn, wie hier im Standard Beispiel, eine Mikrotik Default Konfig genutzt wird ! (Ports eth2-5 sind via einfacher Bridge als lokales LAN zusammengefasst) oder Ports über eine einfache Bridge (keine VLAN Bridge) zusammengefasst sind.)
l2tp1


back-to-top2.) Einrichten des L2TP Servers:


  • L2TP aktivieren mit IPsec und PSK:
Nochmal Achtung: 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 !
Und nochmal Achtung: Einige einfache Androiden und L2TP Clients supporten keine DH Group 2048 !
Sollte die L2TP Verbindung nicht zustande kommen muss man hier im Setup zusätzlich (oder nur) DH Group 2 (modp1024) 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.
Alles Details dazu HIER.

  • L2TP Username und Passwort setzen:
l2tp2


back-to-top3.) Firewall Regeln anpassen das L2TP passieren kann:


Firewall customizen das L2TP VPN Pakete von extern den Mikrotik Router durch die Firewall erreichen können:
  • UDP 500
  • UDP 1701
  • UPD 4500
  • ESP
fwl2neu.
(Dieser Schritt entfällt natürlich wenn der Mikrotik ohne Firewall 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-top4.) 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!
  • Typ: L2TP mit IPsec und nur MS Chap v2 zulassen (Security) !!!
l2tp3

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-top5.) Apple Mac VPN Client einrichten:


l2tp1
l2tp3
l2tp2


back-to-top6.) iPhone / 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-top7.) Android VPN Client einrichten:


andro1
andro2


back-to-top8.) Linux L2TP Client Setup


Detailierte Anleitung für einen Linux L2TP Client HIER.
Mit Window Oberfläche (GUI) HIER.


back-to-top9.) Weiterfü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 !