Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt
W większości przypadków podłączenie routera do VPN nie stanowi problemu, lecz jeśli chcesz zabezpieczyć całą sieć i jednocześnie zachować optymalną prędkość połączenia, najlepszym rozwiązaniem będzie skorzystanie z tunelu VPN. WireGuard.

Routery Mikrotik sprawdziły się jako niezawodne i bardzo elastyczne rozwiązania, ale niestety wsparcia WireGuard w RouterOS wciąż nie ma i nie wiadomo, kiedy się pojawi i w jakiej wersji. Niedawno stało się jasne że twórcy tunelu VPN WireGuard zaproponowali zestaw poprawek, które uczynią ich oprogramowanie do organizacji tuneli VPN częścią jądra Linux, mamy nadzieję, że to przyczyni się do wdrożenia w RouterOS.

Jednak na razie, niestety, aby skonfigurować WireGuard na routerze Mikrotik, należy zmienić oprogramowanie.

Flashujemy Mikrotik, instalujemy i konfigurujemy OpenWrt

Na początek musisz upewnić się, że OpenWrt obsługuje Twój model. Możesz sprawdzić zgodność modelu z jego nazwą handlową i zdjęciem na stronie mikrotik.com.

Przejdź na stronę openwrt.com w sekcji pobierania oprogramowania.

Dla tego urządzenia potrzebujemy 2 plików:

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin|elf

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin

Musisz pobrać oba pliki: Zainstaluj i Aktualizacja.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

1. Ustawienie sieci, uruchomienie i konfiguracja serwera PXE

Pobierz Tiny PXE Server najowszej wersji dla systemu Windows.

Wypakuj do osobnego folderu. W pliku config.ini dodaj parametr rfc951=1 sekcję [dhcp]. Ten parametr jest taki sam dla wszystkich modeli Mikrotik.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Przechodzimy do ustawień sieci: należy wpisać statyczny adres IP na jednym z interfejsów sieciowych komputera.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Adres IP: 192.168.1.10
Maska sieci: 255.255.255.0

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Uruchom Tiny PXE Server jako administrator i wybierz w polu Serwer DHCP serwer z adresem 192.168.1.10

W niektórych wersjach Windows ten interfejs może pojawić się dopiero po podłączeniu Ethernet. Zalecam podłączenie routera i natychmiastowe połączenie routera z PC za pomocą kabla Ethernet.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Kliknij przycisk „…” (w prawym dolnym rogu) i wskaż folder, w którym pobrałeś pliki firmware dla Mikrotik.

Wybierz plik, którego nazwa kończy się na „initramfs-kernel.bin” lub „elf”

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

2. Uruchamianie routera z serwera PXE

Podłącz komputer do pierwszego portu (wan, internet, poe in,…) routera za pomocą kabla. Następnie weź wykałaczkę i włóż ją w otwór z napisem „Reset”.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Włącz zasilanie routera i poczekaj około 20 sekund, a następnie zwolnij wykałaczkę.
W ciągu następnej minuty w oknie programu Tiny PXE Server powinny pojawić się następujące komunikaty:

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Jeśli komunikat się pojawił, to znaczy, że jesteś na dobrej drodze!

Przywróć ustawienia na karcie sieciowej i ustaw uzyskiwanie adresu dynamicznie (po DHCP).

Podłącz się do portów LAN routera Mikrotik (2…5 w naszym przypadku) tym samym kablem. Po prostu przełącz go z portu 1 do portu 2. Otwórz adres 192.168.1.1 w przeglądarce.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Zaloguj się do interfejsu administracyjnego OpenWRT i przejdź do sekcji menu „System -> Backup/Flash Firmware”

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

W poddziale „Flash new firmware image” kliknij przycisk „Wybierz plik (Browse)”.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Wskaź ścieżkę do pliku, którego nazwa kończy się na „-squashfs-sysupgrade.bin”.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Następnie kliknij przycisk „Flash Image”.

W następnym oknie kliknij przycisk „Proceed”. Rozpocznie się ładowanie oprogramowania do routera.

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

!!! W żadnym wypadku NIE WYŁĄCZAJ ZASILANIA ROUTERA W PROCESIE FLASHOWANIA !!!

Konfiguracja WireGuard na routerze Mikrotik z systemem OpenWrt

