Mikrotik - VPN s IPv4 + IPv6

5R

Mikrotik - VPN s IPv4 + IPv6
« kdy: 04. 06. 2023, 11:12:21 »
Ahojte,

je mozne na RouterOS 7x dosiahnut stav, kedy VPN klient, ktory sa na mikrotik pripoji, dostane privatnu IPv4 adresu a zaroven globalnu IPv6 adresu s pristupom na IPv6 Internet za nasledovnych podmienok?

- mikrotik ma pridelenu verejnu IPv4 adresu
- mikrotik ma prideleny jeden globalny /48 prefix IPv6
- mikrotik NATuje lokalnu siet, ktorej prideluje okrem privatnych IPv4 aj globalne IPv6 cez SLAAC
- mikrotik robi VPN server typu L2TP/IPsec
- typicky VPN klient je domaci pocitac za odnatovanou IPv4 a uplne bez IPv6

Podarilo sa mi dosiahnut, ze VPN klient dostane privatnu IPv4 adresu na ktorej vsetko funguje ako ma a zaroven globalnu IPv6 adresu, ktorou sa dopinga na vsetky IPv6 interfejsi mikrotiku a naopak mikrotik pingne klientsky IPv6 interface, ale dalej ako za mikrotik sa uz klient po IPv6 nedostane. Nepingne ani IPv6 gateway za mikrotikom. Pocitace v LAN za mikrotikom dostanu cez SLAAC globalnu IPv6 a tym vsetko funguje. VPN klientom prideluje IPv6 adresu pool, co si predstavujem ze by malo fungovat podobne ako SLAAC.

Ked VPN klient skusi pingnut nieco na IPv6 Internete, torch vidi, ze echo reply dorazi z internetu spat na WAN mikrotiku ale ten ju uz neposunie klientovi. Routovacia tabulka pritom vyzera dobre, skusil som pridat aj staticku routu s konkretnou IPv6 adresou pripojeneho klienta, ale bez uspechu.

Je toto kombo obecne nefunkcne alebo by to malo byt ok a problem je moja nedostatcna znalost?
Ak je to mojou neznalosotu, moze mi niekto v par vetach zhrnut, ako by sa to teoreticky / obecne malo nastavit spravne? Konkretne sa potom chcem nadalej trapit sam :)

Ak je to nefunkcnou kombinaciou VPN s IPv6 na mikrotiku, da sa zelany stav dosiahnut s IKEv2 alebo Wireguardom?

Vdaka.
« Poslední změna: 04. 06. 2023, 11:15:15 od 5R »


5nik

  • ***
  • 137
    • Zobrazit profil
    • E-mail
Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #1 kdy: 05. 06. 2023, 12:10:25 »
Co je to za klienta? Já jsem se o totéž několikrát pokoušel ve Windows a IPv6 se mi nikdy nepodařila přes PPP (L2TP nebo SSTP) vpn na Windows dostat. Koncept sítě mám cca stejný a kýžený stav cca také.

5R

Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #2 kdy: 05. 06. 2023, 12:45:27 »
Co je to za klienta? Já jsem se o totéž několikrát pokoušel ve Windows a IPv6 se mi nikdy nepodařila přes PPP (L2TP nebo SSTP) vpn na Windows dostat. Koncept sítě mám cca stejný a kýžený stav cca také.

Windows 11. IPv6 adresu dostane ale ako som pisal vyssie, vidi len po vpn server.
Skusil som teraz Android 12 v mobile a ten IPv6 nedostane pre istotu vobec, ani link local.

jjrsk

  • ****
  • 413
    • Zobrazit profil
Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #3 kdy: 05. 06. 2023, 13:15:37 »
...kedy VPN klient, ktory sa na mikrotik pripoji, dostane privatnu IPv4 adresu...
Tohle je presne to, na cem si nabijes ...

Protoze ten tvuj klient bude s pravdepodobnosti hranicici s jistotou v nejaky NATovany siti, a tudiz bude mit nejakou IPv4 z privatniho rozsahu a pokud se do jeho rozsahu ty svou volbou trefis, jako ze se drive nebo pozdeji trefis zcela urcite, tak ses v loji.

Proto je mnohem lepsi vyrobit IPv6 only vpn. Tam mas jistotu, ze se do IPcek ktery bude dotycny pouzivat pripadne doma netrefis.

Jinak receno vyrobis tunel, ktere muze fungovat jak pres IPv4 tak pres IPv6 (v zavislosti na tom co klient ma) ale uvnitr bude pouze IPv6. Na klientovi pak nastavis routovani dle toho co ocekavas. Typicky pokud nechces aby pres tu VPN sel veskery provoz staci kdyz mu nastavis ze do toho tunelu ma poslat ten /48 rozsah.

