Konfigurowanie klientów sieci VPN typu punkt-lokacja: uwierzytelnianie certyfikatu — Linux

Ten artykuł ułatwia nawiązywanie połączenia z siecią wirtualną platformy Azure przy użyciu bramy VPN Gateway typu punkt-lokacja (P2S) i uwierzytelnianie certyfikatu z klienta systemu Linux. W tym artykule znajduje się wiele zestawów kroków, w zależności od typu tunelu wybranego dla konfiguracji połączenia punkt-lokacja, systemu operacyjnego i klienta sieci VPN używanego do nawiązywania połączenia.

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 Generowanie plików konfiguracji Konfigurowanie klienta sieci VPN
Certyfikat platformy Azure IKEv2, SSTP Windows Natywny klient sieci VPN
Certyfikat platformy Azure OpenVPN Windows - Klient OpenVPN
- Klient sieci VPN platformy Azure
Certyfikat platformy Azure IKEv2, OpenVPN macOS-iOS macOS-iOS
Certyfikat platformy Azure IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS — certyfikat - Artykuł Artykuł
RADIUS — hasło - Artykuł Artykuł
RADIUS — inne metody - Artykuł Artykuł

Ważne

Od 1 lipca 2018 r. z usługi Azure VPN Gateway zostanie usunięta obsługa techniczna protokołów TLS 1.0 i 1.1. Usługa VPN Gateway będzie obsługiwać tylko protokół TLS 1.2. Dotyczy to tylko połączeń punkt-lokacja; Nie będzie to miało wpływu na połączenia typu lokacja-lokacja. Jeśli używasz protokołu TLS dla sieci VPN typu punkt-lokacja na klientach z systemem Windows 10 lub nowszym, nie musisz podejmować żadnych działań. Jeśli używasz protokołu TLS dla połączeń punkt-lokacja na klientach z systemami Windows 7 i Windows 8, zapoznaj się z często zadawanymi pytaniami dotyczącymi usługi VPN Gateway, aby uzyskać instrukcje dotyczące aktualizacji.

Generowanie certyfikatów

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ć informacje na temat pracy z certyfikatami, zobacz Punkt-lokacja: Generowanie certyfikatów.

Generowanie plików konfiguracji klienta sieci VPN

Wszystkie niezbędne ustawienia konfiguracji dla klientów sieci VPN są zawarte w pliku zip konfiguracji profilu klienta sieci VPN. Wygenerowane 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. Aby uzyskać więcej informacji na temat połączeń typu punkt-lokacja, zobacz About point-to-site VPN (Informacje o sieci VPN typu punkt-lokacja).

Aby wygenerować pliki konfiguracji przy użyciu witryny Azure Portal:

  1. W witrynie Azure Portal przejdź do bramy sieci wirtualnej dla sieci wirtualnej, z którą chcesz nawiązać połączenie.

  2. Na stronie bramy sieci wirtualnej wybierz pozycję Konfiguracja połączenia punkt-lokacja, aby otworzyć stronę konfiguracji punkt-lokacja.

  3. W górnej części strony konfiguracja punkt-lokacja wybierz pozycję Pobierz klienta sieci VPN. Nie pobiera to oprogramowania klienckiego sieci VPN, generuje pakiet konfiguracji używany do konfigurowania klientów sieci VPN. Wygenerowanie pakietu konfiguracji klienta trwa kilka minut. W tym czasie może nie być widocznych żadnych wskazówek, dopóki pakiet nie zostanie wygenerowany.

    Zrzut ekranu przedstawiający stronę konfiguracji punkt-lokacja.

  4. Po wygenerowaniu pakietu konfiguracji przeglądarka wskazuje, że plik zip konfiguracji klienta jest dostępny. Ma ona taką samą nazwę jak brama.

  5. Rozpakuj plik, aby wyświetlić foldery. Użyjesz niektórych lub wszystkich tych plików do skonfigurowania klienta sieci VPN. Wygenerowane pliki odpowiadają ustawieniu uwierzytelniania i typu tunelu skonfigurowanym na serwerze punkt-lokacja.

Następnie skonfiguruj klienta sieci VPN. Wybierz elementy z następujących instrukcji:

IKEv2 — kroki strongSwan

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

Instalowanie certyfikatów

Certyfikat klienta jest wymagany do uwierzytelniania w przypadku korzystania z typu uwierzytelniania certyfikatu platformy Azure. Na każdym komputerze klienckim musi być zainstalowany certyfikat klienta. Wyeksportowany certyfikat klienta musi zostać wyeksportowany z kluczem prywatnym i musi zawierać wszystkie certyfikaty w ścieżce certyfikacji. Przed przejściem do następnej sekcji upewnij się, że na komputerze klienckim jest zainstalowany odpowiedni certyfikat klienta.

