Konfiguracja Mikrotik Wireguard Site-to-Site
Mikrotik WireGuard Site to Site
Podczas konfiguracji WireGuarda w trybie RoadWarrior wykorzystywaliśmy jeden router oraz klienta w postaci maszyny wirtualnej z systemem Windows 10. W przypadku połączeń typu Site to Site, łączymy ze sobą routery, oraz podsieci dostępne za routerami. W zależności o konfiguracji, możemy udostępniać całą komunikację, bądź ograniczyć się do konkretnej podsieci, a nawet adresu IP. Połączenia typu site-to-stie używamy, gdy chcemy zestawić bezpieczny tunel między oddziałami firmy, czy też udostępnić kawałek sieć dla kontrahentów.
Bez schematu, nie da rady
Konfiguracja opiera się o dwa routery MT-1 i MT-2. Efektem końcowym naszych prac jest umożliwienie komunikacji hosta 192.168.88.254 za MT-1 z komputerem 192.168.99.254 znajdujące się za MT-2.

Konfiguracja MT-1
Konfiguracje zaczynamy o uruchomienia usługi Wireguard, w tym celu z bocznego menu wybieramy Wireguard i znakiem plusa dodajemy wpis. Na tym etapie konfiguracji najważniejszym parametrem jest Listen Port, 13231 jest domyślnym portem, który należy odblokować na firewallu.

Przechodzimy na IP->Firewall->Rules i dodajemy nową regułę.
- Chain: input
- Protocol: udp
- Dst. Port: 13231
- Action: accept

Jeżeli sprawdzałeś moje wcześniejsze materiały, a dokładniej serie Mikrotik od Zera, to doskonale zdajesz sobie sprawę, jak działa firewall w Mikrotiku, dlatego nową regułę należy przenieść znacznie wyżej. Dla lepszej widoczność dodajemy komentarz „Allow Wiregurad”.

W kolejnym kroku nadajemy adresacje IP dla usługi Wireguard i interfejsu wireguard1. Przechodzimy na IP->Addresses i znakiem plusa dodajemy nową adresację. Podsieć możemy wybrać dowolną, ja najczęściej stosuje 10.10.0.0.
- Address: 10.10.0.1/24, pamiętaj o masce na końcu
- Network: po kliknięciu w Apply, uzupełni się automatycznie
- Interafce: wskazujemy wireguard1, jeżeli nie widzisz takiego interfejsu, sprawdź czy na pewno dodałeś usługę Wireguard z kroku 1.

Jednym z ostatnich kroków na MT-1 jest konfiguracja Peer, czyli dodanie drugiego routera. Wracamy do ustawienie Wireguarad i przechodzimy na zakładkę Peer. Zanim dokończymy konfigurację potrzebujemy klucz publiczny z MT-2, aby go uzyskać musimy, aktywować usługę Wireguard na MT-2. Logujemy się na MT-2 i z bocznego menu wybieramy Wireguard i dodajemy nowy wpis, zatwierdzamy OK, a następnie kopiujemy klucz publiczny klikając prawym przyciskiem myszy i Copy All. Wracamy na MT-1 i uzupełniamy konfigurację:
- Interface: wskazujemy wireguard1
- Public Key: kopiujemy z drugiego routera MT-2
- Endpoint: publiczny adres drugiego routera MT-2
- Listen Port: zostawiamy domyślny port
- Allowed Address: możemy zawęzić komunikację do konkretnych podsieci, czy adresów IP, podając same zera nie nakładamy ograniczeń

Konfiguracja MT-2
Konfiguracja drugiego routera przebiega niemal identycznie jak ustawienia MT-1. Usługa Wireguard została już uruchomiona. Przechodzimy do odblokowania komunikacji na porcie UDP 13231, czyli domyślnym porcie Wireguarda. Przechodzimy na IP->Firewall i w zakładce Rules dodajemy nowy wpis.
- Chain: input
- Protocol: udp
- Dst. Port: 13231
- Action: accept

Następnie przechodzimy na IP->Addresses i dodajemy nowy adres IP dla interfejsu wireguard1. Na pierwszym routerze ustawiliśmy adres z podsieci 10.10.0.0/24, zostając w tej samej podsieci konfigurujemy wireguard1 na 10.10.0.2/24 .

W kolejnym kroku ustawiamy połączenie dodając pierwszy router w zakładce Peer. Klucz publiczny kopiujemy z MT-1.

Routing statyczny między routerami
Dodatkowym elementem w konfiguracji jest możliwość komunikacji między komputerem za MT-1 a komputerem za MT-2. Także host 192.168.99.254 powinien pingować host 192.168.88.254, aby taka komunikacja mogła zadziałać musimy dodać routing po obu stronach. Zaczynamy od MT-1. Przechodzimy na IP->Routes i dodajemy nową trasę.
- Dst. Address: 192.168.99.0/24, podsieć na drugim routerze MT-2
- Gateway: 10.10.0.2, adres IP interfejsu wireguard1 także z MT-2

