Generator WireGuard MikroTik
Podaj sieć tunelu i swoich peerów, a otrzymasz konfigurację WireGuard dla RouterOS v7 oraz plik konfiguracyjny dla każdego laptopa, telefonu lub zdalnej lokalizacji.
Klucze powstają w przeglądarce i nigdy nie opuszczają urządzenia
Wymaga RouterOS v7 (WireGuard nie jest dostępny w v6). Klucze są generowane przez Web Crypto X25519 w przeglądarce; jeśli przeglądarka go nie ma, router wygeneruje własny klucz, a konfiguracje dostaną symbole zastępcze. Tylko adresy tunelu IPv4. MikroTik i RouterOS są znakami towarowymi SIA Mikrotīkls. To narzędzie jest niezależne i nie jest powiązane z firmą MikroTik ani przez nią rekomendowane.
Jak skonfigurować WireGuard w MikroTik
- Wpisz nazwę interfejsu, port nasłuchu, adres tunelu routera (np.
10.66.0.1/24) oraz adres publiczny, z którym będą łączyć się klienci. - Dodaj wiersz dla każdego peera z jego adresem w tunelu; dla połączeń site-to-site dodaj sieci za nim. Wybierz pełny lub dzielony tunel.
- Wklej skrypt RouterOS, przesuń regułę firewalla nad reguły drop i zaimportuj plik .conf każdego peera do jego aplikacji WireGuard.
WireGuard w RouterOS v7
WireGuard pojawił się w RouterOS 7 i jest konfigurowany w dwóch miejscach: /interface wireguard przechowuje parę kluczy routera i port nasłuchu, a /interface wireguard peers zawiera po jednym wpisie na zdalne urządzenie lub lokalizację, identyfikowane kluczem publicznym. Interfejs tunelu dostaje potem adres IP jak każdy inny, a reguły firewalla, trasy i listy interfejsów działają na nim w zwykły sposób. Nie ma nazwy użytkownika ani hasła: peerem jest ten, kto posiada klucz prywatny pasujący do skonfigurowanego klucza publicznego.
Sercem konfiguracji jest allowed-address każdego peera. Wymienia on adresy źródłowe, które router przyjmuje od tego peera, a zarazem adresy docelowe, które do niego wysyła. Po stronie urządzenia AllowedIPs pełni tę samą rolę w drugą stronę: 0.0.0.0/0 kieruje wszystko przez tunel, a lista sieci ogranicza tunel wyłącznie do nich.
Zanim się połączysz
- Router musi przyjmować UDP na porcie nasłuchu w łańcuchu input, nad regułami drop. Generator firewalla MikroTik może go otworzyć za pomocą
udp/13231. - Jeśli router stoi za innym urządzeniem NAT, przekieruj do niego port UDP, tak jak pokazuje Generator przekierowania portów MikroTik.
- Konfiguracje peerów zawierają klucze prywatne. Przenoś je na urządzenia zaufanym kanałem i usuwaj zbłąkane kopie.
Najczęstsze pytania
Czy klucze tworzone na stronie internetowej są bezpieczne?
Tworzy je wbudowana w przeglądarkę implementacja Web Crypto X25519, czyli ta sama krzywa, której używa WireGuard, a istnieją tylko w pamięci tej strony i w tekście, który pokazuje. Nic nie jest nigdzie wysyłane: strona nie ma komponentu serwerowego, a jej polityka bezpieczeństwa blokuje połączenia z innymi witrynami. Po zamknięciu karty klucze znikają, więc najpierw zapisz potrzebne konfiguracje.
Co jeśli moja przeglądarka nie potrafi generować kluczy X25519?
Strona poinformuje o tym i przełączy się na klucze utworzone gdzie indziej: skrypt RouterOS pomija klucz prywatny, więc router generuje własny podczas tworzenia interfejsu. Uruchom /interface wireguard print, aby odczytać jego klucz publiczny, wklej go do konfiguracji peerów, a klucz publiczny każdego peera (z jego aplikacji WireGuard) wklej do tabeli tutaj.
Czym jest allowed-address u peera MikroTika?
Działa jednocześnie jako lista dostępu i tablica routingu: router przyjmuje od peera pakiety tylko z tymi adresami źródłowymi i wysyła do niego ruch przeznaczony na te adresy. Dla pojedynczego urządzenia jest to jego /32. Dla zdalnej lokalizacji dodaj jej sieć LAN, a skrypt doda też trasę do niej.
Pełny czy dzielony tunel?
Pełny tunel (AllowedIPs 0.0.0.0/0 u peera) kieruje cały ruch urządzenia przez router, co przydaje się w niezaufanych sieciach Wi-Fi; router musi wtedy maskaradować adresy tunelu do internetu. Dzielony tunel kieruje tylko sieć tunelu i wymienione sieci, więc zwykłe przeglądanie pozostaje lokalne.
Po co peerowi PersistentKeepalive?
Telefon lub laptop za NAT może odbierać pakiety tylko wtedy, gdy jego wpis w NAT jest aktywny. Pakiet keepalive co 25 sekund utrzymuje go otwartego, dzięki czemu router może dotrzeć do peera, a tunel szybko wraca po przerwie.
Co dodaje klucz wstępnie współdzielony (preshared)?
Dodatkowy sekret symetryczny wmieszany w uzgadnianie połączenia, który zwiększa ochronę przed przyszłymi atakami kwantowymi na wymianę kluczy publicznych. Jest opcjonalny i musi być taki sam po obu stronach.