IT a bezpečnost bez starostí

Mikrotik - L2TP VPN mezi pobočkou a centrálou

Řada odvětví je dnes závislá na informačních technologiích, mnoho lidí se potřebuje připojovat z domova na Home Office nebo na cestách na firemní zdroje (servery, pošta, aplikace). Zdroje uvnitř firemní sítě ale musí být zabezpečeny proti volnému přístupu z internetu. Proto je v dnešní době zcela běžné přistupovat do firemní sítě právě přes VPN.

VPN není ale pouze pro firemní sítě. Stala se i běžnou součástí domácností. Se stále se zvětšujícím počtem zařízení v chytrých domácností, nutností jejich vzdáleného ovládaní a současně se vzrůstajícím počtem kybernetických útoků je potřeba o ní přemýšlet i v běžné domácnosti.

Trocha statistiky z roku 2021:

  • Kybernetický útok na zařízení začne do 5 minut od připojení zařízení (veřejné IP adresy) do internetu
  • Denně je domácí router atakován útočníky 1 500x – 15 000x

Přitom doma lidé dnes mají  kamery, termostaty, zabezpečovačky, domácí NAS servery nebo herní servery.

Velké společnosti používají profi řešení v podobě firewallů Cisco, Chekpoint, Palo Alto a dalších. Jde o technologie v cenové relaci statisíců až milionů. Domů si je tedy nepořídíte.

Pro menší společnosti a domácí uživatele ale existuje robustní, a přitom levné řešení. Pomocí Mikrotiku a L2TP VPN s IPsec. Předem musím říct, že existují lepší možnosti zabezpečení třeba ve formě SSTP VPN. Tu však kvůli nutnosti vydávat certifikáty nebude schopen rozběhnout každý. Proto L2TP je stále v dnešní době tolik používaná. Jde o kombinaci snadné konfigurace a dostupnosti na všech operačních systémech.

Pro úplnost jaké jsou další metody:

  • PPTP – zastaralý, prolomený, nedoporučuji používat
  • OpenVPN – není podporován všude, jde o složitou konfiguraci
  • SSTP – není podporován všude, nutnost vystavovat a importovat certifikáty

Proč L2TP

Já se dnes budu věnovat nastavení VPN z pobočky, která není na statické veřejné IP adrese. Jde tedy o nějakou menší kancelář, která potřebuje přistupovat do sítě na centrále, kde je router s funkcí VPN koncentrátoru na své vlastní pevné veřejné IP adrese. Pak tu máme tedy nějakou vzdálenou pobočku, odloučené pracoviště nebo detašované pracoviště. Zde máme taky router, který nemusí mít pevnou veřejnou IP adresu. VPN bude vytočena mezi routery. Do tunelu budeme posílat jen komunikaci, kterou potřebujeme dostat na centrálu. Ostatní komunikace do internetu půjde napřímo. Na klientských zařízeních nic nastavovat nebudeme, o vše se postará router Mikrotik ve funkci L2TP klienta.

Vzorové zapojení

Mikrotik, L2TP

Nastavení L2TP serveru na centrále

Připravíme si pool IP adres pro VPN klienty

/ip pool
add name=pool-vpn ranges=192.168.0.240-192.168.0.250

Mikrotik, L2TP

Vytvoříme si PPP profil pro L2TP

/ppp profile
add change-tcp-mss=yes dns-server=192.168.0.1 local-address=192.168.0.254 name=l2tp_vpn remote-address=pool-vpn use-compression=yes use-encryption=yes

Mikrotik, L2TP 

Mikrotik, L2TP

Vytvoříme si uživatelský účet pro L2TP. Pokud by se jednalo o VPN pro koncové zařízení, tak bychom nevyplňovali Local a Remote Address. V tomto případě použijeme fiktivní IP adresy. Na straně VPN koncentrátoru například Local Address 10.251.251.10 a na straně klienta pak Remote Address 10.251.251.11. Tyhle adresy pak použijeme pro odroutování sítí. Pokud bychom dělali další pobočku, tak Local Address by bylo stále 10.251.251.10 a další klient by pak měl Remote Address 10.251.251.12.

Dalo by se zde samozřejmě použít přiřazování IP poolem, ale na tyhle Site-to-Site VPN to není vhodné.

/ppp secret
add local-address=10.251.251.10 name= user1 password= user_heslo profile=l2tp_vpn remote-address=10.251.251.11 service=l2tp

Mikrotik, L2TP

Mikrotik, L2TP

Nakonfigurujeme si a povolíme L2TP server se šifrováním IPsec

/interface l2tp-server server
set authentication=mschap2 default-profile=l2tp_vpn enabled=yes  ipsec-secret=ipsec_heslo use-ipsec=yes