Po wgraniu oprogramowania i ponownym uruchomieniu routera otrzymasz Mikrotik z wgranym OpenWRT.

Potencjalne problemy i ich rozwiązania

W wielu urządzeniach Mikrotik wydania z 2019 roku używany jest chip pamięci FLASH-NOR typu GD25Q15/Q16. Problem polega na tym, że podczas flashowania nie zachowują się dane o modelu urządzenia.

Jeśli zobaczysz błąd „The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.” to najprawdopodobniej problem leży w pamięci FLASH.

Sprawdzenie tego jest proste: w terminalu urządzenia wykonaj polecenie sprawdzające ID modelu

root@OpenWrt: cat /tmp/sysinfo/board_name

A jeśli otrzymasz odpowiedź „unknown”, trzeba ręcznie wskazać model urządzenia jako „rb-951-2nd”

Aby uzyskać model urządzenia, wykonaj polecenie

root@OpenWrt: cat /tmp/sysinfo/model
MikroTik RouterBOARD RB951-2nd

Po uzyskaniu modelu urządzenia, instalujemy go ręcznie:

echo 'rb-951-2nd' > /tmp/sysinfo/board_name

Po tym możesz zflashować urządzenie przez interfejs webowy lub za pomocą polecenia „sysupgrade”

Stwórz serwer VPN z WireGuard

Jeśli masz już serwer z skonfigurowanym WireGuard, możesz pominąć ten krok.
Będę korzystał z aplikacji MyVPN.RUN o której już wcześniej publikowałem recenzję.

Konfiguracja klienta WireGuard na OpenWRT

Podłącz się do routera protokołem SSH:

ssh root@192.168.1.1

Zainstaluj WireGuard:

opkg update
opkg install wireguard

Przygotuj konfigurację (skopiuj kod poniżej do pliku, zamień wskazane wartości na swoje i uruchom w terminalu).

Jeśli używasz MyVPN, w poniższej konfiguracji musisz zmienić tylko WG_SERV — IP serwera, WG_KEY — klucz prywatny z pliku konfiguracyjnego wireguard i WG_PUB — klucz publiczny.

WG_IF="wg0"
WG_SERV="100.0.0.0" # adres IP serwera
WG_PORT="51820" # port wireguard
WG_ADDR="10.8.0.2/32" # zakres adresów wireguard

WG_KEY="xxxxx" # klucz prywatny
WG_PUB="xxxxx" # klucz publiczny

# Konfiguracja zapory
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci rename firewall.@forwarding[0]="lan_wan"
uci del_list firewall.wan.network="${WG_IF}"
uci add_list firewall.wan.network="${WG_IF}"
uci commit firewall
/etc/init.d/firewall restart

# Konfiguracja sieci
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="interface"
uci set network.${WG_IF}.proto="wireguard"
uci set network.${WG_IF}.private_key="${WG_KEY}"

uci add_list network.${WG_IF}.addresses="${WG_ADDR}"

# Dodaj peer'y VPN
uci -q delete network.wgserver
uci set network.wgserver="wireguard_${WG_IF}"
uci set network.wgserver.public_key="${WG_PUB}"
uci set network.wgserver.preshared_key=""
uci set network.wgserver.endpoint_host="${WG_SERV}"
uci set network.wgserver.endpoint_port="${WG_PORT}"
uci set network.wgserver.route_allowed_ips="1"
uci set network.wgserver.persistent_keepalive="25"
uci add_list network.wgserver.allowed_ips="0.0.0.0/1"
uci add_list network.wgserver.allowed_ips="128.0.0.0/1"
uci add_list network.wgserver.allowed_ips="::/0"
uci commit network
/etc/init.d/network restart

Konfiguracja WireGuard została zakończona! Teraz cały ruch na wszystkich podłączonych urządzeniach jest chroniony połączeniem VPN.

Linki

Źródło #1
Udoskonalona instrukcja na MyVPN (dodatkowo dostępna jest instrukcja konfiguracji L2TP, PPTP na standardowym oprogramowaniu Mikrotik)
Klient WireGuard OpenWrt

Źródło: habr.com

Kup niezawodny hosting dla stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting dla stron z ochroną przed DDoS, serwery VPS VDS | ProHoster