Kolejny artykuł z serii dbamy własne bezpieczeństwo. Co prawda L2TP nie jest w pełni szyfrowanym rozwiązaniem, ale w następnym artykule opiszę L2TP po IPSec. Ten możemy uznać jako wprowadzenie do następnego. Niestety dużo osób nie zdaje sobie sprawy jak ważne są jego dane, czy to adres emailowy, numer telefonu, imię nazwisko. Dzięki połączeniom VPNowym możemy w większym stopniu zabezpieczyć się przed wykradnięciem naszych danych. Konfigurujemy nasz domowy router Mikrotik L2TP Server. Konfigurację przygotowałem na sprzęcie Mikrotik RB951G-2HnD
Ustawiamy pulę adresów
W pierwszej kolejności przygotujemy nową pule adresową dla klientów VPN’a. Z lewego menu wybieramy IP->Pool
Musimy uzupełnić pola:
- Name: możemy wpisać dowolną nazwę
- Addresses: Podajemy zakres adresów oddzielonych znakiem minusa, czyli 10.10.10.2-10.10.10.40
Konfigiuracja VPN
Z bocznego menu wybieramy PPP, przechodzimy na zakładkę Profiles i za pomocą plusa dodajemy nowy profil. Dzięki temu wielu użytkowników VPN’a, będzie mogło pracować na tych samych zasadach.
W nowej zakładce uzupełniamy:
- Name: nazwa pofilu może być dowolna
- Local Address: najlepiej użyć początkowy adres z wcześniej stworzonej puli vpn, czyli 10.10.10.1
- Remote Address: z listy rozwijanej wybieramy nazwę wcześniej stworzonej puli dla vpn
Pozostałe parametry możemy zostawić domyślne.
Tworzenie użytkownika
Profil już za nami, teraz musimy stworzyć indywidualne konto użytkownika, który ma prawo do korzystania z VPN. W tym celu przechodzimy na zakładkę Secrets,klikamy na znak plus
w nowym oknie uzupełniamy:
- Name: wpisujemy nazwę użytkownika, coś na zasadzie loginu
- Password: ustawiamy hasło dla użytkownika
- Service: z listy rozwijanej wybieramy l2tp
- Profile: z listy rozwijanej wybieramy wcześniej stworzony profil l2tp
Pozostałe pola zostawiamy domyślnie. Ponieważ adresacje na sztywno ustawiliśmy w Profiles, te pola zostawiamy także puste.
Włączenie server L2TP
Wszystkie niezbędne kroki mamy już za sobą, pozostaje nam teraz włączenie usługi l2tp. W routerach mikrotik jest to bardziej niż proste. Przechodzimy na zakładkę Interface i klikamy w L2TP Server
W nowym oknie zmieniamy:
- Zaznaczamy checkiem Enabled
- Default Profile: z listy rozwijanej wybieramy nasz wcześniej stworzony profil l2tp
- Authentication: opcjonalnie odznaczamy wszystkie stare metody zostawiając tylko mschap2
Klikamy na OK.
Konfiguracja klienta L2TP
Przetestujemy nasz serwer. Wykorzystując drugi router podłączenie się do naszego serwera. Konfiguracja jest bardzo prosta. Z bocznego mu wybieramy Interfaces następnie klikamy na czarną strzałkę obok niebieskiego plusa. Z listy rozwijanej wybieramy L2TP Client
W nowym oknie przechodzimy na zakładkę Dial Out, i uzupełniamy:
- Connect To: podajemy publiczny adres naszego server l2tp
- User: pamiętasz pole name w zakładce secters, przy konfigurowaniu servera. To właśnie ta nazwa.
- Password: hasło, które podaliśmy przy tworzeniu konta w secrets
- Profile: zostawiamy bez zmian
Zdjęcia do konfiguracji robiłem z już wcześniej zmontowanego filmiku, dlatego nazwę jest mt2, a powinna być grzegorz proszę się tym nie sugerować. Pamiętajcie, że nazwa i hasło muszą być takie same jak na serwerze w zakładce Secrets!!!
Wróćmy na chwilę jeszcze do servera. Jeżeli wszystko dobrze ustawiliśmy powinniśmy zobaczyć dynamicznie utworzony interfejs. Jest to znak, ze wszytsko poszło zgodnie z planem.
Mikrotik L2TP Server – materiał video
Zapraszam także do zapoznania się z materiałem video 🙂
proszę poprawić błąd w ostatnim akapicie:
jest: Jest to znak, ze wyszło poszło zgodnie z planem.
powinno być: Jest to znak, ze WSZYSTKO poszło zgodnie z planem.
dzięki za dobry materiał
Dziękuje za informację:)
to może ja zostawie ciekawą zagadkę.
Stworzyłem server L2tp na mikrotiku.
1.Przez iphone łącze się i wszystkie hosty w cieci lokalnej odpowiadają
2. przez macbooka łącze się i odpowiada mi tylko gateway z sieci zdalnej lan
3. na systemach z windows wogólne nie można sie połączyć.
mikrotik od strony wanu stoi na lokalnej adresacji (mój dostawca przepuszcza cały ruch z określonego publicznego adresu ip na kokalny adres mojego routera)
czy macie ajkieś na to pomysły?
Czy serwer L2TP domyślnie ma jąkąś izolację hostów?
wygląda na to że client l2tp nie ma komunikacji z hostami w sieci, jedynie ze swoją bramą domyślną, może jest na to jakieś rozwiązanie?
załączam konfigurację:
/ip pool
add name=LAN ranges=192.168.0.100-192.168.0.200
add name=vpn ranges=192.168.0.201-192.168.0.220
/ip dhcp-server
add address-pool=LAN disabled=no interface=LAN lease-time=1d name=DHCP-DOM
/ppp profile
add local-address=192.168.0.201 name=L2TP remote-address=vpn
/interface l2tp-server server
set authentication=mschap2 default-profile=L2TP enabled=yes
/ppp secret
add name=***** password=***** profile=L2TP service=l2tp
Poradziłem sobie, włączenie proxy-arp na bridge rozwiązało problem 😉
Jakbyś miał inną podsieć dla użytkowników vpn, to zadziała bez proxy-arp. Dziękuje, że zostawiłeś komentarz. Przyda się dla innych na przyszłość.
proxy-arp nie polecam niebezpieczne lepsze hairpin nat i też bedzie widzieć.
Ja mam teraz tak że jest inna podsieć, a nie działa … :/
Co ustawiamy w zakładce PPP>L2TP Secrets ? to jest potrzebne do połączenia VPN ?
L2tp Secrets wykorzystujemy do zestawienia połączeń LAC/LNS, nie przyda Ci się do zwykłego VPN’a.
Skonfigurowałem połączanie według Twojego poradnika i pięknie się łączy, (dzieki za poradnik) ale… mam poprawne połącznie server L2TP i klient windowsowy, arp brige włączone ale nie mogę sie dostać do urządzeń podłączonych za serwerem VPN. Jakie reguły muszę dodać żeby sieć vpn widziała sieć lan? sieć z serwerem VPN ma adresację 192.168.1.1 a siec po stronie klienta ma 192.168.88.1.
A jak można ograniczyć dostęp klientów zewnętrznych, do jednego wewnętrznego IP?
Dziękuję bardzo za Pana artykuły, w dużym stopniu pomogły zrozumieć zasady tuneli.
Witam. Mam problem z połączeniem więcej niż 1 klienta z tego samego publicznego adresu IP. Gdy łączę kolejnego klienta to rozłącza aktualnie połączonego. Czy jest to ogólnie znany problem z translacją adresów i nie bardzo jest możliwość obejścia tego problemu czy jednak jest jakieś rozwiązanie? Dziękuję za odpowiedź
Przy l2tp server masz „max sessions”, ustaw np. na 5 i zobacz czy zadziała.
Niestety, niczego to nie zmieniło.
Ok, to włącznie w system->logging topic l2tp i debug i co tam pokazuje
Część loga po podłączeniu użytkownika USER2, gdy był już podłączony USER1:
Jan/22/2021 08:01:02 l2tp,ppp,info l2tp-USER2: connected
Jan/22/2021 08:01:15 l2tp,debug,packet sent control message to {CLIENT-PUBLIC-IP}:1701 from {SERVER-PUBLIC-IP}:1701
Jan/22/2021 08:01:15 l2tp,debug,packet tunnel-id=9, session-id=0, ns=2, nr=4
Jan/22/2021 08:01:15 l2tp,debug,packet (M) Message-Type=HELLO
Jan/22/2021 08:01:16 l2tp,debug,packet sent control message to {CLIENT-PUBLIC-IP}:1701 from {SERVER-PUBLIC-IP}:1701
Jan/22/2021 08:01:16 l2tp,debug,packet tunnel-id=9, session-id=0, ns=2, nr=4
Jan/22/2021 08:01:16 l2tp,debug,packet (M) Message-Type=HELLO
Jan/22/2021 08:01:17 l2tp,debug,packet sent control message to {CLIENT-PUBLIC-IP}:1701 from {SERVER-PUBLIC-IP}:1701
Jan/22/2021 08:01:17 l2tp,debug,packet tunnel-id=9, session-id=0, ns=2, nr=4
Jan/22/2021 08:01:17 l2tp,debug,packet (M) Message-Type=HELLO
Jan/22/2021 08:01:19 l2tp,debug,packet sent control message to {CLIENT-PUBLIC-IP}:1701 from {SERVER-PUBLIC-IP}:1701
Jan/22/2021 08:01:19 l2tp,debug,packet tunnel-id=9, session-id=0, ns=2, nr=4
Jan/22/2021 08:01:19 l2tp,debug,packet (M) Message-Type=HELLO
Jan/22/2021 08:01:23 l2tp,debug,packet sent control message to {CLIENT-PUBLIC-IP}:1701 from {SERVER-PUBLIC-IP}:1701
Jan/22/2021 08:01:23 l2tp,debug,packet tunnel-id=9, session-id=0, ns=2, nr=4
Jan/22/2021 08:01:23 l2tp,debug,packet (M) Message-Type=HELLO
Jan/22/2021 08:01:31 l2tp,debug,packet sent control message to {CLIENT-PUBLIC-IP}:1701 from {SERVER-PUBLIC-IP}:1701
Jan/22/2021 08:01:31 l2tp,debug,packet tunnel-id=9, session-id=0, ns=2, nr=4
Jan/22/2021 08:01:31 l2tp,debug,packet (M) Message-Type=HELLO
Jan/22/2021 08:01:39 l2tp,debug tunnel 112 received no replies, disconnecting
Jan/22/2021 08:01:39 l2tp,debug tunnel 112 entering state: dead
Jan/22/2021 08:01:39 l2tp,debug session 1 entering state: dead
Jan/22/2021 08:01:39 l2tp,ppp,debug : LCP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : LCP closed
Jan/22/2021 08:01:39 l2tp,ppp,debug : CCP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : BCP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : BCP down event in starting state
Jan/22/2021 08:01:39 l2tp,ppp,debug : IPCP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : IPCP closed
Jan/22/2021 08:01:39 l2tp,ppp,debug : IPV6CP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : IPV6CP down event in starting state
Jan/22/2021 08:01:39 l2tp,ppp,debug : MPLSCP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : CCP close
Jan/22/2021 08:01:39 l2tp,ppp,debug : BCP close
Jan/22/2021 08:01:39 l2tp,ppp,debug : IPCP close
Jan/22/2021 08:01:39 l2tp,ppp,debug : IPV6CP close
Jan/22/2021 08:01:39 l2tp,ppp,debug : MPLSCP close
Jan/22/2021 08:01:39 l2tp,ppp,info l2tp-USER1: terminating… – hungup
Jan/22/2021 08:01:39 l2tp,ppp,debug : LCP lowerdown
Jan/22/2021 08:01:39 l2tp,ppp,debug : LCP down event in starting state
Jan/22/2021 08:01:39 l2tp,ppp,info,account USER1 logged out, 82 49988 127324 614 436
Jan/22/2021 08:01:39 l2tp,ppp,info l2tp-USER1: disconnected