Mikrotik, L2TP

Na VPN koncentrátoru je potřeba nastavit průchod firewallem. Pravidla po vytvoření posuňte někam nahoru. 

/ip firewall filter 
add action=accept chain=input comment="ACCEPT VPN L2TP" dst-port=500,1701,4500 in-interface=ether1 protocol=udp 
add action=accept chain=input comment="ACCEPT VPN L2TP IPSEC" in-interface=ether1 protocol=ipsec-esp 
add action=accept chain=input comment="ACCEPT VPN L2TP IPSEC AUTH" in-interface=ether1 protocol=ipsec-ah

Mikrotik, L2TP

 

Pro každou pobočku si vytvoříme vlastní rozhraní. Interfaces – New - L2TP Server Bindings. Do pole User dáme název L2TP uživatelského účtu. V záložce status pak po připojení uživatele budou vidět další informace.

/interface l2tp-server 
add name=RemoteSite1 user=user1

Mikrotik, L2TP


Mikrotik, L2TP

Nastavíme si odroutování do vzdálené sítě. Destination address v příkladu je síť na pobočce, tedy 10.10.0.0/24, dostupná bude za IP adresou, kterou jsme definovali jako Remote adres v PPP secret (uživatel L2TP), tedy 10.251.251.11. Pref. Source je pak 10.251.251.10. Po připojení klienta by se pak tato routa měla aktivovat jako reachable 

/ip route
add distance=1 dst-address=10.10.0.0/24 gateway=10.251.251.11 pref-src=10.251.251.10

Mikrotik, L2TP

L2TP klient na pobočce

Nastavíme si L2TP klienta na druhém Mikrotiku pod Interfaces – Add – L2TP Client. Zadejte IP adresu VPN koncentrátoru, jméno a heslo uživatele, zaškrtnout Use IPsec a zadat heslo pro IPsec. Nechte odškrtnuté políčko Add Default Route , pokud nechcete veškerý provoz posílat do VPN tunelu. Tomuto nastavení se říká Split Tunnel, kdy do tunelu jde jen provoz určený směrem na centrálu, ostatní provoz půjde rovnou do internetu napřímo.

/interface l2tp-client
add allow=mschap2 connect-to=10.100.0.1 disabled=no ipsec-secret=ipsec_heslo name=VPN-CENTRALA password=user password use-ipsec=yes  user=user1

Mikrotik, L2TP

Mikrotik, L2TP

Takto bude vypadat sestavená VPN

Mikrotik, L2TP

Nastavíme si routing. Destination address v příkladu je síť na centrále, tedy 192.168.0.0/24, dostupná bude za IP adresou, kterou jsme definovali jako Local adres na VPN koncentrátoru v PPP secret (uživatel L2TP), tedy 10.251.251.10. Pref. Source je pak 10.251.251.11. Je to tedy naopak, než na VPN koncentrátoru. Po připojení klienta by pak tato routa měla aktivovat jako reachable 

/ip route
add distance=1 dst-address=192.168.0.0/24 gateway=10.251.251.10 pref-src=10.251.251.11

Mikrotik, L2TP

Pro správnou komunikaci je potřeba ještě nastavit na pobočce maškarádu v NATu

/ip firewall nat
add action=masquerade chain=srcnat out-interface=VPN-CENTRALA

Mikrotik, L2TP

Mikrotik, L2TP

Pár zajímavostí a tipů

Pro zajímavost ještě ukážu nastavení statického záznamu v DNS. Pokud klientům na pobočce přes DHCP posíláte, že DNS serverem je Mikrotik, můžete sem zadávat statické záznamy. V příkladu je pak třeba server za VPNkou na centrále jako server.local s IP 192.168.0.100. Klient se pak hlásí třeba na web http://server.local a je odsměrován skrze VPN na server na centrále, aniž by přemýšlel nad jeho adresou.

Mikrotik, L2TP

Pokud by byl nějaký problém se sestavením tunelu, zkontrolujte ještě IPsec proposal.

Mikrotik, L2TP

Rada závěrem

Závěrem vám ještě ukážu, jak šifrování bere HW zdroje routeru. Zde je ukázka RB2011 na 50 Mb přípojce mimo špičku. Procesor na 100% a takto bídné rychlosti VPNky. Proto na funkci VPN koncentrátoru vybírejte Mikrotiky, které mají HW šifrovací modul. 

Pěkným kouskem s cenou kolem 1 500 Kč  (rok 2021) může být třeba MikroTik RouterBOARD RB760iGS, hEX Sodkaz s udávanou podporou: "IPsec hardware encryption (~470 Mbps)".

Mikrotik, L2TP   Mikrotik, L2TP

 

