Udostępnij za pośrednictwem


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:

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:

  1. Zainstaluj strongSwan.
  2. Wyświetl pliki konfiguracji profilu klienta sieci VPN zawarte w wygenerowanych pakietach konfiguracji profilu klienta sieci VPN.
  3. Znajdź wszelkie niezbędne certyfikaty klienta.
  4. Konfigurowanie strongSwan.
  5. 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.

  1. Otwórz terminal, aby zainstalować aplikację strongSwan i jego Menedżera sieci, uruchamiając polecenie w przykładzie.

    sudo apt install network-manager-strongswan
    
  2. Wybierz pozycję Ustawienia, a następnie wybierz pozycję Sieć. Wybierz przycisk , + aby utworzyć nowe połączenie.

    Zrzut ekranu przedstawiający stronę połączeń sieciowych.

  3. Wybierz pozycję IPsec/IKEv2 (strongSwan) z menu i kliknij dwukrotnie.

    Zrzut ekranu przedstawiający stronę Dodawanie sieci VPN.

  4. Na stronie Dodawanie sieci VPN dodaj nazwę połączenia sieci VPN.

    Zrzut ekranu przedstawiający wybieranie typu połączenia.

  5. 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".

    Zrzut ekranu przedstawiający kopiowanie danych.

  6. 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.

  7. 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.

    Zrzut ekranu przedstawiający żądanie wewnętrznego adresu IP.

  8. Włącz połączenie.

    Zrzut ekranu przedstawia kopię.

Kroki interfejsu wiersza polecenia

W tej sekcji przedstawiono konfigurację przy użyciu interfejsu wiersza polecenia strongSwan.

  1. Z plików konfiguracji profilu klienta sieci VPN Folder ogólny skopiuj lub przenieś VpnServerRoot.cer do /etc/ipsec.d/cacerts.

  2. 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
    
  3. Uruchom następujące polecenie, aby zanotować nazwę hosta. Użyjesz tej wartości w następnym kroku.

    hostnamectl --static
    
  4. Otwórz plik VpnSettings.xml i skopiuj <VpnServer> wartość. Użyjesz tej wartości w następnym kroku.

  5. 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
    
  6. 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. 
    
  7. 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 .