Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt
W większości przypadków podłączenie routera do VPN nie jest trudne, ale jeśli chcesz zabezpieczyć całą sieć, zachowując jednocześnie optymalną prędkość połączenia, najlepszym rozwiązaniem będzie wykorzystanie tunelu VPN WireGuard.

Routery Mikrotik zapewniły sobie reputację niezawodnych i bardzo elastycznych rozwiązań, ale niestety wsparcia WireGuard na RouterOS nadal nie ma i nie wiadomo, kiedy się pojawi oraz w jakiej formie. Niedawno dowiedziano się deweloperzy tunelu VPN WireGuard zaproponowali zbiór poprawek, że ich oprogramowanie do organizacji tuneli VPN stanie się częścią jądra Linux, mamy nadzieję, że to przyspieszy wdrożenie w RouterOS.

Ale na razie, niestety, aby skonfigurować WireGuard na routerze Mikrotik, trzeba zmienić oprogramowanie.

Wgrywamy 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 do 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.

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

1. Konfiguracja sieci, pobranie i konfiguracja serwera PXE

Pobierz Tiny PXE Server dla najnowszej wersji Windows.

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Przechodzimy do ustawień sieci: musisz ustawić statyczny adres ip dla jednego z interfejsów sieciowych swojego komputera.

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Adres IP: 192.168.1.10
Maska podsieci: 255.255.255.0

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Uruchom Tiny PXE Server z uprawnieniami Administratora i wybierz w polu Serwer DHCP serwer z adresem 192.168.1.10

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Naciśnij przycisk „…” (po prawej stronie) i wskaż folder, w którym pobrałeś pliki oprogramowania dla Mikrotik.

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

2. Ładowanie routera z serwera PXE

Podłącz kabel między PC a pierwszy port (wan, internet, poe in,…) routera. Następnie weź wykałaczkę i włóż ją w otwór z napisem „Reset”.

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

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

Przywróć ustawienia na karcie sieciowej i ustaw pobieranie adresu dynamicznie (przez DHCP).

Podłącz się do portów LAN routera Mikrotik (w naszym przypadku 2...5) za pomocą tego samego kabla. Po prostu przesuń go z portu 1 do portu 2. Otwórz adres 192.168.1.1 w przeglądarce.

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Następnie kliknij przycisk „Flash Image”.

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

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

!!! NIGDY NIE WYŁĄCZAJ ZASILANIA ROUTERA W TRAKCIE FLASZOWANIA !!!

Konfigurujemy WireGuard na routerze Mikrotik działającym na OpenWrt

Po flashowaniu i ponownym uruchomieniu routera otrzymasz Mikrotik z oprogramowaniem OpenWRT.

Możliwe problemy i ich rozwiązania

W wielu urządzeniach Mikrotik wydanych w 2019 roku używana jest pamięć FLASH-NOR typu GD25Q15/Q16. Problem polega na tym, że podczas aktualizacji oprogramowania nie są zachowywane dane o modelu urządzenia.

Jeśli zobaczysz komunikat „The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.”, to prawdopodobnie 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”, musisz ręcznie podać 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 ustaw go ręcznie:

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

Następnie możesz zaktualizować urządzenie za pośrednictwem interfejsu webowego lub za pomocą polecenia „sysupgrade”

Utwórz serwer VPN za pomocą WireGuard

Jeśli masz już serwer z skonfigurowanym WireGuard, możesz pominąć ten punkt.
Będę używał aplikacji do konfiguracji osobistego serwera VPN MyVPN.RUN o której już opublikowałem recenzję.

Konfiguracja klienta WireGuard na OpenWRT

Połącz się z routerem za pomocą protokołu SSH:

ssh root@192.168.1.1

Zainstaluj WireGuard:

opkg update
opkg install wireguard

Przygotuj konfigurację (skopiuj poniższy kod do pliku, zastąp podane wartości swoimi i uruchom w terminalu).

Jeśli korzystasz z MyVPN, w poniższej konfiguracji musisz zmienić tylko WG_SERV — adres IP serwera, WG_KEY — klucz prywatny z pliku konfiguracyjnego wireguard oraz 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}="interfejs"
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 partnerów 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

Na tym konfiguracja WireGuard jest zakończona! Teraz cały ruch na wszystkich podłączonych urządzeniach jest chroniony połączeniem VPN.

Linki

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

Źródło: habr.com

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