Mikrotik router 9 - WireGuard VPN
Čas pokročil a ROS 7 přinesl možnost Wireguard VPN. Tak se podíváme, jak ji nastavit
Proč WireGuard VPN, když tu máme OpenVPN? Protože je rychlejší (doba připojení i přenosová rychlost) a z mého pohledu jednodušeji nastavitelná. Existuje klient pro Window, Android, Apple. Po připojení pak v domácí síti přistupujeme na adresy jak jsme zvyklí, prostě jako bychom byli doma.
Princip:
WireGuard tunel funguje na principu šifrování, kdy obě strany (server i klient) obsahují soukromou část klíče a sdílí vzájemně veřejnou část klíče. Tohle je třeba si uvědomit - na serveru (routeru) nastavujeme záznam pro každého klienta, do kterého vkládáme veřejnou část klíče klienta a naopak na klientovi vkládáme veřejnou část klíče serveru. Odpadá nutnost generovat certifikáty jako v případě OpenVPN.
Předpoklady:
Vnitřní síť doma: 192.168.110.xxx (upravte dle sebe)
Rozsah pro tunel (přidělované adresy WireGuardem): 192.168.155.xxx (upravte dle sebe)
Veřejná IP adresa vašeho internetového připojení: 111.222.333.444 (upravte dle sebe)
Port necháme standardní 13231 pro WireGuard
Veřejný DNS server - použijeme 1.1.1.1
1. Vytvoření serverové části na Mikrotiku
V menu vybereme Wireguard a přes tlačítko [+] přidáme nový interface. Jediné, co vyplňujeme je jméno a uložíme, pokud nejsou speciální požadavky třeba na změnu portu. Po uložení se vygeneruje soukromá a veřejná část klíče, což uvidíme po opětovném rozkliknutí. Veřejnou část budeme potřebovat pro klienta.
Ve druhém kroku nadefinujeme rozsah IP adres, který bude WireGuard přidělovat klientům - IP / Addresses
Je třeba zvolit rozsah, který nebude kolidovat s vaší vnitřní adresou, a nejlépe ani s adresami ze sítě, odkud budete WireGuard spouštět. pro náš případ to bude rozsah 192.168.155.xxx. Adresu 192.168.155.1 má vlastní interface WireGuardu.
Ještě potřebujeme zkontrolovat pravidlo pro firewall, měli bychom mít povolený UDP port 13231 (IP / Firewall) a této chvíli máme nastavený server.
2. Nastavení klienta
Půjdeme na nastavení klienta, toho si stáhneme ze stránek WireGuard a následně nainstalujeme.
Po spuštění je třeba přidat "tunel", buď rozkliknutím volby a následně volbou přidat prázdný tunel nebo Ctrl+N. Jako výchozí akce tlačítka je import nastavení, ale teď nemáme odkud importovat.
V podstatě můžete klienta využít jako konfigurační prostředí pro další klienty (třeba mobil) a odsud následně exportovat konfigurace.
Otevře se nové okno, kde zadáváme jméno připojení a vidíme veřejnou a soukromou část klíče. Veřejnou část budeme potřebovat, až budeme vytvářet klienta (Peer) na serveru (Mikrotiku). Bude třeba konfiguraci "dopsat", protože klient nemá klikací rozhraní.
Já sem vložím celou konfiguraci s vysvětlením jednotlivých položek
[Interface]
PrivateKey = CMQ5YQI3oPj65Sm52hsNpaOT0gJtZm+2mn8lxAL86XE=
Address = 192.168.155.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = eIvbe1CBrgQ3dwk8AXu1vwDUWNvhP8heS3GtCQojkjk=
AllowedIPs = 192.168.110.0/24
Endpoint = 111.222.333.444:13231
Část interface:
Private key - vygeneroval se při vytváření klienta. Jeho změnou se mění veřejný klíč, který přijde později na server (Mikrotik) do části Peer
Address - adresa, která bude přidělena pro tunel z rozsahu IP adres, kterou jsme nastavovali na Mikrotiku v IP / Addresses. Každý klient má svou, takže další klienty postupně číslujeme 192.168.155.3/32, 192.168.155.4/32
DNS - adresa nějakého veřejného DNS serveru, takže 1.1.1.1, 1.1.0.0, 8.8.8.8 apod.
Část Peer:
PublicKey - veřejný klíč z WireGuard na Mikrotiku
AllowedIPs - rozsah adres, na které se po připojení dostaneme. Zde by měl být rozsah vaší vnitřní sítě, takže 192.168.110.0/24
EndPoint - vaše veřejná internetová adresa a port, takže 111.222.333.444:13231
Nastavení klienta WireGuard na Mikrotiku (WireGuard / Peers / Add)
Nastavujeme:
Public Key - zkopírujeme veřejnou část klíče z klienta
Interface - zde vybereme WireGuard interface
Allowed address - zde je adresa z klienta 192.168.155.2/32 (Address z části interface)
To je celé nastavení. Pokud chceme přidat dalšího klienta, postupujeme od bodu 2.
Jak jsem psal dříve, můžeme klienta použít k vytvoření dalších připojení a ty pak vyexportovat a na nové zařízení jen naimportovat. Pak to znamená jen vzít z existujícího klienta následující část a vložit pod vygenerovanou část nového klienta.
Následně upravit adresu a zkopírovat veřejný klíč klienta (nahoře) pro nastavení Peer na Mikrotiku.
Address = 192.168.155.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = eIvbe1CBrgQ3dwk8AXu1vwDUWNvhP8heS3GtCQojkjk=
AllowedIPs = 192.168.110.0/24
Endpoint = 111.222.333.444:13231
Na Mikrotiku nový Peer, vložit veřejnou část klíče, upravit adresu a připojení je hotové.
Export (nebo soubor pro import) není nic jiného než textový soubor s příponou .CONF, který se jmenuje podle připojení a obsahuje sekce [Interface] a [Peer] s hodnotami, které jsme si popsali.
Existují i generátory konfigurace:
https://dbca-wa.github.io/wg-webcfg/wg-webcfg.html
Potřebujete pouze veřejný klíč Wireguard serveru z MT, přednastavit hodnoty a zadat počet klientů (peerů)
A jak dostat několik peerů na MT? Můžeme použít třeba terminál:
/interface wireguard peers
add allowed-address=192.168.155.2/32 comment=peerA endpoint-address="" interface=wireguard1 public-key="eIvbe1CBrgQ3dwk8AXu1vwDUWNvhP8heS3GtCQojkjk="
add allowed-address=192.168.155.3/32 comment=peerB endpoint-address="" interface=wireguard1 public-key="{public key 2}"
...
Předchozí kapitola
Mikrotik router 8 - hlídání zařízení s informačním mailem