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:
- VPN-gatewayen har konfigurerats för punkt-till-plats-certifikatautentisering och IKEv2-tunneltypen. Se Konfigurera serverinställningar för P2S VPN Gateway-anslutningar – certifikatautentisering för steg.
- Konfigurationsfiler för VPN-klientprofiler har genererats och är tillgängliga. Se Generera konfigurationsfiler för VPN-klientprofil för steg.
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:
- Installera strongSwan.
- Visa konfigurationsfilerna för VPN-klientprofilen som finns i konfigurationspaketet för VPN-klientprofilen som du genererade.
- Leta upp nödvändiga klientcertifikat.
- Konfigurera strongSwan.
- 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.
Öppna terminalen för att installera strongSwan och dess Nätverkshanterare genom att köra kommandot i exemplet.
sudo apt install network-manager-strongswan
Välj Inställningar och välj sedan Nätverk. + Välj knappen för att skapa en ny anslutning.
Välj IPsec/IKEv2 (strongSwan) på menyn och dubbelklicka.
På sidan Lägg till VPN lägger du till ett namn för VPN-anslutningen.
Ö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".
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 .
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.
Aktivera anslutningen.
CLI-steg
Det här avsnittet vägleder dig genom konfigurationen med hjälp av strongSwan CLI.
Kopiera eller flytta VpnServerRoot.cer till /etc/ipsec.d/cacerts från konfigurationsfilerna för VPN-klientprofilen Generisk.
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
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
Öppna filen VpnSettings.xml och kopiera värdet
<VpnServer>
. Du använder det här värdet i nästa steg.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
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.
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.