Delen via


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-client
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:

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:

  1. Installeer strongSwan.
  2. Bekijk de configuratiebestanden van het VPN-clientprofiel in het configuratiepakket voor het VPN-clientprofiel dat u hebt gegenereerd.
  3. Zoek de benodigde clientcertificaten.
  4. Configureer strongSwan.
  5. 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.

  1. 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
    
  2. Selecteer Instellingen en selecteer Vervolgens Netwerk. Selecteer de + knop om een nieuwe verbinding te maken.

    Schermopname van de pagina netwerkverbindingen.

  3. Selecteer IPsec/IKEv2 (strongSwan) in het menu en dubbelklik erop.

    Schermopname van de pagina VPN toevoegen.

  4. Voeg op de pagina VPN toevoegen een naam toe voor uw VPN-verbinding.

    Schermopname van Een verbindingstype kiezen.

  5. 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'.

    Schermopname van het kopiëren van gegevens.

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

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

    Schermopname van Een binnenste IP-adres aanvragen.

  8. Schakel de verbinding in.

    Schermopname van kopie.

CLI-stappen

In deze sectie wordt u begeleid bij de configuratie met behulp van de strongSwan CLI.

  1. Kopieer of verplaats de VpnServerRoot.cer in de algemene map van het VPN-clientprofiel naar /etc/ipsec.d/cacerts.

  2. 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
    
  3. Voer de volgende opdracht uit om uw hostnaam te noteren. In de volgende stap gebruikt u deze waarde.

    hostnamectl --static
    
  4. Open het bestand VpnSettings.xml en kopieer de <VpnServer> waarde. In de volgende stap gebruikt u deze waarde.

  5. 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
    
  6. 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. 
    
  7. 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.