Cześć
W zasadzie większość osób, które korzystają z Mikrotików jako routerów korzysta z wbudowanych rozwiązań do VPN aby dostawać się do sieci wewnętrznej.
Takim przykładem może być również uruchomienie Mikrotika w Azure dla zabezpieczenia małych rozwiązań (pisałem o takim rozwiązaniu jakiś czas temu).
RouterOS oferuje wiele rozwiązań do VPN dla użytkowników końcowych:
- PPTP (Point-to-Point Tunelling Protocol), dostępny niemal z dowolnego urządzenia i łatwy w konfiguracji – niestety obecnie nie zalecany, ze względu na bezpieczeństwo. PPTP poprostu jest dziurawy 🙁
- IPsec – rozwiązanie zalecane głównie do połączeń Site-2-Site. Konfiguracja dla Point-2-Site była by zbyt złożona (choćby ze względu na wymóg podania adresu IP z którego następuje połączenie.
- L2TP/IPsec – protokół L2TP jest dość prosty w konfiguracji, można go dodatkowo zabezpieczyć przez IPsec zyskując bardzo bezpieczne medium komunikacyjne, co istotne – większość nowych OS pozwala na zestawienie takiego połączenia (począwszy od Windows przez komputery MAC/Linux jak i urządzenia mobilne Android, IOS). O tej konfiguracji opowiem poniżej
- OVPN (Open VPN). Bezpieczne rozwiązanie (oparte o OpenSSL), które wymaga instalacji na urządzeniu dodatkowego oprogramowania.
Czemu L2TP/Ipsec?
- Bo jest szybszy niż SSTP. Wg. samego Mikrotik nawet 3 krotnie.
- Bo część Mikrotików ma sprzętowe wsparcie dla IPsec.
- Bo standardowo wspiera go m.in. IOS i można zestawić taki tunel choćby z iPhone czy iPad
Konfiguracja L2TP/IPsec na Mikrotik
- Tworzymy w Mikrotik serwer L2TP i dodajemy wymóg szyfrowania połączenia poprzez IPsec.
Zwróćcie uwagę na pozycję Use IPsec. Jeśli wybierzemy wartość „yes„, to umożliwimy zestawienie połączeń zarówno z aktywnym IPsec jak i bez niego. Jesli chcemy wymusić IPsec dla każdego tunelu L2TP wybierzcie wartość „required„. - Tworzymy użytkowników, którzy będą logować się do naszego serwera VPN. Kluczowe jest wybranie usługi do której loguje się użytkownik (Service) o wartości „l2tp„.
Oczywiście jeśli posiadacie serwer RADIUS to można ten punkt pominąć, dodając odpowiednią konfigurację po stronie serwera Radius. - Wchodzimy do ustawień IPsec i dodajemy Policy Proposal
- Oraz dodajemy Peer ProfileJeśli macie wysokie restrykcje na Firewall to oczywiście trzeba jeszcze dodać trochę dodatkowych portów do połączeń: 500/UDP, 4500/UDP, 1701/UDP, ESP
I jeszcze w/w konfiguracja w wersji dla zaawansowanych (CLI).
/interface l2tp-server server
set allow-fast-path=yes authentication=mschap2 default-profile=profile-vpn enabled=yes ipsec-secret=_IPSEC_PASSWORD_ use-ipsec=yes
/ip ipsec peer profile
add dh-group=modp1024 enc-algorithm=aes-256,aes-128 name=profile_ios
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=aes-128-cbc
add enc-algorithms=aes-256-cbc,aes-128-cbc name=ios pfs-group=none
Konfiguracja w Windows 10
Jak pisałem na wstępie Windows posiada pełne wsparcie dla tunelu VPN opartego o L2TP i IPsec, konfiguracja wymaga wybrania odpowiedniego protokołu i wypełnienia raptem kilku pozycji
- Dostawca sieci VPN – Windows (wbudowane) – skorzystamy wtedy z klienta, który wchodzi w skład systemu operacyjnego
- Typ sieci VPN: L2TP/IPsec z kluczem wstępnym – to jest nasz typ połączenia, gdzie sam protokół IPsec chronimy przy użyciu hasła (klucza)
Konfiguracja dla IOS
W przypadku urządzeń Apple konfiguracja wygląda podobnie jak do tej z Windows, tu też wybieramy typ połączenia VPN, w tym przypadku będzie to L2TP, wybieramy opcję bez RSA SecureID (autoryzujemy połączenie kluczem do IPsec a nie certyfikatem). W IOS klucz dla IPsec to pozycja „Hasło wspólne„.
Proponuje wywalić 3dsa z polityk oraz prośba o podanie ver RouterOS na której konfigurowałeś
dzięki, poprawiam. 3des usunięty. IOS działa
Co do wersji to zawsze aktualna stable. MT w domu same się aktualizują codziennie.
Jak umożliwić korzystanie z internetu przy takim połączeniu? Mi po zestawieniu tego VPN rozłącza internet.
Tak na 99% masz do zmiany firewall.
Myślę że masz tam tamte coś jak drop forward.
Musisz dodać regułę która nie wytnie Ci ruchy po VPN.
Nie ładują się obrazki, prośba o poprawę linków. Dzięki
Dzięki za zwrócenie uwagi. Poprawione
A ja mam: no suitable proposal found
I co zawiera „profile-vpn” użyty w L2TP server
W moim przypadku profile-vpn zawiera:
PPP > Profiles
/ppp profile
add change-tcp-mss=yes local-address=__lokalny_IP_dla_VPN__ name=profile-vpn remote-address=__pula_adresow_dla_klientow_vpn__ use-encryption=yes
no suitable proposal to komunikat z ipsec
IP > IPsec > Proposals
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=aes-128-cbc
add enc-algorithms=aes-256-cbc,aes-128-cbc name=ios pfs-group=none