Konfigurera punkt-till-plats-VPN-klienter: certifikatautentisering – Linux

Den här artikeln hjälper dig att ansluta till ditt virtuella Azure-nätverk (VNet) med hjälp av VPN Gateway punkt-till-plats (P2S) och certifikatautentisering från en Linux-klient. Det finns flera uppsättningar steg i den här artikeln, beroende på vilken tunneltyp du har valt för P2S-konfigurationen, operativsystemet och VPN-klienten som används för att ansluta.

Innan du börjar

Kontrollera att du har rätt artikel innan du börjar. I följande tabell visas de konfigurationsartiklar som är tillgängliga för Azure VPN Gateway P2S VPN-klienter. Stegen skiljer sig åt beroende på autentiseringstyp, tunneltyp och klientoperativsystem.

Autentisering Tunneltyp Generera konfigurationsfiler Konfigurera VPN-klient
Azure-certifikat IKEv2, SSTP Windows Intern VPN-klient
Azure-certifikat OpenVPN Windows - OpenVPN-klient
- Azure VPN-klient
Azure-certifikat IKEv2, OpenVPN macOS-iOS macOS-iOS
Azure-certifikat IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS – certifikat - Artikel Artikel
RADIUS – lösenord - Artikel Artikel
RADIUS – andra metoder - Artikel Artikel

Viktigt!

Från och med 1 juli 2018 tas stödet för TLS 1.0 och 1.1 bort från Azure VPN Gateway. VPN Gateway kommer endast att stödja TLS 1.2. Endast punkt-till-plats-anslutningar påverkas. plats-till-plats-anslutningar påverkas inte. Om du använder TLS för punkt-till-plats-VPN på Windows 10- eller senare klienter behöver du inte vidta några åtgärder. Om du använder TLS för punkt-till-plats-anslutningar på Windows 7- och Windows 8-klienter kan du läsa vanliga frågor och svar om VPN Gateway för uppdateringsinstruktioner.

Generera certifikat

För certifikatautentisering måste ett klientcertifikat installeras på varje klientdator. Det klientcertifikat som du vill använda måste exporteras med den privata nyckeln och måste innehålla alla certifikat i certifieringssökvägen. För vissa konfigurationer måste du också installera rotcertifikatinformation.

Information om hur du arbetar med certifikat finns i Punkt-till-plats: Generera certifikat.

Generera VPN-klientkonfigurationsfiler

Alla nödvändiga konfigurationsinställningar för VPN-klienterna finns i en ZIP-fil för VPN-klientprofilkonfiguration. Konfigurationsfilerna för VPN-klientprofilen som du genererar är specifika för konfigurationen av P2S VPN-gatewayen för det virtuella nätverket. Om det finns några ändringar i P2S VPN-konfigurationen när du har genererat filerna, till exempel ändringar av VPN-protokolltypen eller autentiseringstypen, måste du generera nya konfigurationsfiler för VPN-klientprofilen och tillämpa den nya konfigurationen på alla VPN-klienter som du vill ansluta till. Mer information om P2S-anslutningar finns i Om punkt-till-plats-VPN.

Så här genererar du konfigurationsfiler med hjälp av Azure-portalen:

  1. I Azure-portalen går du till den virtuella nätverksgatewayen för det virtuella nätverk som du vill ansluta till.

  2. På sidan virtuell nätverksgateway väljer du Punkt-till-plats-konfiguration för att öppna konfigurationssidan punkt-till-plats.

  3. Längst upp på sidan Punkt-till-plats-konfiguration väljer du Ladda ned VPN-klient. Detta laddar inte ned VPN-klientprogramvara, utan genererar konfigurationspaketet som används för att konfigurera VPN-klienter. Det tar några minuter innan klientkonfigurationspaketet genereras. Under den här tiden kanske du inte ser några indikationer förrän paketet genererar.

    Skärmbild av punkt-till-plats-konfigurationssidan.

  4. När konfigurationspaketet har genererats anger webbläsaren att en zip-fil för klientkonfiguration är tillgänglig. Den heter samma namn som din gateway.

  5. Packa upp filen för att visa mapparna. Du använder några eller alla av dessa filer för att konfigurera VPN-klienten. De filer som genereras motsvarar inställningarna för autentisering och tunneltyp som du konfigurerade på P2S-servern.

