23T37 Tunele VPN Site to Site na Mikrotiku [Konfiguracja Mikrotik]
Więcej miejsc do posłuchania:
Link do artykułu.
0:00 Wprowadzenie
1:01 Topologia
3:03 Tunel IP Sec
10:18 Połączenie L2TP
16:44 Konfiguracja połączenia GRE
23:18 Podsumowanie
Transkrypcja
Cześć. Rzeczywistość pandemiczna już dawno za nami. Natomiast w czasach covidowych i post covidowych brak znajomości tematyki lub brak wdrożenia jakiegokolwiek rozwiązania VPN mogło dać się we znaki i to bez względu na to czy była to realizacja nastawiona na pracownika czyli umożliwienie pracy zdalnej czy na organizacje czyli połączenie kilku lokalizacji. Natomiast sobą troszeczkę powiązane ponieważ przy kilkunastu lub kilkudziesięciu lokalizacjach powielanie tej samej konfiguracji na każdą z nich mogłoby być trochę męczące. Dlatego dobrze jeżeli mamy taką możliwość zawczasu zastanowić się jak moglibyśmy usprawnić naszą infrastrukturę aby była bardziej przejrzysta i skalowalna. I to nawet nie w kontekście przyszłych lockdown’ów ale w kontekście rozwoju przedsiębiorstwa i łatwości zarządzania siecią. A więc dzisiaj tunele VPN Site to Site.
Zatem na początek przypomnijmy sobie naszą topologię sieci. Dzisiaj będziemy zajmować się tą częścią naszego środowiska testowego, która jest zaznaczona na czerwono. W tej topologii nasz switch będzie przyjmował rolę chmury czyli internetu, który jest rozdzielony na dwie lokalizacje a i b. Obie lokalizacje są w innych VLANach. Będą one siebie widziały od strony VANowej natomiast nie powiny one być widoczne w tym momencie od strony LANowejj nie powinny siebie widzieć. Co za chwilę przetestujemy i w takim razie patrzymy na stronę…
Próbujemy spingować od strony VANu… nasz router B. Czyli 192.168.13.2. Tak. mam połączenie do VANu. Natomiast teraz spróbujemy spingować sieć wewnętrzną, czyli ping 10.0.13 i 1 i to jak widzimy mamy time outy czyli nie ma połączenia. I to samo zróbmy po stronie routera B czyli terminal ping 192.168.12.2 VAN jest widoczny i teraz do sieci wewnętrznej po stronie routera A. Ping 10.0.12.1 i tutaj tak samo widzimy że nie ma tego routowania.
Zacznijmy od klasycznego rozwiązania, którym jest tunel IPsec. W tym celu przechodzimy do zakładki IP -> IPsec. Będę to robił jednocześnie po obu stronach tunelu. Przechodzimy na zakładkę profil es i wprowadzamy identyczne wartości. Nazwijmy sobie profile vpn i profile vpn. OK. Jeszcze przed tym zobaczmy czy na komputerze po stronie routera b, który znajduje się w sieci LAN możemy spingować stronę. Możemy spingować komputer, który jest po stronie a w sieci lokalnej. Czyli ping 10.0.12.10 z tego co pamiętam. Zobaczmy sobie po stronie a. Tak, z 10 jest. Drugi komputer więc pingujemy sobie 10 i jak widzimy nie ma żadnej komunikacji. W takim razie wracamy do naszych Mikrotików i ustawiamy profil połączenia wybierając sobie podstawowe mechanizmy szyfrowania. Apply. OK, apply, ok. Przechodzimy na zakładkę Proposals. Czyli jak będziemy się przedstawiać na obu końcówkach tunelu.
Tak to zostawmy. 1024, tu zostawmy 1024. Oczywiście im mocniejszy mechanizm szyfrowania wybierzemy tym nasz router będzie bardziej obciążony aby szyfrować całą komunikację z jednej sieci do drugiej ale tu zostawmy to na jakimś niskim poziomie. Ok. Przechodzimy następnie do zakładki Peers i wprowadzamy końcówki naszych tuneli czyli końcówką na routerze a będzie router b z adresem 192.168.13.2 i profil połączenia to będzie VPN i to samo po drugiej stronie. Router a z adresem 192.168.12.2. Gdzie profil będzie również VNP. OK. Jeżeli mamy dwie końcówki tunelu wprowadzone, przechodzimy na zakładkę Identities i wprowadzamy metodę hasło do szyfrowania połączenia. Wprowadzimy standardowe hasło od 1 do 8. Ok, apply. On nam mówi oczywiście że użyj mocniejszego hasła albo zmień metodę autentykacji natomiast to zostawimy bo dla celów testowych nie ma to żadnego znaczenia i przechodzimy na zakładkę Policies i mówimy teraz, że do routera b, tuneluj nam ruch z sieci 10.0.12.0/24 do sieci 10.0.13.0/24 i szyfruj wymagany poziom szyfrowania. Protokół użyty ESP i propozycja jaką się przedstawi po drugiej stronie i to samo po stronie b czyli do routera a tuneluj nam ruch z naszej sieci 10.0.13.0/24 do routera a 10.0.12.9/24 i tak szyfruj, wymagaj, zastosuj ESP i przedstaw się.
Tak, jak ustaliliśmy. W tym momencie zrobił nam się znacznik Active. Czyli widzimy, że przechodząc na zakładkę Active Peers mamy zestawiony tunel po obu stronach i teraz możemy spróbować czy widzimy komputer po drugiej stronie. Tak. Jeszcze raz spróbujemy pingnąć z routera b czyli z sieci 13… 10.0.13 do sieci 10.0.12. Możemy, nie możemy bo jeszcze zapomnieliśmy o jednej rzeczy a mianowicie musimy ustawić natowanie na naszym Firewallu. Czyli musimy powiedzieć, że z sieci 10.0.12.0/24 do sieci 10.0.13.0/24. Akceptuj ruch, OK i tą regułę powinniśmy wstawić na samą górę i po drugiej stronie to samo. Z sieci 10.0.13.0/24 do sieci 10.0.12.0/ 24, akceptuj ruch i wstawiamy tą regułę powyżej maskarady.
Próbujemy ponownie. Możemy zobaczyć czy już nasze połączenie się zestawiło, czy możemy pingować drugą stronę i tak w tym momencie po ustawieniu NATów już jesteśmy w stanie pingować drugą stronę. Teraz potrzebuję chwilki na to żeby wyczyścić konfigurację z obu routerów i zajmiemy się połączeniem typu L2TP. OK.
Konfiguracja na routerach została przywrócona do poprzedniego stanu zatem wracamy na router i konfigurujemy połączenie typu L2TP między routerami. W tym przechodzimy do zakładki PPP. Powiedzmy, że router B będzie naszym serwerem L2TP natomiast routerA będzie klientem i teraz zaczniemy od ustawienia danych logowania dla routera A i powiedzmy, że nazwą użytkownika będzie A, hasło od 1 do 8. Service L2TP, profil zostanie bez zmian natomiast tu musimy wprowadzić dodatkowo adresy, jakie adresy tak zwanej połączeniówki. Czyli jak zostawimy połączenie L2TP, jakie adresy między serwerem a klientem będą obowiązywać. I tutaj może wprowadźmy sobie adresację z klasy tej, po jednej stronie serwer będzie miał adres taki… Po drugiej stronie adres taki. Dodatkowo możemy wskazać od razu, że jeżeli ktoś się z nami połączy możemy ustalić dla tego użytkownika klasę dynamicznie i tak to zróbmy.
Czyli jeżeli zestawi się z nami użytkownik A to serwer od razu chce mieć bezpośredni połączenie w tunelu po stronie A czyli do sieci 10.0.12.0/24. Wychodź przez połączeniówkę i routerem po drugiej stronie będzie 172.16.12.1 i przeskocz przez router. Tak. Ta trasa zestawi nam się dopiero kiedy będzie aktywne połączenie i teraz po stronie serwera A wstawiamy w zakładce PPP klienta L2P. Czyli mówimy połącz nas po WANie do strony routera B 13.1 i wklepujemy poświadczenia, czyli user który się nazywał A z hasłem do 8
i tutaj zostawiamy już resztę bez zmian. Tu możemy sobie klikać, że będziemy używać szyfrowania. Natomiast to było już w poprzednim przykładzie więc może pozostawmy to bez zmian. Naciskamy Apply.
W tym momencie oczywiście połączenie jeszcze się nie zestawiło bo nie uruchomiliśmy naszego serwera. Wracamy więc zatem na zakładkę Interface, klikamy w kafelek L2TP, zaznaczamy Enabled, Apply i zaraz powinno nam się pokazać połączenie. Jeżeli wszystko dobrze skonfigurowaliśmy. Tutaj jest ok, tutaj jest 13, nie 1 tylko 2, oczywiście Apply i na serwerze już nam wyskoczyło aktywne połączenie. To samo mamy tutaj I teraz możemy przejść na naszego, na nasz komputer za routerem B i postarać się spingować stonę A 10.0.12.10 bo takie IP ma komputer po drugiej stronie i na razie mamy request, nic się nie dzieje. Ponieważ musimy ustalić jeszcze trasy do tych sieci. Po tej stronie tak jak mówiłem ta trasa, którą ustawiliśmy tutaj, ta trasa. Czyli wszystko co będzie kierowane do 10.0.12 niech przechodzi przez połączeniówkę. Z adresem 1 na drugim końcu. A to jest nasze połączenie L2TP. Tak, czyli ten wpis dodał się dynamicznie po wpisaniu tego wyrażenia tutaj i to samo musimy zrobić po drugiej stronie bo to się dynamicznie nie dodało.
Więc powinniśmy przejść na Routes i wprowadzić trasę do do sieci 0.13 tak. Czyli jeżeli Destination adres jest 0.13.0/24 to przechodź nam przez Gateway i
tu wskazujemy l2tp-out czyli to połączenie klienckie z serwerem, Apply, ok i w tym momencie cały ruch puszczony z sieci LAN za routerem B powinien przejść do tej sieci. tak, LAN za routerem A i ta sieć powinna odpowiedzieć dzięki czemu pingi będą już działały. Teraz wracamy i pingujemy tą drugą stronę i faktycznie w tym momencie po dodaniu dobrego routingu ping do nas wrócił i mamy połączone ze sobą dwie sieci.
Ok, zaraz zajmiemy się konfiguracją połączenia GRE tylko oczywiście potrzebuj chwilę czasu żeby przywrócić routery do konfiguracji domyślnej. Ok, routery przywrócone do ustawień początkowych i teraz bierzemy się za połączenie GRE. Jeszcze sprawdźmy czy połączenie między Site to Site działa. Nie działa, przechodzimy na routery i konfigurujemy połączenie GRE. W tym celu powinniśmy najpierw zdefiniować strony połączenia. W tym celu przechodzimy na zakładkę GRE Tunnel i definiujemy oba końce tuneli, tak. Czyli zostawmy sobie tutaj nazwy gre-tunnel i stroną zdalną tego tunelu będzie oczywiście router B. OK. Tu będzie Router A. 192.168.12.2. Apply, Ok. Teraz powinniśmy ustalić adres połączeniówki
Czyli przechodzimy, tu sobie to zmniejszymy żebyśmy widzieli adres połączeniówki. Czyli powiedzmy sobie, że w tym tunelu GRE jedna strona będzie miała adres 172.16.1.1 z maską 30 w sieci 1.0 na interfejsie GRE i tu podobnie. Czyli adres połączeniówki będzie 172.16.1.2 z maską 30 Networku 172.16.1.0 na interfejsie GRE. Ok. Jeżeli mamy już to ustawione to możemy teraz wpisać hasło. GRE jest o tyle fajne, że od razu pod spodem konfiguruje nam wszystkie ustawienia do IP Sec. Wystarczy, że wprowadzimy tutaj hasło. Oczywiście musimy odznaczyć Allow Fast Path i jeszcze raz. Apply, Ok. I tutaj to samo. Odznaczamy Allow Fast Path, Apply i Ok.
Czy w tym przypadku jesteśmy w stanie się połączyć. Jeszcze nie, zatem wracamy na nasze routery. Tu sobie zrobimy tak i musimy jeszcze po obu stronach wprowadzić routing czyli wyznaczyć trasę do każdej sieci. Po stronie routera A musimy powiedzieć, że wszystko co będzie wędrowało do sieci za routerem B ma być puszczane przez tunel GRE i w drugą stronę 10.0.20 do sieci 24 ma być puszczany też przez Tunel GRE. Apply, OK. Po obu stronach jakby się wszystko zgadzało i teraz próbujemy kliknąć. Ok czyli zapomnieliśmy jeszcze o czymś. Czy tu wprowadziliśmy hasło? Wprowadziliśmy. To jest ok.
Zestawmy sobie jeszcze raz tunel GRE. Tak, tak, Tak… Zestawmy na nowo i teraz sprawdźmy czy to działa. Jeszcze nie. Więc o czymś zapomnieliśmy. Mianowicie spróbujmy zmienić. To jest do sieci 13 nie przez tunel GRE tylko powiedzmy wpiszę z palca adres połączeniówki. To jest przez dwa. Ok. I tu wpiszemy do… nie 20 a 12. Wpiszmy tu 170.16.1.1 Apply, ok i zobaczmy jak to teraz wygląda. I teraz pingujemy bez problemu.
Zatem mamy wszystko aby zacząć ogarniać naszą infrastrukturę i budować jednolite sieci rozległe. Czy są to rozwiązania podążające za trendami? Na pewno nie ponieważ aktualnie do takich celów wykorzystuje się technologie SD-WAN, która w coraz to większym stopniu wybiera sieci MPLS a i tak najlepiej żeby wszystko śmigało w chmurze. Zależy też wszystko od tego jaki masz poziom wiedzy, co chcesz osiągnąć i jakie posiadasz zasoby. Niemniej najlepiej by było aby nasze rozwiązania bazowały na solidnych fundamentach, których mam nadzieję tutaj nie brakowało
Jeżeli chciałbyś poznać jak przemknąć drugą warstwę modelu OSI przez tunel. Zapraszam do kolejnego materiału. Cześć.