Pokud by ti stacil ciste Ipv6 provoz je to jednodussi, protoze nemusis vyrabet zadny tunely, staci kdyz reknes ze provoz na prislusny adresy se ma sifrovat.

Jenom pozor, mikrotik si s IPv6 zrovna moc nerozumi, a nejspis na to narazis pri nastavovani. Hint - hledej black hole route. Panove od mikrotiku totiz nechapou (stejne jako spousta lidi tady) ze na IPsec zadny extra iface netreba.

U windows je zas treba routu nastavit pri konfiguraci VPN, protoze si ji neumi nastavit automaticky po nahozeni. A taky je potreba si davat pozor, ze windowsy umi dohromady mozna 5 ruznych variant na tema VPN (a zadnou poradne), a to co to ve skutecnosti bude delat zalezi na tom, z ktery strany to nastavis. Zdaleka ne vse lze nastavovat pres GUI (napri IKEv2 pres GUI nenastavis, a pokud to nastavis scriptem, a pak v tom GUI neco zmenis, tak to tu konfiguraci prepise).

Typicky prvni na co narazis je to, ze nonwindowsi protistrana odmitne s win komunikovat, protoze pouzivaji unsecure ... uplne vse (sifry, hashe ...vsude je bydefault 3des + md5)

5nik

  • ***
  • 137
    • Zobrazit profil
    • E-mail
Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #4 kdy: 05. 06. 2023, 15:49:59 »
Co je to za klienta? Já jsem se o totéž několikrát pokoušel ve Windows a IPv6 se mi nikdy nepodařila přes PPP (L2TP nebo SSTP) vpn na Windows dostat. Koncept sítě mám cca stejný a kýžený stav cca také.

Windows 11. IPv6 adresu dostane ale ako som pisal vyssie, vidi len po vpn server.
Skusil som teraz Android 12 v mobile a ten IPv6 nedostane pre istotu vobec, ani link local.
Můžeš mi prosím nasdílet relevantní konfiguraci na mikrotiku? Ať nastavím na mikrotiku co chci, IPv6 na Win 11 přes SSTP ani L2TP/ipsec nedostanu. IPv6 v lokální síti a do internetu mi funguje bez problémů. Jakmile dostanu veřejnou IPv6 na Windows 11, můžu zkoušet prostup do internetu.


5R

Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #5 kdy: 05. 06. 2023, 17:16:56 »
Můžeš mi prosím nasdílet relevantní konfiguraci na mikrotiku? Ať nastavím na mikrotiku co chci, IPv6 na Win 11 přes SSTP ani L2TP/ipsec nedostanu. IPv6 v lokální síti a do internetu mi funguje bez problémů. Jakmile dostanu veřejnou IPv6 na Windows 11, můžu zkoušet prostup do internetu.

Moja testovacia konfiguracia. Snad som nic nevynechal:

Kód: [Vybrat]
/ipv6 pool
add name=ipv6-pool-vpn prefix=[redacted]/56 prefix-length=64

/ppp profile
add bridge=bridge-lan dns-server=[redacted] local-address=[redacted] \
    name=L2TP_VPN remote-address=VPN remote-ipv6-prefix-pool=ipv6-pool-vpn \
    use-encryption=yes use-mpls=no use-upnp=no


/interface l2tp-server server
set default-profile=L2TP_VPN enabled=yes

/ip ipsec profile
add name=profile1

/ip ipsec peer
add name=peer1 passive=yes profile=profile1

/ip ipsec identity
add generate-policy=port-override peer=peer1

/ipv6 address
add address=[redacted]/64 advertise=no interface=\
    "ether1 - WAN"
add address=::1 from-pool=ipv6-pool-vpn interface=bridge-lan

/ipv6 nd
set [ find default=yes ] advertise-dns=yes dns=[redacted] \
    interface=bridge-lan managed-address-configuration=yes \
    other-configuration=yes

5nik

  • ***
  • 137
    • Zobrazit profil
    • E-mail
Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #6 kdy: 07. 06. 2023, 13:57:00 »

Moja testovacia konfiguracia. Snad som nic nevynechal:

Kód: [Vybrat]
...

Díky, zahloubal jsem se a nakonec mám IPv6 přes VPN funkční (neměl jsem v ND povolený VPN interface). Z nějakého důvodu mi v prohlížeči neprojdou testy na https://www.test-ipv6.cz/ (IPv6 v pořádku detekuje, ale z nějakého důvodu se browser nepřipojí). Přitom ipv6 ping (ping facebook.com -6) i např. telnet (telnet [2a03:2880:f13d:83:face:b00c:0:25de] 80) projde.

