Menu Zamknij

Mikrotik Point-2-Site VPN oparty o IPsec

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?

  1. Bo jest szybszy niż SSTP. Wg. samego Mikrotik nawet 3 krotnie.
  2. Bo część Mikrotików ma sprzętowe wsparcie dla IPsec.
  3. Bo standardowo wspiera go m.in. IOS i można zestawić taki tunel choćby z iPhone czy iPad

Konfiguracja L2TP/IPsec na Mikrotik

  1. 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„.
  2. 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.
  3. Wchodzimy do ustawień IPsec i dodajemy Policy Proposal
  4. Oraz dodajemy Peer Profile
    Jeś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

  1. Dostawca sieci VPN – Windows (wbudowane) – skorzystamy wtedy z klienta, który wchodzi w skład systemu operacyjnego
  2. 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„.


9 komentarzy

    • chris

      dzięki, poprawiam. 3des usunięty. IOS działa
      Co do wersji to zawsze aktualna stable. MT w domu same się aktualizują codziennie.

    • namex

      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.

    • chris

      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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.