Konfiguracja klienta – Windows 10
Poradnik był wykonany przy użyciu systemu Windows 10 Pro kompilacja 18363.
Dodawanie certyfikatów
Konfigurację klienta w systemie Windows 10 zaczynamy od importu certyfikatów do systemu. W tym celu wchodzimy przez menu Start do przystawki „Zarządzaj certyfikatami komputerów”.
W menu po lewej wybieramy folder Osobisty->Certyfikaty na który klikamy prawym przyciskiem myszy i wybieramy „Wszystkie zadania”->Importuj.
Uruchamia nam się kreator gdzie cała nasza praca ogranicza się do wyboru pliku .p12 oraz wpisania hasła użytego podczas eksportu certyfikatu w RouterOS.
Do listy zostanie dodany certyfikat klienta (z symbolem klucza w ikonce) oraz certyfikat CA który w postaci publicznej (bez klucza prywatnego) jest częścią pliku .p12. Certyfikat CA musimy przenieść (przeciągając) do magazynu „Zaufane główne urzędy certyfikacji”->Certyfikaty.
Natomiast certyfikat CA który osobno eksportowaliśmy na MikroTik’u (plik .crt) umieszczamy w wygodnym dla nas miejscu w systemie. Ja zmieniłem sobie sobie jego nazwę i u mnie będzie to C:\certs\cert_ca.crt. Poniżej wyjaśnię dlaczego.
Dodawanie połączenia VPN
Ze względu na dużą ilość okienek do „przeklikania” na Windowsie połączenie dodany za pomocą jednej komendy w PowerShell.
Add-VpnConnection -Name "NAZWA_POŁĄCZENIA" -ServerAddress ADRES_DOMENOWY_SERWERA -TunnelType Ikev2 -AuthenticationMethod MachineCertificate -EncryptionLevel Maximum -MachineCertificateIssuerFilter 'ŚCIEŻKA_BEZWZGLĘDNA_DO_CERTYFIKATU_CA'
Uwagi i napotkane problemy
Obsługa wstrzykiwanych tras routingu
Jeśli chcemy aby Windows przyjmował trasy wysyłane przez serwer do powyższego polecenia dodajemy parametr -SplitTunneling po jego dodaniu Windows będzie wysyłał przez tunel tylko trasy które przewiduje konfiguracja „Split Include” w zakładce „Mode Configs” w RouterOS. Jeżeli nie wyślemy żadnych tras Windows nic nie wyśle przez tunel. Natomiast brak parametru spowoduje że Windows domyślnie będzie kierował cały ruch przez tunel VPN.
Wysyłanie bramy domyślnej przy aktywnej fladze „SplitTunneling”
Ktoś mógłby powiedzieć że zawsze będzie dodawał taką flagę i gdy będzie chciał aby klient kierował cały ruch przez tunel to wyśle mu trasę 0.0.0.0/0. W teorii świetny pomysł ale zobaczmy jak wygląda trasa routing’u (przy połączeniu kablowym):
Widzimy tutaj że system przyjął trasę domyślą z tunelu jednak metryka interfejsu ethernet jest niższa niż ta dla tunelu tak więc system nadal będzie korzystał z niej zamiast z tunelu.
Rozwiązaniem jest wysłanie dwóch tras po „połowie” Internetu (0.0.0.0/1 i 128.0.0.0/1):
W tym przypadku metryka nie gra roli ponieważ w myśl zasady że „trasa bardziej dokładna jest ważniejsza” ruch wyjdzie tunelem.
Dodawanie ścieżki z certyfikatem CA
Powodem dodania przy tworzeniu tunelu ścieżki do certyfikatu CA jest fakt że jeśli na komputerze będzie skonfigurowany więcej niż jeden tunel z autoryzacją certyfikatami komputera Windows nie będzie wiedział jakich certyfikatów używać do autoryzacji. Dodając ten parament wskazujemy systemowi że ma wykorzystać certyfikaty podpisane wskazanym CA.