Nastavení L2TP/IPSec VPN na MikroTiku

Toto je funkční mnohokrát ověřený návod na zprovoznění L2TP/IPSec VPN pro připojení z Windows, Linuxu, macOS, iOSu a Androidu na vás Mikrotik. Přistupujete pak k zařízením v lokální síti pod lokální IP a brouzdáte pod vnější IP adresou Mikrotiku po internetu. Tento návod je orientován spíš na GUI, než na konzoli.

KROK 1: FIREWALL PRAVIDLA

V první řadě se připojíme přes WinBox do Mikrotiku a povolíme pár pravidel na firewallu (IP->Firewall):

/ip firewall filter
add chain=input protocol=udp in-interface=ether1 dst-port=500,1701,4500 action=accept
add chain=input protocol=ipsec-esp in-interface=ether1 action=accept
add chain=input protocol=ipsec-ah in-interface=ether1 action=accept

Do in-interface patří tvoje gateway, což je typicky ether1, nebo ether1-gateway. Je to kdyžtak vidět v Interfaces, nebo i terminálový našeptávač našeptává. Alternativně lze použít čistší a modernější řešení: In Interface nechat prázdné a nastavit In interface list na WAN.

Potom v GUI otevřít IP->Firewall a vše pak přesunout nad „DROP all not coming from LAN“ pravidlo.
Kdo chce klikat v GUI, tak může popřidávat:

chain:        input

protocol:     UDP

in interface: tvoje gateway (ether1 / ether1-gateway)

dst port:     500,1701,4500

action:       accept

chain:        input

protokol:     ipsec-esp

in interface: tvoje gateway (ether1 / ether1-gateway)

action:       accept

chain:        input

protokol:     ipsec-ah

in interface: tvoje gateway (ether1 / ether1-gateway)

action:       accept

Pokud chcete přesněji sledovat, kolik komunikace přiteklo, jakým portem, nebo hledáte příčinu problému s připojením, tak první pravidlo lze dále rozdělit na tři pravidla, každý pro jeden port (500, 1701 a 4500).

KROK 2: IP -> POOL

IP -> Pool, vytvořit pool pro VPN klienty.

  1. Typicky zmenšíme ten stávající, např. na .100-199
  2. A nový vytvoříme od .200 do .250.
  3. Schválně necháme pár volných IP adres na konci rozsahu – jednu IP napevno obsadíme PPP klientem, viz následující krok.

KROK 3: PPP -> PROFILES TAB

Přidáme nový PPP profil.

Přes konzoli:

/ppp profiles
add name=my-l2tp-profile local-address=192.168.88.254 remote-address=vpnpool dns-server=192.168.88.1 change-tcp-mss=yes

Přes GUI:

name:             my-l2tp-profile

local address:    192.168.88.254

remote address:   vpnpool

dns server:       192.168.88.1

change TCP MSS:   Yes

interface list:   LAN

Do Local address napíšeme volnou adresu na konci rozsahu – adresu, která není obsazena ani žádným poolem.
Do Remote address napíšeme pool vytvořený v předchozím kroku.
Do DNS server napíšeme IP adresu našeho routeru, tam nám DNS běží. (Pokud nám DNS běží na jiném routeru v naší LAN síti, vložíme jeho IP.)
Do interface list vložíme LAN. Je to nutné především novějších RouterOS (2018+), kde firewall využívá interface list pro určení, co je LAN a co je WAN. Toto zabezpečí, že dynamický interface, který vzniká vždy při připojení VPN klienta, se i dynamicky přidá do LAN interface listu, a tedy bude považován za součást LAN. Bez tohoto na klientovi typicky nejde DNS a nenačítá stránky. To proto, že i DNS požadavky jsou zahazovány pravidlem „DROP all not coming from LAN“.

KROK 4: PPP -> INTERFACE TAB -> [L2TP SERVER] BUTTON

Aktivujeme L2TP server.

Přes konzoli:

/interface l2tp-server server set enabled=yes default-profile=my-l2tp-profile use-ipsec=yes ipsec-secret=<nejakeheslo> authentication=mschap1,mschap2

Přes GUI:

V okně PPP na záložce Interface kliknout na tlačítko L2TP Server.
Vyskočí malé okénko L2TP Server, zaškrtnout Enabled.

