Konfigurera strongSwan VPN för IKEv2-anslutningar för P2S-certifikatautentisering – Linux

Den här artikeln hjälper dig att ansluta till ditt virtuella Azure-nätverk (VNet) med VPN Gateway-VPN (P2S) och certifikatautentisering från en Ubuntu Linux-klient med strongSwan.

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 Klientens operativsystem VPN-klient
Certifikat
IKEv2, SSTP Windows Intern VPN-klient
IKEv2 macOS Intern VPN-klient
IKEv2 Linux strongSwan
OpenVPN Windows Azure VPN-klient
OpenVPN-klientversion 2.x
OpenVPN-klientversion 3.x
OpenVPN macOS OpenVPN-klient
OpenVPN iOS OpenVPN-klient
OpenVPN Linux Azure VPN-klient
OpenVPN-klient
Microsoft Entra ID
OpenVPN Windows Azure VPN-klient
OpenVPN macOS Azure VPN-klient
OpenVPN Linux Azure VPN-klient

Förutsättningar

Den här artikeln förutsätter att du redan har utfört följande krav:

Anslutningskrav

För att ansluta till Azure med hjälp av strongSwan-klienten och certifikatautentisering via IKEv2-tunneltypen kräver varje anslutande klient följande:

  • Varje klient måste konfigureras för att använda strongSwan.
  • Klienten måste ha rätt certifikat installerade lokalt.

Arbetsflöde

Arbetsflödet för den här artikeln är:

  1. Installera strongSwan.
  2. Visa konfigurationsfilerna för VPN-klientprofilen som finns i konfigurationspaketet för VPN-klientprofilen som du genererade.
  3. Leta upp nödvändiga klientcertifikat.
  4. Konfigurera strongSwan.
  5. Anslut till Azure.

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

Mer information om certifikat för Linux finns i följande artiklar:

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

Visa konfigurationsfiler för VPN-klientprofil

När du genererar ett konfigurationspaket för VPN-klientprofilen finns alla nödvändiga konfigurationsinställningar för VPN-klienter i en ZIP-fil för VPN-klientprofilkonfiguration. Konfigurationsfilerna för VPN-klientprofilen ä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.

Leta upp och packa upp konfigurationspaketet för VPN-klientprofilen som du genererade och laddade ned. 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:

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

Konfigurera VPN-klienten

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

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 terminalen fö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 filen VpnSettings.xml från mappen Generic som finns i de nedladdade konfigurationsfilerna för VPN-klientprofiler. 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.

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 VpnSettings.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 följande kommandon:

    sudo ipsec restart
    sudo ipsec up azure
    

Nästa steg

Om du vill ha fler steg går du tillbaka till artikeln P2S Azure Portal.