Čili je to funkční na Mikrotiku. Neblokuje ti to jen ipv6 firewall na mtiku?

5R

Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #7 kdy: 07. 06. 2023, 16:48:08 »

Díky, zahloubal jsem se a nakonec mám IPv6 přes VPN funkční (neměl jsem v ND povolený VPN interface). Z nějakého důvodu mi v prohlížeči neprojdou testy na https://www.test-ipv6.cz/ (IPv6 v pořádku detekuje, ale z nějakého důvodu se browser nepřipojí). Přitom ipv6 ping (ping facebook.com -6) i např. telnet (telnet [2a03:2880:f13d:83:face:b00c:0:25de] 80) projde.

Čili je to funkční na Mikrotiku. Neblokuje ti to jen ipv6 firewall na mtiku?

Tak teraz neviem... neposles mi tvoju konfiguraciu? :) Nastavujes SSTP alebo L2TP/IPsec?
Na IPv6 firewalle som mal pocas testovania vsetky pravidla vypnute.
Asi mam niekde nejaku velku "botu" lebo mi to nefunguje ani na wireguarde (tam este odhliadnuc od toho, ze dvaja naraz pripojeni klienti nefunguju zrejme kvoli bugu v routeros). Verziu mam 7.9.2

5nik

  • ***
  • 137
    • Zobrazit profil
    • E-mail
Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #8 kdy: 12. 06. 2023, 11:55:43 »
Tak teraz neviem... neposles mi tvoju konfiguraciu? :) Nastavujes SSTP alebo L2TP/IPsec?
Na IPv6 firewalle som mal pocas testovania vsetky pravidla vypnute.
Asi mam niekde nejaku velku "botu" lebo mi to nefunguje ani na wireguarde (tam este odhliadnuc od toho, ze dvaja naraz pripojeni klienti nefunguju zrejme kvoli bugu v routeros). Verziu mam 7.9.2
V podstatě mám konfiguraci velice podobnou. Já používám pouze jeden /56 prefix od Metronetu, ten se pak rozkouskuje na /64 prefixy pro LAN a pro jednotlivé PPP rozhraní. Když si dám vypsat aktuální prefixy po připojení VPN (používám statický ppp interface):
 
Kód: [Vybrat]
0  D prefix=xxxx00::/64 6to4-interface=none interface=br1_LAN on-link=yes
      autonomous=yes valid-lifetime=1h5m preferred-lifetime=1h

1  D prefix=xxxx1a::/64 6to4-interface=none interface=sstp_VPN on-link=yes
      autonomous=yes valid-lifetime=4w2d preferred-lifetime=1w

A relevantní konfigurace:
Kód: [Vybrat]
/interface sstp-server
add name=sstp_VPN user=vpn

/ppp profile
add address-list=vpn_users interface-list=vpn local-address=xxx name=vpn \
    remote-address=pool_LAN remote-ipv6-prefix-pool=pool_ipv6

/interface sstp-server server
set authentication=mschap2 certificate=xxx default-profile=vpn \
    enabled=yes

/ipv6 address
add address=::1 from-pool=pool_ipv6 interface=br1_LAN

/ipv6 dhcp-client
add interface=pppoe_WAN pool-name=pool_ipv6 request=prefix

/ipv6 firewall filter
add action=accept chain=input connection-state=established,related
add action=accept chain=input connection-state=new dst-port=546 \
    in-interface=pppoe_WAN protocol=udp src-port=547
add action=accept chain=input connection-state=new in-interface=br1_LAN \
    src-address-list=ipv6_prefix
add action=drop chain=input protocol=!icmpv6
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward connection-state=new in-interface=br1_LAN \
    out-interface=pppoe_WAN src-address-list=ipv6_prefix
add action=accept chain=forward connection-state=new in-interface=sstp_VPN \
    out-interface=pppoe_WAN src-address-list=ipv6_prefix
add action=reject chain=forward reject-with=icmp-admin-prohibited

/ipv6 nd
set [ find default=yes ] advertise-dns=no disabled=yes
add interface=br1_LAN mtu=1480
add interface=sstp_VPN mtu=1480

/ppp secret
add name=xxx profile=vpn

5R

Re:Mikrotik - VPN s IPv4 + IPv6
« Odpověď #9 kdy: 13. 06. 2023, 04:37:50 »
V podstatě mám konfiguraci velice podobnou. Já používám pouze jeden /56 prefix od Metronetu, ten se pak rozkouskuje na /64 prefixy pro LAN a pro jednotlivé PPP rozhraní.

Diky. U mna nic, skusil som v podstate to iste na SSTP, len  ja mam staticky prefix... Kym nespravim maskaradu pre IPv6 (co je samozrejme zvrhle), tak sa klienti na internet nedostanu.