MikroTik jako serwer WireGuard VPN dla klientów Windows (road warrior)

WireGuard to niezwykle prosty, szybki i nowoczesny VPN. Wykorzystuje najnowocześniejszą kryptografię. W założeniu ma być pod wieloma względami lepszy niż IPSec czy OpenVPN.

Poprzedni artykuł mówił o połączeniu dwóch oddziałów firmy (routerów), teraz omówię prosty przypadek podłączenia zdalnego komputera z systemem Windows do centrali firmy. Topologia jest następująca:

Choć opis jest długi, to całość konfiguracji składa się z czterech prostych kroków.

Krok pierwszy. Na routerze R1 dodajemy interfejs WireGuard. Zwróć uwagę, że w tych komendach ustawiamy tylko numer portu. na którym nasłuchuje router (w tym przypadku 12345).

/interface wireguard add listen-port=12345 mtu=1420 name=WireGuard-Server

Z gui WinBox jest to zakładka WireGuard/WireGuard:

Po dodaniu interfejsu klucze (prywatny i publiczny) generowane są automatycznie, można je podejrzeć za pomocą komendy:

/interface/wireguard/print

Krok drugi. Dodajemy teraz na routerze R1 informację na temat jego sąsiada (peer). W tym przypadku laptopa z systemem Windows. Dla każdego klienta musimy stworzyć osobnego peera. Czyli w konfiguracji routera R1 wpisujemy klucz publiczny (Public Key) z klienta WireGaurd. Można go pozyskać klikając w Dodaj pusty tunel...:

Dalej na R1 pole Endpoint (publiczny adres IP) zostawiamy puste, ponieważ zezwalamy na połączenie z dowolnego adresu. Adresację sieci LAN (Allowed Addresss) ustawiamy zgodnie z topologią naszej sieci na 192.168.22.0/24 oraz na adresację tunelu 172.16.20.0/24:

/interface wireguard peers add allowed-address=192.168.22.0/24 endpoint-port=12345 interface=WireGuard-Server name=WireGuard-Client persistent-keepalive=15s public-key="34m0M3Yg+Ui1hd0mwmZ81UBIfcttH7CW2kAJWaUbUyo="

Krok trzeci. Na R1 Ustawiamy adresację utworzonego wcześniej interfejsu WireGuard-Server.

/ip address add address=172.16.20.1/24 interface=WireGuard-Server network=172.16.20.0

Krok czwarty. Konfiguracja klienta Windows. Dodajemy pusty tunel z następującą konfiguracją:

[Interface]
PrivateKey = 8NqLl1L9i1/fmbKjyZiEkqrA72ayVia32ixmCq8VLEw=
Address = 172.16.20.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = OPPJ8Bb6201zgXKVKZ3sjbLZ6QOaZj4u0k54MiQ6Yhg=
AllowedIPs = 0.0.0.0/32
Endpoint = 1.1.1.1:12345
PersistentKeepalive = 15

Pola jakie nas interesują to:

[Interface]Address – Adres IP interfejsu WireGuard.

[Peer]PublicKey – Klucz publiczny routera R1 pozyskany za pomocą komendy /interface/wireguard/print.

[Peer]Endpoint – Publiczny adres IP routera R1 wraz z numerem skonfigurowanego wcześniej portu.

Po wprowadzeniu konfiguracji klikamy przycisk Zapisz, a następnie Aktywuj. Prawidłowo zestawiony tunel wysyła i odbiera pakiety:

Widać to również na routerze R1:

Koniec 🙂

Jeżeli pomogłem to Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *