Mikrotik IPSec IKEv2 z iOS12+

Mikrotik IPSec IKEv2 z iOS12+

VPN IPSec IKEv2

Każdy kto ceni prywatność i bezpieczeństwa danych powinien używać połączeń vpn nie tylko na komputerze, ale także i na telefonie, tablecie. Mając router Mikrotika możemy w dość prosty sposób przygotować konfigurację bazującą na protokole IKEv2. Jeżeli nie posiadasz routera Mikrotika, bądź nie chcesz, aby Twój operator podglądał co robisz sprawdź innych dostawców VPN’a

Konfiguracja Mikrotika

Komunikację między routerem a urządzeniem z system iOS dodatkowo zabezpieczymy certyfikatami. Nie wiąże się to z żadnymi dodatkowymi kosztami. Certyfikaty wystawami za pomocą routera. W pierwszej kolejności wygenerujemy certyfikat CA, jeżeli chcemy w przyszłości unieważniać certyfiakty CA-CRL Host podajemy publiczny adres IP routera. Przechodzimy na System->Certificates

  • Name: podajemy dowolnie
  • Country: PL, ale jest to pole opcjonalne
  • Common Name: CA
  • Key Usage: zaznaczamy crl sign, key cert. sign
Mikrotik generowanie certyfikatu CA
Mikrotik generowanie certyfikatu CA
Mikrotik podpisywanie certyfikatu CA

Generowanie certyfikatu serwera

Zostajemy w oknie z certyfikatami i znakiem plusa dodajemy nowy certyfikat. Potrzebujemy certyfiakt serwera i certyfikat dla klienta. Zaczynamy od wygenerowania certyfikatu dla serwera, czyli routera.

  • Name: podajemy dowolnie
  • Country: PL
  • Common Name: jeżeli mamy swoją domenę z przekierowaną na router, to w tym miejscu należy ją podać. W innym przypadku należy wpisać publiczny adres IP routera
  • Subject Alt. Name: publiczny adres IP routera
  • Key Size: 2048 lub wyższe
  • Days Valid: dowolnie, domyślnie jest 365 dni
  • Key Usage: tls server

W następnym kroku podpisujemy wygenerowany certyfikat wykorzystując wcześniej przygotowany certyfikat CA. Jako CA CRL Host ponownie podajemy publiczny adres IP routera. Jedną z ostatnich czynności jest zaznaczenie pola Trusted.

Mikrotik generowanie certyfikatu serwera
Mikrotik generowanie certyfikatu serwera
Mikrotik podpisywanie certyfikatu serwera

Generowanie certyfikatu klienta

Ponownie klikamy na znak plusa i przechodzimy do generowania certyfikatu dla klienta. Każdy klient powinien posiadać swój indywidualny certyfikat.

  • Name: podajemy dowolnie
  • Common Name: dowolna nazwa
  • Key Size: 2048 lub wyższe
  • Days Valid: domyślnie 1 rok, możemy dowolnie zmienić
  • Key Usage: tls client

Analogicznie jak przy certyfikacie serwera podpisujemy wcześniej wygenerowanym CA. Po zakończeniu podpisywania zaznaczamy pole Trusted

Mikrotik generowanie certyfikatu klienta
Mikrotik generowanie certyfikatu klienta
Mikrotik podpisywanie certyfikatu klienta

Eksportowanie certyfikatów

Kolejnym etapem jest wyeksportowanie certyfikatów na końcowe urządzenie. Potrzebny jest certyfikat CA oraz certyfikat klienta. Klikając prawym przyciskiem myszy na CA wybieramy opcje eksport. Podobną czynność wykonujemy dla certyfikatu klienta, ale w tym przypadku typ ustawiamy na PKCS12 i podajemy hasło. Dzięki temu w jednym pliku mamy certyfikat i klucz. Najprostszą metodą przesłania certyfikatów na urządzenie jest dodanie ich jako załączniki w poczcie. Jeżeli na telefonie bądź na tablecie macie skonfigurowaną pocztę poprzez domyślną aplikację mail, instalacja zajmuje kilka minut. Wrócimy do tego w dalszej częsci artykułu.

 

Mikrotik eksport certyfikatu CA
Mikrotik eksport certyfikatu klienta

Przygotowanie adresacji dla użytkowników VPN’a

Z menu wybieramy IP->pool i znakiem plusa dodajemy nową pulę. Adresację możemy ustawić dowolną.

Mikrotik konfiguracja puli adresowej pod VPN

Konfigurowanie IPSec

Przechodzimy na IP->IPSec i zaczynamy od zmiany domyślnego wpisu IPsec Proposal

  • Auth. Algorithms: sha256
  • Encr. Algorithms: aes-256 cbc
  • Lifetime: 00:30:00
  • PFS Group: none
Mikrotik konfigurowanie IPsec Policy Proposal

Następnie tworzymy nowy Peer Profile

  • Name: podajemy dowolnie
  • Hash Algorithms: sha256
  • Encryption Algorithms: aes-192, aes-256
  • DH Group: modp2048
  • Proposal Check: obey
  • Lifetime: 1d
  • Nat T : zaznaczamy

Mikrotik konfigurowanie IPsec Peer Profile

Kolejnym krokiem jest utworzenie Peer’a. Zmieniamy zakładkę na Peers i znakiem plusa dodajemy nowy wpis.

  • Address: chcemy, aby każdy(kto ma certyfikat) mógł podłączyć się do VPN’a, dlatego zostawiamy 0.0.0.0/0
  • Profile: wcześniej utworzony profil
  • Auth, Method: rsa signature
  • Exchange Mode: IKE2
  • Passive: zaznaczamy
  • Certificate: wskazujemy certyfikat serwera
  • Remote Certificate: wskazujemy certyfikat klienta
  • Policy Template Group: default
  • Send Initial Contact: odznaczamy
  • My ID Type: fqdn
  • My ID: wartość jaką podaliśmy w polu common name przy generowaniu certyfikatu serwera
  • Mode Configuration: cfg1
  • Generate Policy: port strict