>> Líbil se Vám článek? Ohodnoťte mě <<

 

Kategorie

Komentáře

Dobrý den, sestavil jsem si tunel dle vašeho návodu mezi mikrotikem s veřejnou IP jako server a klientským mikrotikem na chatě bez veřejné IP, tunel se rozběhnul ale jsou mi tu ještě nejasné nějaké věci k čemu je tam v ppp profile ten pool-vpn a ta adresa 192.168.0.254 , když to z něj adresu nikdy nedostane. Dále mám ještě jednu prosbu na straně mikrotiku klientského, který je jako router mám wan adresu 192.168.1.100 a mikrotik parabola k poskytovateli má na LAN adresu 192.168.1.1. Přímo se serveru si v terminálu dopingnu jak na adresu 192.168.1.100 tak na parabolu 192.168.1.1 , ale z adresy např 192.168.0.50 kterou mi rozdá mikrotik server nikoliv. Lze to dopracovat tak, abych se z LAN za serverem dostal až na tu parabolu za klientem? Děkuji

Adresace je možná dvěma způsoby. Buď se nastaví v PPP Profile právě ta local adresa z lokální LAN sítě a k tomu IP Pool, ze kterého se budou adresovat VPN klienti. To se hodí pro VPNky přímo z koncových zařízení, kdy se připojuje více lidí (přímo z notebooku někde na cestách). Přiděluje se dynamicky.

Druhým je pak nastavení PPP Secret, kde se dá přímo vynutit na jaké "spojovačce" bude probíhat komunikace. Tohle se hodí spíše pro komunikaci mezi routery. 

Já nastavuju oboje spíše kdyby něco. Pokud komunikují jen dva Mikrotiky, je lepší ho adresovat staticky v PPP Secret a mít to víc pod kontrolou. Ale pokud si pak vzpomenete, že se chcete připojit někde na cestách dalším uživatelským účtem, nebo bude více uživatelů, mohou být adresování z toho poolu.

Co se týče dostupnosti paraboly, bude možná potřeba si nastavit na straně serveru ještě statickou routu, že ta 192.168.1.0/24 je dostupná za IP spojovačky VPNky. A z klientského routeru že 192.168.0.0/24 je opět za spojovačkou VPNky. 

Dobrý den, díky za Váš návod. Mám podobnou konfiguraci - na chalupě mi běží MIKROTIK SXT LTE6 se SIM kartou od O2, doma mám MikroTik hAP ac3 na přípojce s pevnou veřejnou IP adresou. Potřeboval jsem se dostat k webserveru HomeAssistant na chalupě v siti 192.168.88.x ze své domácí sítě 192.168.0.x
Nastavení VPN mi pomohlo a vše funguje.
Ještě bych rád, abych se na ten HomeAssistant (běží na 192.168.88.40:8123) dostal i z vnější sítě Internet. Předpokládám, že musím přístup zajistit přes svou domácí síť s veřejnou IP. Jako laik jsem nastavil NAT port forwarding 8123 na domácím MIKROTIKU smerem na adresu 192.168.88.40, ale zjevně to nestačí, homeassistant neodpoví. Asi chybí ještě něco.
Můžu poprosit o pomoc? Jsem v tom naprostý laik, díky :)
Ondřej.

Dobrý den, děkuji za Váš návod, který shledávám přínosným. Rád bych se zeptal, jakým způsobem by se dalo docílit rozšíření o další pobočku s tím, že traffic by byl možný i mezi pobočkami skrze centrálu. Pokoušel jsem se o to, ale vždy se dostanu do bodu, kdy komunikace funguje v obou směrech pouze v rámci centrála< - >pobočka č.1 a centrála< - >pobočka č.2.. Napadá mi povolit nějakou funkci "prerouting" na centrále, ale bohužel jsem se nedokázal dobrat fungujícího výsledku. Děkuji Vám za radu.

Komunikaci mezi pobočkami jsem nikdy nezkoušel. Ani to nikdy v projektech nebylo žádoucí. Nicméně by to jít mělo. Nemám to nyní kde vyzkoušet. Jestli je to L2TP, tak zkusit si pohrát s routingem. Něco ve smyslu dát statickou routu na SIte A, že síť Site B je dostupná za VPN interfacem centrály. Jinak se o síti Site B nemá jak dozvědět a bude to posílat default routou do internetu a samozřejmě to tam nedorazí. Naopak u IPsec VPn je pak potřeba si pohrát s crypto mapou. A pak je otázka, jak to zprocesuje centrála, zda tam nebude potřeba nějaký  typ NATu. Vyzkoušené to skutečně nemám, vždy všechny konzumovan služby byly na centrále a pobočky tak neměly potřebu komunikovat mezi sebou.