Wersja RouterOS 7 wprowadziła sporo udogodnień dla użytkowników. Jedną z bardziej wartościowych to wsparcie dla Wireguarda, nowoczesnego VPNa. Wireguard, to spora konkurencja dla tradycyjnych VPNów takich jak OpenVPN czy IPSec. Każdy, kto w swojej karierze konfigurował OpenVPN bądź zestawiał tunel IPSec, dobrze zdaje sobie sprawę ile wymaga to konfiguracji. Wireguard oferuje znacznie prostszą konfigurację, która nie powinna być przeszkodą dla początkującego informatyka czy też zwykłego użytkownika domowego. Dodatkowym plusem jest znacznie wyższa wydajność połączenia w stosunku do OpenVPN. W tej części skupimy się na zestawieniu połączenia VPN między Mikrotikiem a komputerem z systemem Windows 10, czyli tak zwany Road Warrior.
Konfiguracja Mikrotik
Przed konfiguracją pamiętaj, aby zaktualizować winboxa do najnowszej wersji. Z bocznego menu wybieramy Wireguard. Znakiem plusa dodajemy nowy wpis.
- Name: podajemy dowolnie
- MTU: w przypadku problemów z połączeniem możemy ustawić 1412
- Listen Port: port na którym nasłuchuje Wireguard
- Public Key: klucz generuje się automatycznie, potrzebny do konfiguracji połączenia na stacji klienta

W następnym kroku przypisujemy adres IP dla nowego interfejsu. Przechodzimy na IP->Addresses znakiem plusa dodajemy nowy wpis. Adresacje przydzielamy dowolnie pamiętając o masce na końcu, a jako interfejs wskazujemy wireguard1

Przy ustawieniach wiregurada jako Listen Port ustawiliśmy 13231, teraz musimy odblokować ten port na firewallu. Standardowo plusem dodajemy nowy wpis.
- Chain: input
- Protocol: udp
- Dst. Port: 13231

Konfiguracja Klienta Windows 10
Udajemy się na stronę https://www.wireguard.com/ i pobieramy wersje dla Windowsa. Instalacja wymaga od nas kliknięcia kilka razy w dalej. Po poprawnej instalacji w prawym dolnym rogu systemu powinniśmy zobaczyć czerwoną ikonkę Wireguard. Klikamy prawym myszy i dodajemy nowy pusty tunel.


Cała konfiguracja tunelu Wireguard jest w postaci tekstowej. Według oficjalnej instrukcji pole Nazwa uzupełniamy opisem wg0, wg1, wg2, etc. Możemy oczywiście nadać swoją własną nazwę jednak zalecałbym utrzymać standard nazewnictwa od producenta. Podczas dodawania nowego tunelu zostanie wygenerowana para kluczy. Klucz publiczny musimy dodać na Mikrotiku w zakładce Peer.

Interface wybieramy wireguard1. Ponieważ Mikrotik pracuje jako serwer VPN, pola Endpoint i Endpoint Port nie musimy uzupełniać. Pozostaje nam Allowed Address, czyli adres IP jaki otrzyma stacja kliencka. Jako, że interfejs wireguard1 konfigurowaliśmy na adres 10.10.0.1/24, podajemy dowolny adres z tej samej podsieci, zmieniając maskę na /32.
Wracam do konfiguracji klienta Windows 10. Dokończymy ustawienia podając następujące parametry:
WireGuard config
[Interface]PrivateKey = 2Hbgp81rlmYCzQ/W4U5N8A8LpKwLn1SNbZchrwGHUGs=Address = 10.10.0.2/32DNS = 8.8.8.8[Peer]PublicKey = a3E49AWkTyaZI3IcqF/4qttMGagYjxd4YXPNjHLSZQs=AllowedIPs = 0.0.0.0/0Endpoint = 46.77.89.232:13231PersistentKeepalive = 10
- Address: Adres IP jaki otrzyma stacja kliencka, taki sam jak w Allowed Address w konfiguracji Peer’a na MT
- DNS: podajemy dowolnie, nasz wewnetrzny DNS, bądź publiczny
- PublicKey: Klucz publiczny interfejsu wireguard1 na Mikrotiku
- AllowedIPs: podając 0.0.0.0/0 przepuścimy cały ruch przez Mikrotika, włącznie z wyjściem do Internetu. Jeżeli chcemy ograniczyć połączenia VPN z dostępem tylko do konkretnych hostów możemy je wymienić po przecinku np. 10.10.0.50/24, 10.10.0.100/24
- Endpoint: publiczny adres IP i port Mikrotika na, którym pracuje Wireguard
- PersistentKeepalive: jeżeli korzystamy z maskarady NAT, to należy włączyć podtrzymanie sesji, czas jest w sekundach

W zakładce firewall > Nat musimy dodac:
add action=masquerade chain=srcnat src-address=10.10.0.0/24
10.10.0.0/24 – adres naszej podsieci konfigurowanej dla WireGuard w IP > Addresses