Do pełnej komunikacji potrzebujemy statycznego wpisu także po stronie MT-2. Przechodzimy na IP->Routes i dodajemy nową trasę:
- Dst. Address: 192.168.88.0/24, czyli podsieć za pierwszym routerem MT-1
- Gateway: 10.10.0.1, czyli adres IP pierwszego routera MT-1

Materiał Video
Polecany sprzęt
Z własnego doświadczenia mogę wam polecić poniższy sprzęt, z podziałem na ewentualne przeznaczenie routera.
Do domu i małej firmy(SOHO): hAP AC Lite , hAP AC2, RB4011, RB260GS, RB2011
hAP AC3 LTE
LTE: SXT LTE kit, SXT LTE6 kit, LHG 5, LHG LTE kit
Extender/Repeater: mAP lite, mAP
POE: hEX PoE
LAB: hEX lite
Średnia/Duża firma: CCR1036-12G-4S
działa 🙂 teraz testy przepustowości
Coś mi nie chce działać.
Czy na WireGuard można połączyć więcej niż 2 podsieci?
W ogóle mam dziwną przypadłość, że przy IPSec MT1 łączy się z MT2 i całą siecią w obie strony. Jak dodam MT3 i MT4 które mają mieć kontakt z MT1 i siecią to albo działa w jedną stronę albo wcale przy identycznym CFG. DO tego połączenie z MT2 potrafi się zerwać.
Zakładam że mam na MT1 coś za bardzo namieszane.
Przygotowuje testową konfigurację. Sprawdzę jak to u mnie zadziała.
How to make ikv2 connect on android/windows/osx to ip public use ikev2 ipsec psk / ikev2 ipsec rsa?
Czy rozwiązałeś ten problem ,bo mam dokładnie to samo
Można połączyć więcej niż 2 podsieci i działa to sprawnie.
Cześć. Jak zwykle świetny poradnik. Mam pytanie dotyczące kwestii, że tylko jeden MT posiada stały zewnętrzny IP, a drugi jest połączony przez sieć komórkową. Czy da się tak zrobić aby ten z sieci komórkowej połączył się do tego ze stałym IP i dzięki tunelowi już odbywała się komunikacja w dwie strony? Bo chcę mieć dostęp do podsieci tego na sieci komórkowej…. Z góry dzięki za odpowiedź.
No to przecież tak masz to opisane. router na łączu komórkowym będzie się łączył do tego na publicznym. Pierw zrób połączenie 1:1 między routerami a później rozszerze allowed address do zadanych podsieci i tyle. Pamiętaj, że inne pule adresów musisz mieć na obu mikrotikach
No właśnie w opisie jest „podajemy publiczny adfes MT-2”, a na kolejnym zdjeciu jest podany publiczny IP MT-1. Dlatego się chciałem dopytać czy nie wystarczy aby tylko jeden był na public IP.
Mam problem z ta konfiguracja
z routera1 mogę pingować router2 oraz wszystko co jest w sieci2
z routera 2 mogę pingować router 1 oraz wszystko co jest w sieci1
z komputerów w sieci1 mogę pingować ip wg z routera1 oraz z routera2 ale nie mogę komputerów w sieci 2
z komputerów w sieci2 mogę pingować ip wg z routera2 oraz z routera1 ale nie mogę komputerów w sieci1.
Macie jakiś pomysł co może być powodem ?
Statyczne trasy na komputerach. Z wiersza poleceń route add IP/MASK BRAMA METRYKA np. route add 192.168.0.0 255.255.255.0 10.10.10.1 10
serio trzeba mieć statyczne trasy na komputerze ? te z routera nie działają ?
Możesz też zrobić tarcert ip_docelowy(np. tracert 192.168.0.100) i zobacz, gdzie ruch umiera.
Umiera na routerze. tylko do bramy mam trancert.
mam to samo – z routera pinguje wszystko…
z komputera nawet servera vpn nie pinguje… tylko brame wireguarda na lokalnym microtiku….
routing statyczny na mikrotiku nie pomaga….
chcialbym zeby caly ruch szedl przez interface wireguarda… albo caly ruch z ktoregos portu mikrotika…
udało i się rozwiążą ten problem ?
Wszystko dziala super na okreslone subnets. Jesli dodam routing 0.0.0.0/0 the wireguard tuner przestaje dzialac.
Co mozna zrobic aby caly traffic szedl przez mikrotika.
Po dwóch stronach masz w allowed IP: 0.0.0.0/0?
Ja mam to samo…. allowed addr 0.0.0.0/0 ale do netu idzie przez lokalna brame…
Hej.
Próbowałeś dopinać MT3 i więcej?
Bo próbuję i niestety przy dołączaniu trzeciego pada całość. Może to chodzi o te allowed IP: 0.0.0.0/0?
Tak, jak dodajesz kolejne urządzenia, to allowed IP wskazuj na konkretne IP.
Cześć,
Dodajcie Wireguard do bridga na obu mikrotikach, powinno ruszyć.
Mam trzy lokalizacje zdalne (nazwijmy je A, B, C), które łączą się z mikrotikiem w lokalizacji X (serwer wireguard).
Jedyny publiczny (niestety zmienny) adres IP mam dostępny na mikrotiku w lokalizacji X.
Na wszystkich mikrotikach są ustawione trasy do podsieci na pozostałych mikrotikach. Np. dla lok. A (192.168.B.0/24, 192.168.C.0/24 oraz 192.168.X.0/24), dla B (192.168.A.0/24, 192.168.C.0/24 oraz 192.168.X.0/24), itd.
Wszystko działa jak należy wszystkie mikrotiki widzą się nawzajem i wszystkie urządzenia w tych lokalizacjach mogą komunikować się ze sobą (warunek: na każdym mikrotiku interfejs wireguard jest dodany do bridga).
Jedyny problem pojawia się kiedy serwer z losowych przyczyn się rozłączy, wtedy pozostałe lokalizacje nie potrafią się połączyć z serwerem ponownie. Rozwiązałem to poprzez dodanie skryptu uruchamianego co 5 minut na wszystkich lokalizacjach poza lokalizacją X, który wyłącza (disable) i włącza ponownie (enable), Peera wireguard do serwera X.
Może powyższy opis pomoże kilku osobom.
z pozdrowieniami,
K.
Czy da się tak zrobić aby klienci łączący się z serwerem mieli dostęp do podsieci w domu? Mak wykupiony VPS na nim serwer Wireguarda. W domu jako, że nie mam stałego publicznego IP mam mikrotika i jest on Klientem Wireguarda.
Przy konfiguracji Peer dodaj podsieć jaką używasz w domu. Możesz dodać kilka adresów np. 192.168.0.0/24, 10.10.10.0/24, 10.0.0.0/24.
Hej.
zrobilem wszystko tak jak podales i oba mikrotiki sie widza i pinguja, ale niestety nie widza juz innych urzadzen za soba..
moze to byc przyczyna ze oba sa w tej samej sieci lokalnej ??
MT1 – 192.168.20.3 – 10.10.0.1 – 192.168.1.1
MT2 – 192.168.20.2 – 10.10.0.2 – 192.168.100.1
w podsieci MT1 jest drukarka z adresem 192.168.1.200 i podsiec MT2 juz jej nie widzi.. :/
co robie nie tak ? :/
sprawdzalem wszystko kilka razy i poleglem.. :/
Próbowałeś dodać statyczny routing? na MT1 dst.addr = 192.168.100.0/24 jako gw = 10.10.0.2, a dla MT2 dst.addr = 192.168.1.0/24 i gw = 10.10.0.1
tak, mam dodany i niestaty nie dziala.. :/
Sprawdź w connections czy podczas pingowania pojawia się ruch.
Mam dokładnie ten sam problem czy brak komunikacji.
To juz chyba tradycja że nowsze wersje fw Mikrotika często wywracają wszystko do góry nogami.
Ping z obu lokalizacji wzajemnie skutkuje:
SEQ HOST SIZE TTL TIME STATUS
0 126 (No error information)
0 10.10.10.2 84 64 392us host unreachable
1 126 (No error information)
1 10.10.10.2 84 64 348us host unreachable
Nie możesz pingować interfejsów wg??
To i podpytam.
Lokalizacja nr1
Adresacja 192.168.1.0/24
Lokalizacja nr2
Adresacja 192.168.88.0/24
Oba mikrotiki widzą się bez problemu. Mogę z podsieci 192.168.88.0/24 łączyć pulpitem zdlanym do servera na adresie 192.168.11.11. otwierać pliki udostępnione itd.
ALE
mam do rozwiązania taką zagadkę. W podsieci 192.168.88.0/24 mam podłączony skaner który ma statyczny adres 192.168.11.95, którego nie zmianiam, bo 4 dnio w tygodniu ten skaner znajduje się w lokalizacji nr1 i łaczy się do adresu 192.168.11.11 skanując tam pewne dokumenty do pewnego programu (skaner ma wbudowaną aplikację w którj konfiguruje się adres z którym ma się łaczyć i tam wrzucać zeskanowane dokumenty)
Raz w tygodniu znajduje się w lokalizacji nr2 i mając ten sam statyczny adres chciałbym żeby mógl skanowac do adresu 192.168.11.11. Czyli skaner ma adres 192.168.11.95, a jest wpięty do mikrotika z podsiecią 192.168.88.0/24 i ma coś przesłać do 192.168.11.11. Jak to ogarnąć przez wireguarda?
Mam podobny problem jak pozostali.
Mikrotik MT1 jest widoczny dla MT2. Polecenia PING z obu routerów działają wzajemnie pomiędzy sobą. Jednak komputery w podsieci MT1 (192.168.55.0/24) nie „pingują” niczego w podsieci MT2 (192.168.55.0/24) . Dodać warto, że interfejsy bramy (gateway) MT1 ()10.10.0.1) i MT2 (10.10.0.2) odpowiadają na „pingi” z komputerów w danej podsieci.
W MT1 i MT2 masz taką samą podsieć 192.168.55.0/24?
Czy ktoś rozwiązał ten problem gdzie jeden router ma publiczny adres a drugi nie?
Zrobiłem taka konfigurację tu: https://grzegorzkowalik.com/mikrotik-wireguard-server-dla-wielu-klientow/