Aby uzyskać informacje o certyfikatach klienta, zobacz Generowanie certyfikatów — Linux.

Wyświetlanie plików profilu klienta sieci VPN

Przejdź do pobranych plików 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:

  • Vpn Ustawienia.xml, która 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.

Po wyświetleniu plików przejdź do kroków, których chcesz użyć:

strongSwan GUI steps (kroki interfejsu GUI strongSwan)

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 Vpn Ustawienia.xml z folderu Generic znajdującego się 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 strongSwan

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 Vpn Ustawienia.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. Na koniec uruchom następujące polecenia:

    sudo ipsec restart
    sudo ipsec up azure
    

Kroki protokołu OpenVPN

Ta sekcja ułatwia skonfigurowanie klientów systemu Linux na potrzeby uwierzytelniania certyfikatu korzystającego z typu tunelu OpenVPN. Aby nawiązać połączenie z platformą Azure, pobierz klienta openVPN i skonfiguruj profil połączenia.

Uwaga

Klient OpenVPN w wersji 2.6 nie jest jeszcze obsługiwany.

  1. Otwórz nową sesję terminalu. Możesz otworzyć nową sesję, naciskając jednocześnie klawisze "Ctrl + Alt + t".

  2. Wprowadź następujące polecenie, aby zainstalować potrzebne składniki:

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. Następnie przejdź do folderu profilu klienta sieci VPN i rozpakuj, aby wyświetlić pliki.

  4. Wyeksportuj utworzony i przekazany certyfikat klienta P2S do konfiguracji P2S w bramie. Aby uzyskać instrukcje, zobacz punkt-lokacja bramy sieci VPN.

  5. Wyodrębnij klucz prywatny i odcisk palca base64 z pliku PFX. Istnieje wiele sposobów, aby to zrobić. Korzystanie z biblioteki OpenSSL na komputerze jest jednym ze sposobów.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    Plik profileinfo.txt będzie zawierać klucz prywatny i odcisk palca urzędu certyfikacji oraz certyfikat klienta. Pamiętaj, aby użyć odcisku palca certyfikatu klienta.

  6. Otwórz profileinfo.txt w edytorze tekstów. Aby uzyskać odcisk palca certyfikatu klienta (podrzędnego), wybierz tekst zawierający tekst zawierający tekst "-----BEGIN CERTIFICATE-----" i "-----END CERTIFICATE-----" dla certyfikatu podrzędnego i skopiuj go. Certyfikat podrzędny można zidentyfikować, przeglądając wiersz tematu=/.

  7. Otwórz plik vpnconfig.ovpn i znajdź poniższą sekcję. Zastąp wszystko między elementami "cert" i "/cert".

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. Otwórz profileinfo.txt w edytorze tekstów. Aby uzyskać klucz prywatny, zaznacz tekst zawierający i między ciągami "-----BEGIN PRIVATE KEY-----" i "-----END PRIVATE KEY-----" i skopiuj go.

  9. Otwórz plik vpnconfig.ovpn w edytorze tekstów i znajdź tę sekcję. Wklej klucz prywatny, zastępując wszystko między kluczem a "/kluczem".

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. Nie zmieniaj żadnych innych pól. Użyj konfiguracji wprowadzonej w danych wejściowych klienta, aby nawiązać połączenie z siecią VPN.

    • Aby nawiązać połączenie przy użyciu wiersza polecenia, wpisz następujące polecenie:

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • Aby rozłączyć się przy użyciu wiersza polecenia, wpisz następujące polecenie:

      sudo pkill openvpn
      
    • Aby nawiązać połączenie przy użyciu graficznego interfejsu użytkownika, przejdź do ustawień systemowych.

  11. Wybierz + , aby dodać nowe połączenie sieci VPN.

  12. W obszarze Dodaj sieć VPN wybierz pozycję Importuj z pliku....

  13. Przejdź do pliku profilu i kliknij dwukrotnie lub wybierz pozycję Otwórz.

  14. Wybierz pozycję Dodaj w oknie Dodawanie sieci VPN .

    Zrzut ekranu przedstawiający pozycję Importuj z pliku na stronie Dodawanie sieci VPN.

  15. Połączenie można nawiązać, włączając sieć VPN nastronie Sieć Ustawienia lub pod ikoną sieci na pasku zadań.

Następne kroki

Aby uzyskać dodatkowe kroki, wróć do oryginalnego artykułu punkt-lokacja, z którego pracujesz.