MikroTik RoadWarrior VPN WireGuard
Więcej miejsc do posłuchania:
Link do artykułu.
0:00 Wprowadzenie
0:25 Utworzenie Wirtualnego Interfejsu dla WireGuarda
0:54 Utworzenie Podsieci dla WireGuarda
1:37 Konfiguracja Peerów
4:04 Instalacja WireGuard w systemie Linux
9:56 Podsumowanie
Transkrypcja
Cześć, chcesz dowiedzieć się jak skonfigurować WireGuard RoadWarrior na routerze MikroTik? To rozwiązanie jest najczęściej wykorzystywane, jeśli chcesz połączyć się z routerem wykorzystywanym np w domu i w internecie przedstawiać się IP domowym, niezależnie od miejsca w którym się znajdujesz. W tym odcinku pokażę jak zestawić takie połączenie. Zapraszam.
Aby skonfigurować WireGuard RoadWarrior na routerze MikroTik należy: utworzyć wirtualny interfejs dla WireGuarda, Tworzymy nowy interfejs. Nazwiemy go wg2. Zmienimy też port nasłuchiwania na 13232. Naciskamy Apply. Mamy klucz publiczny, który będą wykorzystywały urządzenia zewnętrzne do połączenia się za pośrednictwem WireGuard VPN-a. Teraz należy utworzyć podsieć dla WireGuarda. W tym celu przechodzimy do IP Addresses. W poprzednim odcinku była wykorzystywana sieć 10.255.255. Dla tej konfiguracji możemy wykorzystać np 10.255.254. W polu adres wpisujemy 10.255.254.1, będzie to adres IP tego interfejsu, na 24. Z listy interfejsów wybieramy wg2. Apply i ok. Mamy tutaj utworzoną podsieć. To okno możemy zamknąć. Tą informację o kluczu publicznym jeszcze zostawimy.
Teraz przejdziemy do konfiguracji Peerów. Należy tutaj dodać wszystkie urządzenia, które mogą się komunikować z tym routerem. Wybieramy interfejs wg2. W polu Allowed Address wpisujemy adres IP urządzenia pod jakim może się komunikować z serwerem WireGuard. W tym przypadku będzie to 10.255.254.2/32. Maska 32 bitowa jest wpisana dlatego, że nie definiujemy zakresów, tylko jeden konkretny adres, który może się komunikować. Wymaganą informacją będzie jeszcze klucz publiczny. Teraz konfigurację można wykonać np na telefonie z systemem Android lub iOS lub dowolnym innym urządzeniu z aplikacją WireGuard. W tym przypadku będę wykorzystywał EVE-NG. Kiedyś było dodawane urządzenie z systemem Linux. Przykładowo taki system można właśnie wykorzystać w tym scenariuszu. Serwer jest już podłączony do internetu. Uruchamiam go. Konto root. Domyśle hasło dla takiej maszyny Test123. Ten system dostał z centralnego serwera DHCP adres IP 10.253.253.104. Ta adresacja nie pochodzi od żadnego z routerów MikroTik. Teraz korzystając z WireGuarda będziemy musieli połączyć się z routerem MikroTik1. Należy zaktualizować system Linux. Kilka minut później…
Teraz zainstaluje WireGuarda w systemie Linux. Należy wykonać polecenie apt install wireguard. Naciskamy enter. Więc poleceniem wg można konfigurować WireGuarda w systemie Linux. Należy dodać nowy wirtualny interfejs do tego Linuxa poleceniem ip link add dev wg0 type wireguard Poleceniem ip address add dev wg0 i adres IP: 10.255.254.2 I dopisuję peer 10.255.254.1 Poleceniem umask 077 ustawiam maskę dla właściwości pliku, które będę tworzył za chwilę. Poleceniem wg genkey generuję klucz prywatny i przekierowuję wynik tego polecenia do pliku privatekey. Tutaj jak widać plik ma tylko uprawnienia odczytu i zapisu dla właściciela a właścicielem jest root. Można podejrzeć zawartość tego pliku. Jest tutaj klucz prywatny. Teraz na podstawie tego klucza prywatnego zostanie wygenerowany klucz publiczny. Poleceniem wg pubkey przyjmujemy za wejście privatekey a wynik zapisujemy do pliku publickey. Klucz publiczny został wygenerowany. Mamy tutaj dwa pliki privatekey i publickey. Może tą konfigurację dokończę za pośrednictwem połączenia SSH. wg set wg0 listen-port 13232 jako porty z MikroTika i port połączeniowy ze strony Linuxa. Następnie parametr privatekey wskazuje ścieżkę do pliku z kluczem prywatnym. Następnie definiuję peer’a. Wklejamy tutaj skopiowany wcześniej klucz publiczny ze strony routera MikroTik. Zezwalam na połączenie, zezwalam na wszystko. Czyli wpisuję 0.0.0.0/0, jako endpoint wpisuję publiczny adres routera MikroTik. O ile to możliwe najlepszym scenariuszem jest wskazanie nazwy domenowej. Ja w tym przypadku podam adres IP, który otrzymał router z publicznego serwera DHCP traktując go jako adres publiczny. Będzie to 10.253.253.103 i port na którym nasłuchuje: 13232. Tutaj jest jeszcze jeden mały drobny błąd. W tym scenariuszu to urządzenie nie będzie nasłuchiwało. To już chyba wszystkie wymagane parametry. Teraz poleceniem ip link set up dev wg0 podnosimy ten interfejs. Poleceniem wg show możemy sprawdzić status połączenia.
Zobaczmy w ifconfig czy są informacje o konfiguracji. Jest 10.255.254.2 Jeszcze do MikroTika powinna zostać dodana informacja o peer. Przechodzimy do zakładki Peers. Wybieramy interfejs wg2. Tutaj należy wkleić klucz publiczny z Linuxa. Poleceniem cut można wyświetlić zawartość pliku z kluczem publicznym lub skopiować klucz publiczny z tej wartości. Tutaj wklejam klucz publiczny. W Allowed Address wpisuję adres IP Linuxa. Oczywiście z sieci WireGuarda: 10.255.254.2/32. To są wszystkie wymagane informacje bo w sumie jedyne, które potrzebujemy i są niezmienne. Naciskamy Apply i OK. Spróbuje skomunikować się z routerem. 10.255.254.1. Router odpowiada. Komunikacja z WireGuard została nawiązana.
Jak mogłeś zauważyć ta konfiguracja jest zbliżona do konfiguracji, która była wykonywana ostatnio jako połączenie Side to Side z tą różnicą, że nie odbywa się tutaj komunikacja z żadnym innym urządzeniem. Mam nadzieję, że ten odcinek był dla Ciebie pomocny. Do następnego razu.