Konfigurera sedan VPN-klienten. Välj från följande instruktioner:

IKEv2 – strongSwan-steg

Installera strongSwan

Följande konfiguration användes när kommandon angavs:

  • Dator: Ubuntu Server 18.04
  • Beroenden: strongSwan

Använd följande kommandon för att installera den nödvändiga strongSwan-konfigurationen:

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

Installera certifikat

Ett klientcertifikat krävs för autentisering när du använder Azure-certifikatautentiseringstypen. Ett klientcertifikat måste vara installerat på varje klientdator. Det exporterade klientcertifikatet måste exporteras med den privata nyckeln och måste innehålla alla certifikat i certifieringssökvägen. Kontrollera att klientdatorn har rätt klientcertifikat installerat innan du fortsätter till nästa avsnitt.

Information om klientcertifikat finns i Generera certifikat – Linux.

Visa VPN-klientprofilfiler

Gå till de nedladdade konfigurationsfilerna för VPN-klientprofilen. Du hittar all information som du behöver för konfigurationen i mappen Generic . Azure tillhandahåller ingen mobileconfig-fil för den här konfigurationen.

Om du inte ser mappen Generic kontrollerar du följande objekt och genererar sedan zip-filen igen.

  • Kontrollera tunneltypen för konfigurationen. Det är troligt att IKEv2 inte har valts som tunneltyp.
  • På VPN-gatewayen kontrollerar du att SKU:n inte är Basic. VPN Gateway Basic SKU stöder inte IKEv2. Välj sedan IKEv2 och generera zip-filen igen för att hämta mappen Generic.

Mappen Generic innehåller följande filer:

  • Vpn Inställningar.xml, som innehåller viktiga inställningar som serveradress och tunneltyp.
  • VpnServerRoot.cer, som innehåller det rotcertifikat som krävs för att verifiera Azure VPN-gatewayen under P2S-anslutningskonfigurationen.

När du har sett filerna fortsätter du med de steg som du vill använda:

strongSwan GUI-steg

Det här avsnittet vägleder dig genom konfigurationen med hjälp av strongSwan GUI. Följande instruktioner skapades på Ubuntu 18.0.4. Ubuntu 16.0.10 stöder inte strongSwan GUI. Om du vill använda Ubuntu 16.0.10 måste du använda kommandoraden. Följande exempel kanske inte matchar skärmar som du ser, beroende på din version av Linux och strongSwan.

  1. Öppna terminalenför att installera strongSwan och dess Nätverkshanterare genom att köra kommandot i exemplet.

    sudo apt install network-manager-strongswan
    
  2. Välj Inställningar och välj sedan Nätverk. + Välj knappen för att skapa en ny anslutning.

    Skärmbild som visar sidan nätverksanslutningar.

  3. Välj IPsec/IKEv2 (strongSwan) på menyn och dubbelklicka.

    Skärmbild som visar sidan Lägg till VPN.

  4. På sidan Lägg till VPN lägger du till ett namn för VPN-anslutningen.

    Skärmbild som visar Välj en anslutningstyp.

  5. Öppna vpn Inställningar.xml-filen från mappen Generic som finns i de nedladdade konfigurationsfilerna för VPN-klientprofilen. Leta reda på taggen VpnServer och kopiera namnet, som börjar med "azuregateway" och slutar med ".cloudapp.net".

    Skärmbild som visar kopieringsdata.

  6. Klistra in namnet i fältet Adress för din nya VPN-anslutning i avsnittet Gateway . Välj sedan mappikonen i slutet av fältet Certifikat , bläddra till mappen Generic och välj filen VpnServerRoot .

  7. I avsnittet Klient i anslutningen väljer du Certifikat/privat nyckel för Autentisering. För Certifikat och privat nyckel väljer du certifikatet och den privata nyckel som skapades tidigare. I Alternativ väljer du Begär en inre IP-adress. Välj sedan Lägg till.

    Skärmbild som visar Begär en inre IP-adress.

  8. Aktivera anslutningen.

    Skärmbild som visar kopia.

strongSwan CLI-steg