Mikrotik konfigurowanie IPsec Peer
Mikrotik konfigurowanie IPsec Peer
Mikrotik konfigurowanie IPsec mode config

Konfiguracja iPhone, iPad

Na urządzeniach końcowych konfiguracja jest dużo prostsza. Tak jak wspomniałem trochę wcześniej najszybszą metodą na zainstalowanie certyfikatów jest wysyłka ich mailem. W przypadku domyślnej aplikacji mail w urządzeniach iOS, można bardzo łatwo zainstalować certyfikaty. Wystarczy otworzyć certyfikaty z załącznika.

Iphone instalacja nowego profilu
Iphone instalacja nowego profilu
Iphone instalacja nowego profilu
Iphone instalacja nowego profilu
Iphone konfiguracja VPN

Bardzo ważne jest, aby w polu ID zdalny ustawić taką samą nazwę jaką mamy przy Common Name certyfikatu serwera oraz pola My ID w ustawieniach Peer Profile.

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 AC Lite , hAP AC, RB4011, RB260GS, RB2011

LTE: SXT LTE kit, SXT LTE6 kit, LHG 5, LHG LTE kit

Extender/Repeater: mAP lite, mAP

POE: hEX PoE

LAB: hEX lite

Średnia/Duża firma: CCR1036-12G-4S

Materiał Video

21 Comments

  1. Janko

    Hi. Great video… PLEASE HELP ME 😉
    1. Should any ports be open?
    2. Any rules in firewall or nat?

  2. Adam

    Cześć,
    przebrnąłem przez Twój poradnik konfiguracji L2TP – działa. Zachciało mi się teraz certyfikatów i mam taki problem, że router (RB450G) odczuca połączenie od iOS 12.3.1; w logach można przeczytać: “ipsec,error EAP not configured”.
    W internetach nie znalazłem podpowiedzi.
    Poradź.

  3. Adam

    Hehehe, odpowiem sam sobie – w iPhonie w konfiguracji VPN ustawiłem uwierzytelnianie użytkownika certyfikatem, a powinno być “brak”. Teraz działa:)

  4. Luki

    Niestety w moim Microtiku nie ma opcji w Auth. Method: “RSA Signature”
    Najbardziej podobne to:
    “Digital signature” i “RSA Key”
    Proszę o pomoc 🙂

  5. Luki

    Jedynie co wstępnie zadziałało to “Digital Signature” i zaznaczenie w DH Group: “modp1024”.
    Wtedy przynajmniej przy połączeniu w logu mam informację:
    “Indentity not found for peer: client.ipsec”
    Nie wiem w czym problem.
    Frazę “client.ipsec” wpisałem w certyfikacie klienta według instrukcji.
    Jest szansa to naprawić?

  6. banan

    Czy da się to zrobić na zmiennym publicznym IP?

  7. MATT

    1. Czy da się to zrobić na publicznym IP?
    2. Moja wersja RouterOS (6.46.2) różni się ustawieniami IPSec.

    • 1. Tak, ale musi być to stały adres IP
      2. Przygotowuje nowy materiał w oparciu o najnowszy RouterOS

  8. matt

    Ad.1. publicznym i zmiennym IP oczywiście…

  9. m3a2r1

    A co mam przestawić, żeby po połączeniu z Androida nie pchał mi całego ruchu internetowego przez VPN?

    • m3a2r1

      sam sobie odpowiem: bez wstrzykniętych tras działa routing do wszystkich podsieci, do których trasy ma Mikrotik (ale cały ruch idzie przez vpn), z wstrzykniętymi trasami ruch sieciowy nie idzie przez vpn ale działa tylko pierwsza wstrzyknięta trasa. Ot taki mały bug MT.

  10. Hubert

    Dlaczego stosowana jest opcja “Uwierz. użytkownika: Brak”, skoro każdy wg opisu powinien posiadać swój własny certyfikat?
    Te 2 opcje ustawienia, który certyfikat ma zostać użyty przez iOS wynikają z IPsec czy jest to jakaś fanaberia Apple?

  11. Goorczyk

    Czy ta metoda pozwala na połączenie tunelem vpn więcej niż jednego komputera z tej samej lokalizacji (tego samego ip zewnętrznego)?
    Przy L2TP z IPsec występuje takie ograniczenie.

  12. Pawel

    Cześć,
    mam pytanie dot. certyfikatow dla ikev2
    Odwołałem certyfikat jednemu użytkownikowi , a temu nadal tunel się zestawia.
    Jako CA CRL host podałem wew. IP serwera.
    Czy to może być przyczyną?

    • Jeżeli jest to wewnętrzny adres, to lista odwołanych certów zostanie zaktualizowana po podłączenia się do tunelu. Użytkownik musi mieć także routing do tego adresu.

  13. Dzieki za fajny tutorial.
    Czy moglbys zrobic cos co spowoduje ze iphone 13.3 zadziala z mikrotikiem 6.47 poprzez IPSEC ? Niestety nie potrafie tego ustawic, jest blad w fazie proposal.

  14. Sivvek

    Fajny poradnik, dzięki.
    Z windowsa łączy się bez problemowo lecz iOS wypluwa mi w logu:
    “identity not found for peer: ADDR6: ********************”
    co zrobiłem nie tak?

  15. Rade

    Udalo Tobie sie to ogarnac ?

Dodaj komentarz

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