Konfigurowanie sieci VPN strongSwan dla połączeń IKEv2 uwierzytelniania certyfikatu P2S — Linux
Ten artykuł ułatwia nawiązywanie połączenia z siecią wirtualną platformy Azure przy użyciu sieci VPN Gateway typu punkt-lokacja (P2S) i uwierzytelnianie certyfikatu z klienta z systemem Ubuntu Linux przy użyciu protokołu strongSwan.
Zanim rozpoczniesz
Przed rozpoczęciem sprawdź, czy jesteś w odpowiednim artykule. W poniższej tabeli przedstawiono artykuły konfiguracji dostępne dla klientów sieci VPN P2S usługi Azure VPN Gateway. Kroki różnią się w zależności od typu uwierzytelniania, typu tunelu i systemu operacyjnego klienta.
Uwierzytelnianie | Typ tunelu | System operacyjny klienta | Klient sieci VPN |
---|---|---|---|
Certyfikat | |||
IKEv2, SSTP | Windows | Natywny klient sieci VPN | |
IKEv2 | macOS | Natywny klient sieci VPN | |
IKEv2 | Linux | strongSwan | |
OpenVPN | Windows | Klient sieci VPN platformy Azure Klient OpenVPN w wersji 2.x Klient OpenVPN w wersji 3.x |
|
OpenVPN | macOS | Klient OpenVPN | |
OpenVPN | iOS | Klient OpenVPN | |
OpenVPN | Linux | Azure VPN Client Klient OpenVPN |
|
Microsoft Entra ID | |||
OpenVPN | Windows | Klient sieci VPN platformy Azure | |
OpenVPN | macOS | Azure VPN Client | |
OpenVPN | Linux | Azure VPN Client |
Wymagania wstępne
W tym artykule założono, że zostały już spełnione następujące wymagania wstępne:
- Brama sieci VPN jest skonfigurowana do uwierzytelniania certyfikatu typu punkt-lokacja i typu tunelu IKEv2. Aby uzyskać instrukcje, zobacz Konfigurowanie ustawień serwera dla połączeń bramy sieci VPN typu punkt-lokacja — uwierzytelnianie certyfikatu.
- Pliki konfiguracji profilu klienta sieci VPN zostały wygenerowane i są dostępne. Aby uzyskać instrukcje, zobacz Generowanie plików konfiguracji profilu klienta sieci VPN.
Wymagania dotyczące połączenia
Aby nawiązać połączenie z platformą Azure przy użyciu klienta strongSwan i uwierzytelniania certyfikatu za pośrednictwem typu tunelu IKEv2, każdy klient łączący wymaga następujących elementów:
- Każdy klient musi być skonfigurowany do używania strongSwan.
- Klient musi mieć zainstalowane lokalnie poprawne certyfikaty.
Przepływ pracy
Przepływ pracy dla tego artykułu to:
- Zainstaluj strongSwan.
- Wyświetl pliki konfiguracji profilu klienta sieci VPN zawarte w wygenerowanych pakietach konfiguracji profilu klienta sieci VPN.
- Znajdź wszelkie niezbędne certyfikaty klienta.
- Konfigurowanie strongSwan.
- Nawiązywanie połączenia z platformą Azure.
Informacje o certyfikatach
W przypadku uwierzytelniania certyfikatu należy zainstalować certyfikat klienta na każdym komputerze klienckim. Certyfikat klienta, którego chcesz użyć, musi zostać wyeksportowany z kluczem prywatnym i musi zawierać wszystkie certyfikaty w ścieżce certyfikacji. Ponadto w przypadku niektórych konfiguracji należy również zainstalować informacje o certyfikacie głównym.
Aby uzyskać więcej informacji na temat certyfikatów dla systemu Linux, zobacz następujące artykuły:
Instalowanie strongSwan
Podczas określania poleceń użyto następującej konfiguracji:
- Komputer: Ubuntu Server 18.04
- Zależności: strongSwan
Użyj następujących poleceń, aby zainstalować wymaganą konfigurację strongSwan:
sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0
Wyświetlanie plików konfiguracji profilu klienta sieci VPN
Podczas generowania pakietu konfiguracji profilu klienta sieci VPN wszystkie niezbędne ustawienia konfiguracji dla klientów sieci VPN są zawarte w pliku zip konfiguracji profilu klienta sieci VPN. Pliki konfiguracji profilu klienta sieci VPN są specyficzne dla konfiguracji bramy sieci VPN punkt-lokacja dla sieci wirtualnej. Jeśli po wygenerowaniu plików zostaną wprowadzone jakiekolwiek zmiany w konfiguracji sieci VPN typu punkt-lokacja, takie jak zmiany typu protokołu sieci VPN lub typu uwierzytelniania, należy wygenerować nowe pliki konfiguracji profilu klienta sieci VPN i zastosować nową konfigurację do wszystkich klientów sieci VPN, z którymi chcesz nawiązać połączenie.
Znajdź i rozpakuj wygenerowany i pobrany pakiet konfiguracji profilu klienta sieci VPN. Wszystkie informacje potrzebne do konfiguracji można znaleźć w folderze Generic . Platforma Azure nie udostępnia pliku mobileconfig dla tej konfiguracji.
Jeśli nie widzisz folderu Generic, sprawdź następujące elementy, a następnie ponownie wygeneruj plik zip.
- Sprawdź typ tunelu dla konfiguracji. Prawdopodobnie protokół IKEv2 nie został wybrany jako typ tunelu.
- W bramie sieci VPN sprawdź, czy jednostka SKU nie jest podstawowa. Podstawowa jednostka SKU bramy sieci VPN nie obsługuje protokołu IKEv2. Następnie wybierz pozycję IKEv2 i ponownie wygeneruj plik zip, aby pobrać folder Generic.
Folder Generic zawiera następujące pliki:
- VpnSettings.xml, który zawiera ważne ustawienia, takie jak adres serwera i typ tunelu.
- VpnServerRoot.cer, który zawiera certyfikat główny wymagany do zweryfikowania bramy sieci VPN platformy Azure podczas konfigurowania połączenia punkt-lokacja.
Konfigurowanie klienta sieci VPN
Po wyświetleniu plików profilu klienta sieci VPN wykonaj kroki, których chcesz użyć:
Kroki graficznego interfejsu użytkownika
W tej sekcji przedstawiono konfigurację przy użyciu interfejsu GUI strongSwan. Poniższe instrukcje zostały utworzone w systemie Ubuntu 18.0.4. System Ubuntu 16.0.10 nie obsługuje silnego graficznego interfejsu użytkownika Wan. Jeśli chcesz użyć systemu Ubuntu 16.0.10, musisz użyć wiersza polecenia. Poniższe przykłady mogą nie być zgodne z wyświetlanymi ekranami w zależności od używanej wersji systemu Linux i strongSwan.
Otwórz terminal, aby zainstalować aplikację strongSwan i jego Menedżera sieci, uruchamiając polecenie w przykładzie.
sudo apt install network-manager-strongswan
Wybierz pozycję Ustawienia, a następnie wybierz pozycję Sieć. Wybierz przycisk , + aby utworzyć nowe połączenie.
Wybierz pozycję IPsec/IKEv2 (strongSwan) z menu i kliknij dwukrotnie.
Na stronie Dodawanie sieci VPN dodaj nazwę połączenia sieci VPN.
Otwórz plik VpnSettings.xml z folderu Ogólnego zawartego w pobranych plikach konfiguracji profilu klienta sieci VPN. Znajdź tag o nazwie VpnServer i skopiuj nazwę rozpoczynającą się od "azuregateway" i kończącą się ciągiem ".cloudapp.net".
Wklej nazwę w polu Adres nowego połączenia sieci VPN w sekcji Brama . Następnie wybierz ikonę folderu na końcu pola Certyfikat, przejdź do folderu Generic i wybierz plik VpnServerRoot.
W sekcji Klient połączenia w polu Uwierzytelnianie wybierz pozycję Certyfikat/klucz prywatny. W obszarze Certyfikat i Klucz prywatny wybierz certyfikat i klucz prywatny, który został utworzony wcześniej. W obszarze Opcje wybierz pozycję Zażądaj wewnętrznego adresu IP. Następnie wybierz pozycję Dodaj.
Włącz połączenie.
Kroki interfejsu wiersza polecenia
W tej sekcji przedstawiono konfigurację przy użyciu interfejsu wiersza polecenia strongSwan.
Z plików konfiguracji profilu klienta sieci VPN Folder ogólny skopiuj lub przenieś VpnServerRoot.cer do /etc/ipsec.d/cacerts.
Skopiuj lub przenieś pliki wygenerowane odpowiednio do /etc/ipsec.d/certs i /etc/ipsec.d/private/ . Te pliki to certyfikat klienta i klucz prywatny, które muszą znajdować się w odpowiednich katalogach. Użyj następujących poleceń:
sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/ sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/ sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
Uruchom następujące polecenie, aby zanotować nazwę hosta. Użyjesz tej wartości w następnym kroku.
hostnamectl --static
Otwórz plik VpnSettings.xml i skopiuj
<VpnServer>
wartość. Użyjesz tej wartości w następnym kroku.Dostosuj wartości w poniższym przykładzie, a następnie dodaj przykład do konfiguracji /etc/ipsec.conf .
conn azure keyexchange=ikev2 type=tunnel leftfirewall=yes left=%any # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs directory. leftcert=${USERNAME}Cert.pem leftauth=pubkey leftid=%client # use the hostname of your machine with % character prepended. Example: %client right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com rightsubnet=0.0.0.0/0 leftsourceip=%config auto=add esp=aes256gcm16
Dodaj wartości wpisów tajnych do /etc/ipsec.secrets.
Nazwa pliku PEM musi być zgodna z nazwą użytą wcześniej jako plik klucza klienta.
: RSA ${USERNAME}Key.pem # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory.
Uruchom następujące polecenia:
sudo ipsec restart sudo ipsec up azure
Następne kroki
Aby uzyskać więcej kroków, wróć do artykułu P2S w witrynie Azure Portal .