autentication: mschap1, mschap2
default profile: my-l2tp-profile (profil vytvoreny v predchozim kroku)
“Use IPSec”: zaškrtni a vyplň sdílené heslo pro všechny VPN uzivatele. Vytvoří to dynamický IPSec peer profil a IPSec identitu. Přeskoč další krok. Lze i nezaškrtnout, ale v tom případě další krok nepřeskakuj a vytvoř IPSec peer a IPSec identitu ručně.

KROK 5: IP -> IPSEC -> PEERS TAB A IDENTITIES TAB

Tento krok lze přeskočit.

Volba “Use IPSec” z předchozího kroku vytvoří dynamické záznamy v IP -> IPsec -> Peers a IP -> IPsec -> Identities, takže není potřeba ručně nastavovat.

Pouze pokud jsi v předchozím kroku “Use IPSec” nezaškrtnul, tak bude potřeba oba vytvořit ručně. To se hodí jen v případě, že je něco nutné nastavit nestandardně. Například je možnost omezit připojení jen z jedné konkrétní IP, ale taková věc jde typicky řešit firewallem.

Co se tam nastavuje:

address: očekávaná IP adresa protistrany

::/0 (což znamená libovolná IP a libovolný port; šlo by i 0.0.0.0/0).
Pokud se sem zadá konkrétní IP, pak pouze tato konkrétní IP se bude moci připojit.
Pokud chci omezit IP, ze které se dá připojit, zatím mi vždy stačilo omezení vytvořit ve firewallu (a tam to člověk i hledá)

port: 500 – Funguje i bez vyplněného portu, nevyplneno znamena “jakykoli port”

local address: sem nic nevyplnit (pole musi byt šedé), nebo vyplnit dvě dvojtečky jak je i vidět na screenshotu :: (funguje obojí, protože to znamená to stejné, “jakákoliv hodnota”)

auth. method: pre shared key

exchange mode: main l2tp

secret: sem napsat sdílené heslo pro všechny uživatele VPN

send initial contact: Enable

NAT traversal: Enable     

generate policy: port override

hash algorithm: sha1

encryption alg.: 3des, aes128, aes256

DH group: modp1024

RouterOS 6.43 a starší má pouze záložku Peers a v ní hodně nastavení, rozdělena na 3 taby
RouterOS 6.38 a starší má všechna, navíc všechna tato nastavení dohromady na jedné záložce
Rozhraní v RouterOS 6.44.1 a novějším je rozdělené na taby Peers a Identities, ale nastavení budou obdobná.

KROK 6: IP -> IPSEC -> POLICY PROPOSALS

Upravit default položku, pokud je potřeba. V mém případě bylo vyplněno správně.

auth. algorithms: jen sha1
encryption algorithms: 3des, aes128 a aes256
PFS group: modp1024

KROK 7: VYTVOŘIT SI VPN UŽIVATELE V PPP -> SECRETS

name:     tvůj nickname, nebo cokoliv, třeba vpnuser
password: vymysli si heslo pro tohoto uživatele
service:  l2tp
profile:  my-l2tp-profile

KROK 8: ARP-PROXY NA BRIDGI

Ještě nastavíme poslední věc, a to aktivaci arp-proxy na bridge1. Když není zaplá, tak se sice dopingneme na samotný router (a připojíme na Winbox), ale už ne na další zařízení v lokální síti.

Otevřít
Bridge -> tab Bridge -> položka bridge1 (popř. bridge-local)
nebo ekvivalent
Interfaces -> tab Interface -> položka bridge1 (popř. bridge-local)

V dialogu stačí přepnout ARP z enabled na proxy-arp.

KROK 9: PROFIT

Hurá, VPN hotová, můžeme očekávat aktivní připojené klienty v PPP -> Active connections.

PŘIPOJÍME SE

PŘIPOJENÍ Z WINDOWS 10

více zde

Ve Win10 je to dnes už také na pár kliků. Start – napsat VPN – najde to VPN ovládací panel, a pak už jen zadat údaje: host (vnější IP adresa routeru), preshared heslo, uživatelské jméno a heslo, a uložit.

PŘIPOJENÍ Z MACOS

  • Settings → Network → [+]
  • vyplnit
  • vnější IP adresa routeru
  • jmeno uzivatele
  • button Authentication settings → heslo uzivatele a dole heslo sdilene
  • button Advanced → checkbox Send all traffic over VPN connection
  • Apply. Ulozit, pripojit!

Návod vypůjčený odtud https://babcuvpisecek.com/sitarina/jak-nastavit-l2tp-ipsec-vpn-na-zarizenich-mikrotik-funkcni-step-by-step-navod/