Mikrotik od zera – VPN Site-to-Site IPSec IKEv2 PSK #09
Tunel VPN Site-to-Site IPSec IKEv2 z Pre-shared key
W tej części kursu zestawimy bezpieczne połączenie między dwoma routerami Mikrotika hAP AC lite i RB3011 wykorzystując do tego celu protokół IPSec z IKEv2. Kilka słów wstępu o samym połączeniu IKEv2. Zestawienie połączenia odbywa się w dwóch fazach, które muszą posiadać identyczne parametry po obu stronach.
Konfiguracja pierwszego routera
Konfigurację adresacji, dhcp, bridge, maskarady wykonaliśmy w poprzednich materiałach, dlatego przechodzimy od razu do konfiguracji tunelu vpn ipsec. Z bocznego menu wybieramy IP->IPSec. Zaczynamy od przygotowania fazy pierwszej, która znajduje się w zakładce IPSec->Profile.
- Name: podajemy dowolnie
- Hash Algorithms: sha-256
- Enc. Alg.: aes-256
- DH Group: modp2048
W kolejnym kroku przygotujemy fazę drugą, która na Mikrotiku znajduje się w zakładce Proposals
- Name: podajemy dowolnie
- Auth. Alg.: sha1
- Encr. Alg.: aes-128 cbc
- Lifetime: 1h
- PFS Group: modp2048
Konfiguracja IPSec Peer
Zostajemy w oknie IPSec, przechodzimy na zakładkę Peers i znakiem plusa dodajemy nowy wpis.
- Name: podajemy dowolnie
- Address: publiczny adres IP drugiego routera
- Port: 500, domyślny port IKE
- Local Address: publiczny adres obecnie konfigurowanego routera
- Profile: wskazujemy wcześniej przygotowaną fazę pierwszą
- Exchange Mode: IKE2
Konfiguracja Identities
Przechodzimy na zakładkę Group i dodajemy dowolna grupę. Następnie klikamy w zakładkę Identities. Znakiem plusa dodajemy nowy wpis.
- Peer: wskazujemy wcześniej utworzony wpis
- Auth. Method: pre shared key
- Secret: dowolni ciąg znaków pełniący role klucza
- Policy Template Group: wybieramy wcześniej utworzoną grupę
- Generate Policy: port strict
Szyfrowanie ruchu w tunelu
Bardzo ważne jest, aby przed zestawieniem tunelu dodać regułę omijająca maskaradę. Ponieważ ruch w tunelu jest szyfrowany, i musi zostać poprawnie przetworzony przez firewalla. Z bocznego menu wybieramy IP->Firewall przechodzimy na zakładkę NAT i dodajmy nową regułę.
- Chain: srcnat
- Src. Address: lokalna podscieć
- Dst. Address: podsieć na drugim routerze
- Action: Accept
Wracamy do ustawień IPSec i klikamy w zakładkę Policy. Znakiem plusa dodajemy nowy wpis.
- Peer: wcześniej utworzony peer
- Tunnel: zaznaczamy
- Src.Address: lokalna podsieć
- Dst. Address: podsieć na zdalnym routerze
- Protocol: zostawiamy all
- Action: Encrypt
- Proposal: wcześniej utworzony wpis phase_2
Pozostałe parametry bez zmian.
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 AX Lite , hAP AC3, RB4011, RB260GS, RB2011
hAP AC3 LTE, hAP AX2, hAP AX3, L009UiGS-2HaxD-IN, RB5009UG+S+IN, Audience
LTE: SXT LTE kit, SXT LTE6 kit, LHG 5, LHG LTE kit, Audience LTE, Chateau LTE6 ax, LTAP LTE6
Access Pointy: mAP lite, mAP, cAP AX, cAP XL AC
POE: hEX PoE
LAB: hEX lite
Średnia/Duża firma: CCR1036-12G-4S, CCR2004-16G-2S+
Hej, mam problem z konfiguracją, robię według Twojego poradnika, a na drugim routerze w logach „no IKEv2 peer config for ” oraz „sendmsg (Invalid argument)” – konfiguracja identyczna, tylko adresy IP odwrotnie.
Drugi router to także Mikrotik?
I have same message. IPSEC tunels disconnect without any setting change. I Finnd more information too,
Witam
Skonfigurowałem zgodnie z instrukcją moje Mikrotiki po obu stronach tunelu ale ruch nie wpada do tunelu, reguła dodana, jak szukać przyczyny ?
Witam
Skonfigurowałem zgodnie z instrukcją moje Mikrotiki po obu stronach tunelu ale ruch nie wpada do tunelu tylko na bramę domyślną, reguła dodana, jak szukać przyczyny ?
ip firewall nat print
Flags: X – disabled, I – invalid, D – dynamic
0 chain=srcnat action=accept src-address=192.168.5.0/24 dst-address=192.168.0.0/24 log=no log-prefix=””
reguła na bypass maskarady jest?
Witam, na wstępie chciałbym podziekować za super artykuły. Mam również prośbę pytanie –
czy można prosić o tutorial lub wskazanie źródeł odnośnie postawienia TUNELU VPN CLIENT np. nordvpn lub innych na okreslonym interfejsie. Szukam rozwiązania na zasadzie eth1 – WAN , eth2,3,4 – „normalny dostęp do sieci” – eth5 dostęp tylko przez VPN. ETH1-4 oraz ETH5 całkowicie od siebie odseparowane i odizolowane. Dodatkowo w przypadku zerwania połączenia na ETH5 z VPN – całkowite wyłączenie ruchu
Dziękuję.
Cześć, przygotowuje podobny materiał jako router dla graczy z wykorzystaniem hAP ac3 lte właśnie z podziałem na VPN z norda. Dodatkowo np. wyjście do TS czy discorda poprzez łącze LTE, tak, żeby nikt nie poznał przypadkiem publicznego adresu IP.
Super !
Czy w ten sam sposób można zestawić połączenie z 3 routerem w tym samym czasie, przykładowo ze schematu na górze, prawy router komunikowałby się z jeszcze jednym routerem ? Czy na nim trzeba zdublować konfigurację wprowadzając drugi profil, drugi peer, drugą grupę i drugie identity, i preparując kolejną regułę NAT i drugą polisę ?
Lewy router nie musiałby się łączyć do nowego, trzeciego routera.
Tak można zestawić połączenie do kilku routerów jednocześnie.
1. Koniecznie należy wyłączyć ruch IPSec z Fasttrack!
2. Na RB2011 IPSec szyfrowanie ruchu ok 25 Mbps zajmuje u mnie 100% czasu procesora.
Nie polecam go do szyfrowanych tuneli.
Czy podasz więcej szczegółów jak to wyłączyć ?
Pawle, podasz więcej szczegułów jak to wyłączyć
Grzegorzu, mam w dwóch lokalizacjach na końcach po MIkrotiku. Jeden tunel między nimi leci na publicznym WAN. Na drugim porcie w każdym z nich mam sieć lokalną tych lokalizacji, i są one spięte już tunelem na innych mikrotikach przez innych dostawców. potrzebuję puścić drugi tunel między końcami ale już na istniejącym tunelu. Jakie elementy konfiguracji mam powielić. peery i Identities na pewno używając innych adresów tych w lokalnych sieciach. Czy powinienem zdefiniować także nową grupę, nowe Profile oraz nowy Proposal ?
Generalnie jest tak że jeden tunel „produkcyjny” po adresie publicznym dla podsieci 192.168.44.0/24 łączy do 192.168.45.0/24, a drugi tunel „testowy” ma łączyć podsieci 192.168.144.0/24 oraz 192.168.145.0/24 i ten tunel ma lecieć już innym łączem.
Proszę o podpowiedź
Każdy tunel powinien mieć osobne ustawienia, będzie tak prościej z późniejsza administracją. Jedynie co się nie zmieni, to odblokowane porty na firewallu(500,4500).
Drogi autorze mam spięty tunel ipsec między mikrotik a fortigate.
Mikrotik pinguje fortigate, ale już omputer podpięty do teog mikrotika nie.
Podpowiesz coś? w mode config nie mam nic ustawione, ktoś sugerował, że tam może być problem.
Sprawdziłbym kilka rzeczy:
1. Czy jest bypass maskarady na MT
2. Trasy routingu na komputerze, polecenie „route print”
3. Czy na Forti widać ruch przychodzący z adresu IP kompa, może wpada w złą regułe. Forti to pewnie NGFW i można filtrować w L7
Witam, odświeżę temat. Mam problem z podłączeniem telefonu. Łączy się, autoryzuje, dostaje adres i od razu pojawia się Killing ike2 SA
Jaka wersja RouterOS’a?
Najnowsza 7.2.1. Kombinuję z ustawieniami w Proposals i albo od razu rozłącza, albo pokazuję błąd: no proposal chosen.
Witam
Dziękuje za turtorial Urzywam dwóch urządzeń : Mikrotik rb750 gr3 próbuje zestawić tunel i mam w PH2 State = nophase2 Jest wszystko tak samo jak w poradniku 🙁 Mogę prosiść o sugestie ?
Nie wiem czy problem aktualny, ale może dołączyć screeny z konfiguracji.
Cześć,
Mam ustawiony tunel pomiędzy Mikrotikiem a Fortigate (F60) – wszystko działa pięknie. Jednakże chciałbym, aby użytkownik, który zaloguje się przez SSLVPN do Forti miał dostęp do hostów za Mikrotikiem. Z tego co widzę na Forti, to pcha prawidłowo ruch w interfejs tunelu ale nie ma połączenia – jak najlepiej od strony Mikrotika sprawdzić, czy coś do niego dociera ?
Opcja proxy-arp powinna pomóc.
Jak ja lubie te nie rzetelne pseudo tutoriale…. Badziewny Firewall… a gdzie reszta rulek ? Co z routingiem z trasami? Tego nie ma już i potem się dziwić że kilkanaście pytań „panie bo mi nie dziala” No nie dziala bo jak ma dzialac jak kazdy ma jakis FW i podstawowy config a w tutkach config wyzerowany. Proszę poprawić ten tutorial bo tunel na pustym configu zawsze zadziała a bezpieczenstwo reszty sieci = 0
Komentujesz jeden post z całej serii. Wprowadzenie do Firewalla jest tu: https://grzegorzkowalik.com/mikrotik-od-zera-wprowadzenie-do-firewalla-13/. Dodatkowo reguła drop any, blokuje wszystko 🙂
Cześć, tunel mi działa. Sieci się widzą.
Ale gdy z poza firmy łączę się przez openvpn do mojego routera to z komputera nie mogę dostać się do sieci po drugiej stronie tunelu s2s ipsec.
Pewnie powinienem dodać trasę statyczną z sieci openvpn do drugiej strony s2s ipsec?
Czy gdzieś w konfiguracji ipsec dodać sieć openvpn?
Zależy jak masz ustawiony routing w openvpnie. Jeżeli całość 0.0.0.0/0 leci na openvpna, to jeszcze po drugiej stronie musisz dodać trasę powrotną.
W konfiguracji klienta OpenVPN, mam dodaną trasę do sieci lokalnej routera oraz do sieci lokalnej drugiego routera za tunelem s2s. Lecz nic to nie daje. Jeżeli na pierwszym routerze mam adresacje 192.168.11.0/24 i do niego łącze się przez OpenVPN który rozdaje adresacje 192.168.200.0/24 , to jaką trasę powinienem dodać do routera który jest na drugim końcu tunelu s2s gdzie adresacja lan to 192.168.99.0/24
Witam, ustawiłem wszystko po kolei tak jak na tutorialu. W firewallu mam default config. Co powinienem zmienić aby mieć możliwość połączenia Site To Site
Zapomniałem dodać że jeden z routerów jest za modemem, nie jest w bridge więc nie widzi publicznego adresu. Czy to może mieć wpływ na połączenie ?
Możliwe, że ISP blokuje porty od IKE(500, 4500). Co pokazuje się w logach? Routery próbują zestawić połączenie? Ruch na porcie 500 się pokazuje(widać pakiety)?
Cześć Grzegorzu,
Dzięki za poradnik.
Skonfigurowałem i działa, ale mam zagwozdkę w której może mi pomożesz.
router mikrotik (LAN 192.168.0.0/24) 192.168.0.20 QNAP NAS (OpenVPN 10.8.0.0.24) Klienci to działa
router external (LAN 192.168.5.0/24> router mikrotik (192.168.0.0/24) – tunel IPSec to też działa
Może jesteś w stanie mi podpowiedzieć w jaki sposób przeroutować trasę aby zdalny pracownik z IP z puli OpenVPN 10.8.0.0/24, miał połączenie do sieci 192.168.5.0/24 po drugiej stronie tunelu IPSec?
Musisz dodać routing statyczny, a jako bramę ustawić IP po drugiej stronie tunelu.
U mnie przy konfiguracji w „Polices” kolumna ph-2 state ma wartość no phase2. Nie wiem, gdzie szukać rozwiązania.
Zobacz czy po obu stronach masz te same rodzaje szyfrowania, autentykacji. Za fazę 2 w MT odpowiadają parametry:
Zobacz czy po obu stronach masz te same rodzaje szyfrowania, autentykacji. Za fazę 2 w MT odpowiadają parametry:
A czy zamiast robić regułę srcnat mogę zrobić regułę forward w fw dopuszajacą ruch między moim planem a laner peera?
Niee, forward dotyczy połączeń wewnętrznych, tak tego ruchu nie odblokujesz.
*między moim lanem a lanem peera
Dziękuję za prowadzenie poradnika.
Taki tunel działa i spełnia swoje zadanie pomiędzy dwoma mikrotikami. Czy można w ten sposób zestawić 3 urządzenia? Najważniejsze aby z sieci urządzenia A komunikować się do B i C. Pomiędzy A – C nie koniecznie.
Tak, można łączyć kilka urządzeń. Musisz tylko wybrać który router ma zostać głównym urządzeniem w roli vpn serwera.
Dziękuję za odpowiedź. Teoretycznie zrobiłem wszystko zgodnie z poradnikiem (łączę mikrotika z sophosem) ale nie udaje mi się nawiązać komunikacji dostaję info jak w screenie. Czy mogę prosić o interpretację?
https://ibb.co/80wVHgN
Wygląda jakby ISP blokował port 500. Zobacz czy widzisz jakieś aktywne polaczenia na porcie 500.
Zweryfikowałem to i mój ISP nie blokuje portów (na wszelki wypadek dodali u siebie regułę), mój peer znajduje się w Niemczech i z tego co mówi ma zestawione inne tunele które działają, więc zakładam problem po mojej stronie… Teoretycznie faza 1 i 2 u nas są identyczne. W FW u siebie mam regułę input ack na porty 500,4500 oraz srcnat w obie strony. tunel się nie zestawia 🙁 Nie mam pojęcia dlaczego. Mój konfig:
/ip ipsec policy group add name=group14
/ip ipsec profile add dh-group=modp2048 enc-algorithm=aes-256 hash-algorithm=sha256 name=phase1
/ip ipsec peer add address=pub adres peera exchange-mode=ike2 local-address=mój publiczny adr name=peer1 port=500 profile=phase1
/ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc lifetime=1h name=phase2 pfs-group=modp2048
/ip ipsec identity add peer=peer1 policy-template-group=group14
/ip ipsec policy add dst-address=adressacja lan peera/23 peer=peer1 proposal=phase2 src-address=moja adresacja/24 tunnel=yes
/ip firewall filter add action=accept chain=input comment=”IPSec” dst-port=500,4500 in-interface-list=WAN protocol=udp src-address=pub ip peera
/ip firewall nat add action=accept chain=srcnat dst-address=adressacja lan peera/23 src-address=moja adresacja/24
/ip firewall nat add action=accept chain=srcnat dst-address=moja adresacja/24 src-address=adressacja lan peera/23
Zapomniałem dodać: Aktywne połączenia widzę ale z adresu mojego VLANU (mam ftth gpon) do adresu publicznego peera na porcie 500 po UDP
Jest pewien progres (chyba). W momencie kiedy usunąłem swój adres z zakładki IPSec Peer „Local Address” i zostawiłem to pole puste to otrzymałem log jak na screenie. Niby komunikat jasny ale ustawienia z obu stron są niby też te same… W Local Address widzę lokalny adres który dostaje na WANie przez Vlan FTTH od ISP. Chyba nie dam rady :/
screen:
https://ibb.co/FVYr23Y
Pozdrawiam
Sorry za spam ale może komuś się przyda. Rozwiązanie: 1. nie wpisywać nic w Peers> Local Address + 2. wpisać pub ip w Identity >My ID Address.
Dzięki za opisanie rozwiązania 🙂
Witam, mam ustawione podobnie ale szukam odpowiedzi na dwa pytania. (IP publiczny) Serwer MT 10.10.10.1/24 klientMT 10.10.10.2/24 . Pozostali klienci IKEv2 10.10.10.10-20. Postawiony EOIP. Serwer i PC połączone bezposredno do routerów widzą sieci wzajemnie ale klienci IKEv2 już nie. W czym może tkwić problem? I drugie pytanie. Wszyscy klienci maja wyjście w internet przez serwer , chciałbym w zależności od IP zrobić wyjscie przez drugi router. Z góry dzięki za pomoc
Sprawdź ustawienia routingu. Możliwe, że trzeba dodać statyczne trasy routingu. Co do wyjścia do Internetu, musisz zacząć markować pakiety w FW i przekierować na różne bramy.
Męczę się z tym już prawie pół roku:) Spróbuję opisać dokładniej. Sieć serwera 192.168.1.0/24 podłączona przez IKEv2 klienta z EOIP z 192.168.2.0/24 (serwer 10.0.0.1 i klient 10.0.0.2 i na tych adresach postawiony EOIP i ustawiony routing miedzy nimi) Tutaj wszystko działa ale
podłączając telefon przez IKEv2 adres z puli np, 10.0.0.10 ping działa tylko na siec 10.0.0.0/24 i 192.168.1.0/24 a przy 192.168.2/24 przechodzi ale nie ma odpowiedzi na telefonie (przez serwer przechodzi i wraca ,sprawdziłem w logach) . Trasa ustawiona 10.0.0.0/24 gateway 10.0.0.1 (lo bridge) Mam ustawione markowanie pakietów i bramę 192.168.2.1 ale pewnie nie działa przez to że nie przechodzą pingi z klienta ike do drugiego lanu. Co ciekawe jeśli podłączę się lokalnie do bridga przez kabel z EOIP wszystko elegancko działa. Z routingiem eksperymentowałem ale nie wymyśliłem nic sensownego bo ma ustawione 10.0.0.0/24 przez 10.0.0.1/24 a siec 192.168.2.0/24 ma brame 172.16.0.2 (druga część tunelu EOIP) Ping z 10.0.0.1 na 192.168.2.1 też nie przechodzi.
Witam
Mam pytanie jak puścić przez zestawiony tunel ruch tylko konkretnych IP lub konkretnego zakresu a nie całej podsieci 10.10.0.0/24 (lub jak wykluczyć IPs lub konkretny zakres)? Czy wystarczy odpowiednio zawęzić zakres zmiennej Src Address w: IP->Firewall-> NAT oraz w IPsec ->IPsec Policy np. na 10.10.0.100-10.10.0.200.
Z góry dziękuję za pomoc