Zde, níže dodáváme rychlou konfiguraci VPN koncentrátoru na MikroTik RouterOS.
V případě VPN a routingu máme dvě obecně rozšířené možnosti, jak se můžeme vzdáleně připojit:
- Na přímo přes klienta běžícího na daném PC
- Přes routerboard který je za maškarádou a poté přes něj mohou přistupovat všechny další PC
VPN koncentrátor
Podstata tvorby VPN koncentrátoru na RouterOS je v těchto krocích:
- Povolíme zvolený protokol (PPTP,L2TP,SSTP)
- Předchystáme si address-list s IP adresami klientů
- Povolíme na Firewallu porty pro VPN z WAN
- Zanatujeme traffic pro tyto klienty
- Utvoříme jednotlivé usery
PPTP koncentrátor
Toto je nejjednodušší možnost rychlého tunelu. Je to dnes již prolomený protokol, apple ho např nepodporuje, ale je nejrychlejší.
Povolíme PPTP server a nastavíme jeho autentizaci
/interface pptp-server server set authentication=pap,chap,mschap1,mschap2 enabled=yes
Utvoříme si address-list a vložíme tam adresy
/ip firewall address-list
add address=192.168.90.240 list=vpn_ip
/ip firewall filter
add action=accept chain=input dst-port=1723 in-interface-list=WAN protocol=tcp
/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN src-address-list=vpn_ip
/ppp secret
local-address=192.168.90.1 name=user1 password=Heslo2
profile=default-encryption remote-address=192.168.90.240
L2TP/IPSEC koncentrátor
Tento protokol je akceptovatelně snadný k nastavení. V podstatě se přidá v IPSEC pre-shared key a jinak je to analogické jako u PPTP
V tomto případě si nastavíme L2TP s IPSEC. Jako heslo pro IPSEC nastavte níže Heslo1
/interface l2tp-server server
set enabled=yes ipsec-secret=Heslo1 use-ipsec=yes
# Ve firewallu si nastavíme adresní list, kde budou adresace klientů.
/ip firewall address-list
add address=192.168.90.240 list=vpn_ip
# Na firewallu na inputu povolíme UDP traffic co jde z WAN na MikroTik
/ip firewall filter
add action=accept chain=WAN>INPUT dst-port=500,1701,4500 in-interface=wan2 \
protocol=udp
# V NATu si nastavíme maškaradů pro dané IP adresy v address listu.
/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN src-address-list=vpn_ip
# Teď už jen přidáme do sekce ppp secret uživatele. Lokální adresa je stejná jako lokální IP adresa MikroTiku,
remote adresa je ta, která příjde do vpn_ip address-listu.
/ppp secret
add local-address=192.168.90.1 name=user1 password=Heslo2 remote-address=192.168.90.240
SSTP Koncentrátor
V tomto případě je ptořeba vygenerovat certifikát, jinak je postup stejný jako u PPTP.
# Nejdřív povolíme SSTP server:
/interface sstp-server
add name=sstp-server-site user=site-nazev-vpn
# Nachystáme si ppp profily
/ppp profile
add change-tcp-mss=yes name=ppp-profile-default-encryption-only1 only-one=yes use-encryption=yes
add change-tcp-mss=yes name=ppp-profile-default-sstp remote-address=pool19-vpn use-encryption=yes
# Předgenerujeme certifikát v MikroTiku pro SSTP spojení, podepíšeme ho a pak ho naimportujeme ke klientům na závěr.
# Postupojte 1:1 jak je uvedeno zde: https://wiki.mikrotik.com/wiki/SSTP_step-by-step
# A teď nastavíme samotný SSTP server.
/interface sstp-server server
set authentication=mschap2 certificate=PubIP-signed default-profile=\
ppp-profile-default-sstp enabled=yes force-aes=yes pfs=yes tls-version=only-1.2
# Přidáme si zase adress listy pro lepší orientaci
/ip firewall address-list
add address=192.168.90.240 list=vpn_ip
# Ve firewallu povolíme traffic na port 443 na MikroTik
/ip firewall filter
add action=accept chain=input dst-port=443 protocol=tcp
# Nastavíme maškarádu pro adresní rozsah VPN klientům
/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN src-address-list=vpn_ip
# A přidáme jednotlivé klienty
/ppp secret
add local-address=172.22.19.1 name=user1 password=Heslo2 profile=ppp-profile-default-sstp remote-address=172.22.19.5 service=sstp
VPN klienti
Tento postup je nejjednodušší přo práci. Většinou stačí si nastavit VPN tunel pomocí různých programů. Tyto programy mohou být přímo přístupny v operačním systémů (například SSTP protokol), nebo si je lze stáhnout a poté provést konfiguraci – například openVPN klient.
Zde si ukážeme jednoduché spojení pomocí SSTP protokolu z OS Windows 10 professional. U Ostatních VPN je to velmi analogické. Nejsnažší pro nastavení je PPTP, u L2TP/IPSEC je ptořeba dodat jen pre-shared key (to je to Heslo1).
Varianta1 – Připojujejme se z PC na přímo
Konfigurace na straně VPN serveru, konkrétně SSTP serveru.
Přidáme nového uživatele tak,n jak bylo ukazováno výše
/ppp profile
add local-address=X.X.X.1 name=user2 password=Heslo3 profile=ppp-profile-default-sstp remote-address=X.X.X.X service=sstp
A to je vše. Není potřeba nic dalšího konfigurovat. Maškaráda je nastavená už výše, šifrování také.
Konfigurace na straně klienta na OS Windows
Ze všeho nejdříve musíme importovat certifikát, který získáme z VPN koncentrátoru
Půjdeme do sekce system-certificates
zde zvolíme náš certifikát, klikneme pravým tlačítkem a klikneme na export
vybereme jako export typ pkcs12.
Certifikát se uloží do sekce files, odkud jej už stáhneme k sobě
Poté jej naimportujeme do kořenové certifikační autority lokálního stroje. Podrobný návod je dostupný pro Os Windows zde: https://success.outsystems.com/Support/Enterprise_Customers/Installation/Install_a_trusted_root_CA__or_self-signed_certificate
Pro OS Windows 10 professional/home poté stačí přidat nové připojení přes konfigurátor VPN takto:
Nakonfigurujeme VPN připojení dle schématu níže
- VPN provider – Necháme Windows
- Connection name – zvolíme dle našeho uvážení, aby to bylo systematické
- server name or address – Je IP adresa podepsaná certifikátem.
- VPN type – V našem případě vybíráme SSTP
- Username-uživatelské jméno
- password – heslo
Po připojení je výsledek connected
Občas se stane, že SSTP připojení ve Windows krypluje. Buď proto, že někde stojí nějaké aktualizace operačního systému, anebo proto, že je potřeba aktualizovat ve správci zařízení sí´tové adaptéry https://wintip.cz/621-chyba-pri-pripojeni-k-vpn-ve-windows-10
A jsme připojeni do sítě.
Varianta2 – Máme klientský routerboard označený jako R103, za ním další uživatele a chceme aby přistupovali do naší sítě vně VPN koncentrátoru
Postup je analogický jako při spojení VPN klienta
Před začátkem konfigurace routerboardu nesmíme zapomenou importovat certifikát z koncentrátoru. Import certifikátu se dělá dvoukrokově. V prvním kroku uploadneme do files samotný certifikát a poté v druhém kroku v sekci system-certificates klikneme na import a vybereme z files tento certifikát
Překontrolujeme, že máme dostupný balíček ppp v sekci system-packages.
V sekci PPP přidáme SSTP-clienta dle níže uvedeného schématu
Nastavení necháme dle výše uvedeného, pouze zadáme jiný login a heslo a to ten, který jsme si vygenerovali.
Tím je tunel spojen.
Ještě musíme manuálně přidat routu, kterou našemu klientskému mikrotiku s označením R103 řekneme, kam má směřovat pakety, když bude chtít komunikovat s vnitřními subnety.
/ip route
add distance=1 dst-address=IP.0/24 gateway=sstp-tunel
Výše uvedená routa nám otevírá přístup do subnetu IP.0/24
Pokud z nějakého důvodu nefunguje tunel, je to s největší pravděpodobností tím, že není povolen traffic na firewallu.
Stačí překontrolovat dva řetězce:
input – Ten může blokovat samotné připojení tunelu
forward – ten nám blokuje, když chceme komunikovat mezi různými subnety
Zatím jsme se zabývali spojením náš mikrotik doma —> VPN tunel do naší modelové firmy, viz níže obrázek:
Ale co když k tomu přidáme ten fakt, že za naším mikrotikem s označením R103, a IP adresou z lokální sítě, třeba 192.168.90.98/24 je několik pc, které chtějí také komunikovat do firmy?
Pointa je v tom že se schováme za maškarádu na našem routeru R103. Když se dá maškaráda, tak ve VPN koncentrátoru se nemusí davat routa pro subnet co je nekde jinde. Je to vcelku praktické.
Proto na R103:
/ip firewall nat
add action=masquerade chain=srcnat out-interface=sstp-out1
A aby to bylo dokodáno, u sebe na našem počítači (PC01) si dáme manuálně routu, která bude směrovat na náš router R103. Jen pro doplnění uvádíme, že router na schématu s označením R103 má IP adresu v LAN 192.168.90.98
Ukázka na linuxovém stroji:
Můžeme si dát každou routu pro jeden subnet:
route add -net IP.0 netmask 255.255.255.0 gw 192.168.90.98 dev vmbr0
Anebo použít masku /16 místo /24 a vše si sloučit do jednoho příkazu.
Ukázka vložení neperzistentní routy na Windows stroji v terminálu se superadministrátorskými právy
route add IP.0 MASK 255.255.255.0 192.168.90.98
Nastavení perzistence se dělá příkazem -p pro routy ve Windows strojích.