Det här avsnittet vägleder dig genom konfigurationen med hjälp av strongSwan CLI.

  1. Kopiera eller flytta VpnServerRoot.cer till /etc/ipsec.d/cacerts från konfigurationsfilerna för VPN-klientprofilen Generisk.

  2. Kopiera eller flytta filerna som du genererade till /etc/ipsec.d/certs respektive /etc/ipsec.d/private. Dessa filer är klientcertifikatet och den privata nyckeln, de måste finnas i motsvarande kataloger. Använd följande kommandon:

    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. Kör följande kommando för att anteckna värdnamnet. Du använder det här värdet i nästa steg.

    hostnamectl --static
    
  4. Öppna filen Vpn Inställningar.xml och kopiera värdet<VpnServer>. Du använder det här värdet i nästa steg.

  5. Justera värdena i följande exempel och lägg sedan till exemplet i konfigurationen /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. Lägg till de hemliga värdena i /etc/ipsec.secrets.

    Namnet på PEM-filen måste matcha det du använde tidigare som klientnyckelfil.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. Kör slutligen följande kommandon:

    sudo ipsec restart
    sudo ipsec up azure
    

OpenVPN-steg

Det här avsnittet hjälper dig att konfigurera Linux-klienter för certifikatautentisering som använder OpenVPN-tunneltypen. Om du vill ansluta till Azure laddar du ned OpenVPN-klienten och konfigurerar anslutningsprofilen.

Kommentar

OpenVPN-klientversion 2.6 stöds ännu inte.

  1. Öppna en ny terminalsession. Du kan öppna en ny session genom att trycka på Ctrl + Alt + t samtidigt.

  2. Ange följande kommando för att installera nödvändiga komponenter:

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. Gå sedan till mappen VPN-klientprofil och packa upp för att visa filerna.

  4. Exportera P2S-klientcertifikatet som du skapade och laddade upp till P2S-konfigurationen på gatewayen. Anvisningar finns i PUNKT-till-plats för VPN Gateway.

  5. Extrahera den privata nyckeln och base64-tumavtrycket från .pfx. Det finns flera olika sätt att göra detta på. Att använda OpenSSL på datorn är ett sätt.

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

    Filen profileinfo.txt innehåller den privata nyckeln och tumavtrycket för certifikatutfärdare och klientcertifikatet. Se till att använda tumavtrycket för klientcertifikatet.

  6. Öppna profileinfo.txt i en textredigerare. Om du vill hämta tumavtrycket för klientcertifikatet (underordnat) väljer du texten inklusive och mellan "-----BEGIN CERTIFICATE-----" och "-----END CERTIFICATE-----" för det underordnade certifikatet och kopierar det. Du kan identifiera det underordnade certifikatet genom att titta på raden subject=/.

  7. Öppna filen vpnconfig.ovpn och leta reda på avsnittet nedan. Ersätt allt mellan "cert" och "/cert".

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. Öppna profileinfo.txt i en textredigerare. Om du vill hämta den privata nyckeln väljer du texten inklusive och mellan "-----BEGIN PRIVATE KEY-----" och "-----END PRIVATE KEY-----" och kopierar den.

  9. Öppna filen vpnconfig.ovpn i en textredigerare och leta reda på det här avsnittet. Klistra in den privata nyckeln och ersätt allt mellan "nyckel" och "/key".

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. Ändra inga andra fält. Använd den ifyllda konfigurationen i klientindata för att ansluta till VPN.

    • Om du vill ansluta med hjälp av kommandoraden skriver du följande kommando:

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • Om du vill koppla från med kommandoraden skriver du följande kommando:

      sudo pkill openvpn
      
    • Om du vill ansluta med hjälp av användargränssnittet går du till systeminställningar.

  11. Välj + för att lägga till en ny VPN-anslutning.

  12. Under Lägg till VPN väljer du Importera från fil....

  13. Bläddra till profilfilen och dubbelklicka eller välj Öppna.

  14. Välj Lägg till i fönstret Lägg till VPN .

    Skärmbild som visar Importera från fil på sidan Lägg till VPN.

  15. Du kan ansluta genom att aktivera VPN sidan Nätverk Inställningar eller under nätverksikonen i systemfältet.

Nästa steg

För ytterligare steg går du tillbaka till den ursprungliga punkt-till-plats-artikeln som du arbetade från.