StrongSwan VPN configureren voor P2S-certificaatverificatie IKEv2-verbindingen - Linux
Dit artikel helpt u verbinding te maken met uw virtuele Azure-netwerk (VNet) met behulp van VPN Gateway punt-naar-site-VPN en certificaatverificatie van een Ubuntu Linux-client met behulp van strongSwan.
Voordat u begint
Controleer voordat u begint of u het juiste artikel hebt. De volgende tabel bevat de configuratieartikelen die beschikbaar zijn voor Azure VPN Gateway P2S VPN-clients. De stappen verschillen, afhankelijk van het verificatietype, het tunneltype en het client-besturingssysteem.
Verificatie | Tunneltype | Clientbesturingssysteem | VPN-client |
---|---|---|---|
Certificaat | |||
IKEv2, SSTP | Windows | Systeemeigen VPN-client | |
IKEv2 | macOS | Systeemeigen VPN-client | |
IKEv2 | Linux | strongSwan | |
OpenVPN | Windows | Azure VPN-client OpenVPN-clientversie 2.x OpenVPN-clientversie 3.x |
|
OpenVPN | macOS | OpenVPN-client | |
OpenVPN | iOS | OpenVPN-client | |
OpenVPN | Linux | Azure VPN-client OpenVPN-client |
|
Microsoft Entra ID | |||
OpenVPN | Windows | Azure VPN-client | |
OpenVPN | macOS | Azure VPN-client | |
OpenVPN | Linux | Azure VPN-client |
Vereisten
In dit artikel wordt ervan uitgegaan dat u de volgende vereisten al hebt uitgevoerd:
- De VPN-gateway is geconfigureerd voor punt-naar-site-certificaatverificatie en het IKEv2-tunneltype. Zie Serverinstellingen configureren voor P2S VPN Gateway-verbindingen- certificaatverificatie voor stappen.
- Configuratiebestanden voor VPN-clientprofielen zijn gegenereerd en zijn beschikbaar. Zie Configuratiebestanden voor VPN-clientprofielen genereren voor stappen.
Verbindingsvereisten
Als u verbinding wilt maken met Azure met behulp van de strongSwan-client en certificaatverificatie via HET IKEv2-tunneltype, heeft elke verbindingsclient de volgende items nodig:
- Elke client moet worden geconfigureerd voor het gebruik van strongSwan.
- De client moet de juiste certificaten lokaal hebben geïnstalleerd.
Workflow
De werkstroom voor dit artikel is:
- Installeer strongSwan.
- Bekijk de configuratiebestanden van het VPN-clientprofiel in het configuratiepakket voor het VPN-clientprofiel dat u hebt gegenereerd.
- Zoek de benodigde clientcertificaten.
- Configureer strongSwan.
- Verbinding maken met Azure.
Over certificaten
Voor certificaatverificatie moet een clientcertificaat op elke clientcomputer worden geïnstalleerd. Het clientcertificaat dat u wilt gebruiken, moet worden geëxporteerd met de persoonlijke sleutel en moet alle certificaten in het certificeringspad bevatten. Daarnaast moet u voor sommige configuraties ook informatie over het basiscertificaat installeren.
Zie de volgende artikelen voor meer informatie over certificaten voor Linux:
StrongSwan installeren
De volgende configuratie is gebruikt bij het opgeven van opdrachten:
- Computer: Ubuntu Server 18.04
- Afhankelijkheden: strongSwan
Gebruik de volgende opdrachten om de vereiste strongSwan-configuratie te installeren:
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
Configuratiebestanden voor VPN-clientprofielen weergeven
Wanneer u een configuratiepakket voor een VPN-clientprofiel genereert, bevinden alle benodigde configuratie-instellingen voor VPN-clients zich in een ZIP-bestand voor de configuratie van een VPN-clientprofiel. De configuratiebestanden voor het VPN-clientprofiel zijn specifiek voor de configuratie van de P2S VPN-gateway voor het virtuele netwerk. Als er wijzigingen zijn aangebracht in de P2S VPN-configuratie nadat u de bestanden hebt gegenereerd, zoals wijzigingen in het VPN-protocoltype of verificatietype, moet u nieuwe configuratiebestanden voor vpn-clientprofielen genereren en de nieuwe configuratie toepassen op alle VPN-clients die u wilt verbinden.
Zoek het configuratiepakket voor het VPN-clientprofiel dat u hebt gegenereerd en gedownload en pak het uit. U vindt alle informatie die u nodig hebt voor configuratie in de map Algemeen . Azure biedt geen mobileconfig-bestand voor deze configuratie.
Als u de map Algemeen niet ziet, controleert u de volgende items en genereert u het zip-bestand opnieuw.
- Controleer het tunneltype voor uw configuratie. Waarschijnlijk is IKEv2 niet geselecteerd als tunneltype.
- Controleer op de VPN-gateway of de SKU niet Basic is. De BASIC SKU van DE VPN Gateway biedt geen ondersteuning voor IKEv2. Selecteer vervolgens IKEv2 en genereer het zip-bestand opnieuw om de algemene map op te halen.
De map Generic bevat de volgende bestanden:
- VpnSettings.xml, die belangrijke instellingen bevat, zoals serveradres en tunneltype.
- VpnServerRoot.cer, dat het basiscertificaat bevat dat is vereist voor het valideren van de Azure VPN-gateway tijdens het instellen van de P2S-verbinding.
De VPN-client configureren
Nadat u de vpn-clientprofielbestanden hebt bekeken, gaat u verder met de stappen die u wilt gebruiken:
GUI-stappen
In deze sectie wordt u begeleid bij de configuratie met behulp van de strongSwan-GUI. De volgende instructies zijn gemaakt op Ubuntu 18.0.4. Ubuntu 16.0.10 biedt geen ondersteuning voor strongSwan GUI. Als u Ubuntu 16.0.10 wilt gebruiken, moet u de opdrachtregel gebruiken. De volgende voorbeelden komen mogelijk niet overeen met schermen die u ziet, afhankelijk van uw versie van Linux en strongSwan.
Open de Terminal om strongSwan en de netwerkbeheerder te installeren door de opdracht in het voorbeeld uit te voeren.
sudo apt install network-manager-strongswan
Selecteer Instellingen en selecteer Vervolgens Netwerk. Selecteer de + knop om een nieuwe verbinding te maken.
Selecteer IPsec/IKEv2 (strongSwan) in het menu en dubbelklik erop.
Voeg op de pagina VPN toevoegen een naam toe voor uw VPN-verbinding.
Open het VpnSettings.xml-bestand uit de map Algemeen in de gedownloade configuratiebestanden van het VPN-clientprofiel. Zoek de tag VpnServer en kopieer de naam, beginnend met 'azuregateway' en eindigt op '.cloudapp.net'.
Plak de naam in het veld Adres van uw nieuwe VPN-verbinding in de sectie Gateway . Selecteer vervolgens het mappictogram aan het einde van het veld Certificaat , blader naar de map Algemeen en selecteer het VpnServerRoot-bestand .
Selecteer in de sectie Client van de verbinding voor verificatie de optie Certificaat/persoonlijke sleutel. Kies voor certificaat en persoonlijke sleutel het certificaat en de persoonlijke sleutel die u eerder hebt gemaakt. Selecteer in Opties een binnenste IP-adres aanvragen. Selecteer vervolgens Toevoegen.
Schakel de verbinding in.
CLI-stappen
In deze sectie wordt u begeleid bij de configuratie met behulp van de strongSwan CLI.
Kopieer of verplaats de VpnServerRoot.cer in de algemene map van het VPN-clientprofiel naar /etc/ipsec.d/cacerts.
Kopieer of verplaats de bestanden die u hebt gegenereerd naar respectievelijk /etc/ipsec.d/certs en /etc/ipsec.d/private/ . Deze bestanden zijn het clientcertificaat en de persoonlijke sleutel, ze moeten zich in hun bijbehorende mappen bevinden. Gebruik de volgende opdrachten:
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
Voer de volgende opdracht uit om uw hostnaam te noteren. In de volgende stap gebruikt u deze waarde.
hostnamectl --static
Open het bestand VpnSettings.xml en kopieer de
<VpnServer>
waarde. In de volgende stap gebruikt u deze waarde.Pas de waarden in het volgende voorbeeld aan en voeg vervolgens het voorbeeld toe aan de configuratie /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
Voeg de geheime waarden toe aan /etc/ipsec.secrets.
De naam van het PEM-bestand moet overeenkomen met wat u eerder hebt gebruikt als het clientsleutelbestand.
: RSA ${USERNAME}Key.pem # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory.
Voer de volgende opdrachten uit:
sudo ipsec restart sudo ipsec up azure
Volgende stappen
Ga terug naar het artikel P2S Azure Portal voor meer stappen.