Konfigurieren von Servereinstellungen für die P2S-VPN-Zertifikatauthentifizierung – PowerShell

In diesem Artikel können Sie ein Point-to-Site-VPN (P2S) konfigurieren, um einzelne Clients mit Windows, Linux oder macOS sicher mit einem virtuellen Azure-Netzwerk (VNet) mithilfe von Azure PowerShell zu verbinden. Dieser Artikel enthält grundlegende PowerShell-Konfigurationsschritte. Ausführlichere Informationen zum Erstellen dieser Art von P2S-VPN finden Sie im Azure-Portalartikel Konfigurieren eines Point-to-Site-VPN mithilfe des Azure-Portals.

P2S-VPN-Verbindungen sind nützlich, wenn Sie an einem Remotestandort (beispielsweise bei der Telearbeit zu Hause oder in einer Konferenz) eine Verbindung mit Ihrem VNet herstellen möchten. Sie können anstelle einer Site-to-Site-VPN-Verbindung auch P2S verwenden, wenn nur einige wenige Clients eine Verbindung mit einem VNET herstellen müssen. Für P2S-Verbindungen ist kein VPN-Gerät und auch keine öffentliche IP-Adresse erforderlich. P2S erstellt die VPN-Verbindung entweder über SSTP (Secure Socket Tunneling Protocol) oder IKEv2.

Diagramm der Point-to-Site-Verbindung, das zeigt, wie eine Verbindung zwischen einem Computer und einem Azure VNet hergestellt wird.

Weitere Informationen zum P2S-VPN finden Sie unter Informationen zum P2S-VPN.

Für P2S-Verbindungen mit Azure-Zertifikatauthentifizierung werden die folgenden Komponenten verwendet, die Sie in dieser Übung konfigurieren:

  • Ein routingbasiertes VPN-Gateway (nicht richtlinienbasiert). Weitere Informationen zum VPN-Typ finden Sie unter VPN-Gatewayeinstellungen.
  • Der öffentliche Schlüssel (CER-Datei) für ein Stammzertifikat (in Azure hochgeladen). Sobald das Zertifikat hochgeladen wurde, wird es als vertrauenswürdiges Zertifikat betrachtet und für die Authentifizierung verwendet.
  • Ein Clientzertifikat, das von der Stammzertifizierungsstelle generiert wird. Das auf jedem Clientcomputer, für den eine Verbindung mit dem VNET hergestellt wird, installierte Clientzertifikat. Dieses Zertifikat wird für die Clientauthentifizierung verwendet.
  • Dateien für die VPN-Clientkonfiguration. Der VPN-Client wird mithilfe von VPN-Clientkonfigurationsdateien konfiguriert. Diese Dateien enthalten die erforderlichen Informationen, damit der Client eine Verbindung mit dem VNET herstellen kann. Jeder Client, der eine Verbindung herstellt, muss mit den Einstellungen in den Konfigurationsdateien konfiguriert werden.

Voraussetzungen

Stellen Sie sicher, dass Sie über ein Azure-Abonnement verfügen. Wenn Sie noch kein Azure-Abonnement besitzen, können Sie Ihre MSDN-Abonnentenvorteile aktivieren oder sich für ein kostenloses Konto registrieren.

Azure PowerShell

Sie können entweder Azure Cloud Shell verwenden oder PowerShell lokal ausführen. Weitere Informationen finden Sie unter Installieren und Konfigurieren von Azure PowerShell.

  • In vielen Schritten dieses Artikels kann Azure Cloud Shell verwendet werden. Zum Generieren von Zertifikaten kann Cloud Shell jedoch nicht dienen. Darüber hinaus müssen Sie zum Hochladen des öffentlichen Schlüssels des Stammzertifikats entweder Azure PowerShell lokal oder das Azure-Portal verwenden.

  • Möglicherweise werden Warnungen wie die Folgende angezeigt: „Der Ausgabeobjekttyp dieses Cmdlets wird in einer zukünftigen Version geändert“. Dies ist das erwartete Verhalten. Sie können diese Warnungen einfach ignorieren.

Anmelden

Wenn Sie Azure Cloud Shell verwenden, werden Sie nach dem Öffnen von Cloud Shell automatisch zur Anmeldung bei Ihrem Konto weitergeleitet. Sie müssen Connect-AzAccount nicht ausführen. Nach der Anmeldung können Sie die Abonnements bei Bedarf mithilfe von Get-AzSubscription und Select-AzSubscription immer noch ändern.

Wenn Sie PowerShell lokal ausführen, öffnen Sie die PowerShell-Konsole mit erhöhten Rechten und stellen Sie eine Verbindung mit Ihrem Azure-Konto her. Das Cmdlet Connect-AzAccount fordert Sie zur Eingabe von Anmeldeinformationen auf. Nachdem Sie sich authentifiziert haben, werden Ihre Kontoeinstellungen heruntergeladen, damit sie Azure PowerShell zur Verfügung stehen. Sie können das Abonnement mittels Get-AzSubscription und Select-AzSubscription -SubscriptionName "Name of subscription" ändern.

Erstellen eines VNET

  1. Erstellen Sie mit New-AzResourceGroup eine Ressourcengruppe.

    New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
    
  2. Erstellen Sie mithilfe von New-AzVirtualNetwork ein virtuelles Netzwerk.

    $vnet = New-AzVirtualNetwork `
    -ResourceGroupName "TestRG1" `
    -Location "EastUS" `
    -Name "VNet1" `
    -AddressPrefix 10.1.0.0/16
    
  3. Erstellen Sie über New-AzVirtualNetworkSubnetConfig Subnetze mit Namen „FrontEnd“ und „GatewaySubnet“ (ein Gatewaysubnetz muss mit GatewaySubnet benannt werden).

    $subnetConfigFrontend = Add-AzVirtualNetworkSubnetConfig `
      -Name Frontend `
      -AddressPrefix 10.1.0.0/24 `
      -VirtualNetwork $vnet
    
    $subnetConfigGW = Add-AzVirtualNetworkSubnetConfig `
      -Name GatewaySubnet `
      -AddressPrefix 10.1.255.0/27 `
      -VirtualNetwork $vnet
    
  4. Schreiben Sie die Subnetzkonfiguration mit Set-AzVirtualNetwork in das virtuelle Netzwerk. Dabei werden die Subnetze im virtuellen Netzwerk erstellt:

    $vnet | Set-AzVirtualNetwork
    

Erstellen des VPN-Gateways

Anfordern einer öffentlichen IP-Adresse

Ein VPN-Gateway muss über eine öffentliche IP-Adresse verfügen. Sie fordern zuerst die IP-Adressressource an und verweisen dann beim Erstellen des Gateways des virtuellen Netzwerks darauf. Die IP-Adresse wird der Ressource bei der Erstellung des VPN-Gateways statisch zugewiesen. Die öffentliche IP-Adresse ändert sich nur, wenn das Gateway gelöscht und neu erstellt wird. Sie ändert sich nicht, wenn die Größe geändert wird, das VPN-Gateway zurückgesetzt wird oder andere interne Wartungs-/Upgradevorgänge für das VPN-Gateway durchgeführt werden.

  1. Verwenden Sie Get-AzPublicIpAddress, um eine öffentliche IP-Adresse für Ihr VPN-Gateway anzufordern.

    $gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
    
  2. Erstellen Sie die Konfiguration der Gateway-IP-Adresse mithilfe von New-AzVirtualNetworkGatewayIpConfig. Auf diese Konfiguration wird beim Erstellen des VPN-Gateways verwiesen.

    $vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1"
    $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
    

Erstellen des VPN-Gateways

In diesem Schritt konfigurieren und erstellen Sie das Gateway des virtuellen Netzwerks für Ihr VNET. Ausführlichere Informationen zur Authentifizierung und zum Tunneltyp finden Sie unter Angeben des Tunnel- und Authentifizierungstyps in der auf dem Azure-Portal basierenden Version dieses Artikels.

  • „-GatewayType“ muss Vpn und „-VpnType“ muss RouteBased lauten.
  • Mit „-VpnClientProtocol“ werden die Tunnelarten angegeben, die Sie aktivieren möchten. Die Tunneloptionen lauten OpenVPN, SSTP und IKEv2. Sie können eine dieser beiden Optionen oder jede unterstützte Kombination aktivieren. Wenn Sie mehrere Typen aktivieren möchten, geben Sie die Namen mit Kommas als Trennzeichen an. OpenVPN und SSTP können nicht zusammen aktiviert werden. Der strongSwan-Client unter Android und Linux und der native IKEv2-VPN-Client unter iOS und macOS verwenden nur den IKEv2-Tunnel für die Verbindungsherstellung. Windows-Clients probieren zunächst IKEv2. Wird keine Verbindung hergestellt, verwenden sie SSTP. Sie können den OpenVPN-Client verwenden, um eine Verbindung mit dem OpenVPN-Tunneltyp herzustellen.
  • Die Basic-SKU des Gateways für virtuelle Netzwerke unterstützt weder IKEv2- noch OpenVPN- oder RADIUS-Authentifizierung. Wenn Sie planen, Verbindungen von Mac-Clients mit Ihrem virtuellen Netzwerk zuzulassen, sollten Sie nicht die Basic-SKU verwenden.
  • Je nach ausgewählter Gateway-SKU kann die Erstellung eines VPN-Gateways 45 Minuten oder länger dauern.
  1. Erstellen Sie mithilfe von New-AzVirtualNetworkGateway das virtuelle Netzwerkgateway mit dem Gatewaytyp „Vpn“ .

    In diesem Beispiel verwenden wir die SKU „VpnGw2, Generation 2“. Wenn ValidateSet-Fehler zum GatewaySKU-Wert angezeigt und diese Befehle lokal ausgeführt werden, stellen Sie sicher, dass Sie die aktuelle Version der PowerShell-Cmdlets installiert haben. Die aktuellste Version enthält die neuen überprüften Werte für die neuesten Gateway-SKUs.

    New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" `
    -Location "EastUS" -IpConfigurations $gwipconfig -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2" -VpnClientProtocol IkeV2,OpenVPN
    
  2. Sobald das Gateway erstellt wurde, können Sie es mithilfe des folgenden Beispiels anzeigen.

    Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroup TestRG1
    

Hinzufügen des VPN-Clientadresspools

Nachdem das VPN-Gateway erstellt wurde, können Sie den VPN-Clientadresspool hinzufügen. Der Adresspool des VPN-Clients ist der Bereich, aus dem die VPN-Clients bei der Verbindungsherstellung eine IP-Adresse erhalten. Verwenden Sie einen privaten IP-Adressbereich, der sich nicht mit dem lokalen Standort überschneidet, aus dem Sie Verbindungen herstellen möchten. Der Bereich darf sich auch nicht mit dem VNet überschneiden, mit dem Sie Verbindungen herstellen möchten.

  1. Deklarieren Sie die folgenden Variablen:

    $VNetName  = "VNet1"
    $VPNClientAddressPool = "172.16.201.0/24"
    $RG = "TestRG1"
    $Location = "EastUS"
    $GWName = "VNet1GW"
    
  2. Fügen Sie den VPN-Clientadresspool hinzu:

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $RG -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
    

Generieren von Zertifikaten

Wichtig

Sie können über Azure Cloud Shell keine Zertifikate generieren. Sie müssen eine der in diesem Abschnitt beschriebenen Methoden verwenden. Wenn Sie PowerShell nutzen möchten, müssen Sie es lokal installieren.

Zertifikate werden von Azure zur Authentifizierung von VPN-Clients für Point-to-Site-VPNs verwendet. Sie laden die Informationen des öffentlichen Schlüssels des Stammzertifikats in Azure hoch. Der öffentliche Schlüssel wird dann als vertrauenswürdig betrachtet. Clientzertifikate müssen über das vertrauenswürdige Stammzertifikat erstellt und dann auf jedem Clientcomputer installiert werden, der sich im persönlichen Zertifikatspeicher des aktuellen Benutzers befindet. Mit diesem Zertifikat wird der Client authentifiziert, wenn er eine Verbindung mit dem VNET initiiert.

Wenn Sie selbstsignierte Zertifikate verwenden, müssen diese anhand bestimmter Parameter erstellt werden. Sie können ein selbstsigniertes Zertifikat anhand der Anweisungen für PowerShell für Windows-Computer unter Windows 10 oder höher erstellen. Wenn Sie nicht Windows 10 oder höher ausführen, verwenden Sie stattdessen MakeCert.

Beim Erstellen von selbstsignierten Stammzertifikaten und Clientzertifikaten müssen Sie unbedingt die Schritte in den Anweisungen ausführen. Andernfalls sind die erstellten Zertifikate nicht mit P2S-Verbindungen kompatibel, und Ihnen wird ein Verbindungsfehler angezeigt.

Stammzertifikat

  1. Beschaffen Sie die CER-Datei für das Stammzertifikat. Sie können entweder ein Stammzertifikat verwenden, das mit einer Unternehmenslösung generiert wurde (empfohlen), oder ein selbstsigniertes Zertifikat generieren. Nach dem Erstellen des Stammzertifikats exportieren Sie die Daten des öffentlichen Zertifikats (nicht den privaten Schlüssel) als Base64-codierte X.509-CER-Datei. Sie laden diese Datei später in Azure hoch.

    • Unternehmenszertifikat: Bei einer Unternehmenslösung können Sie Ihre vorhandene Zertifikatkette verwenden. Rufen Sie die CER-Datei für das Stammzertifikat ab, das Sie verwenden möchten.

    • Selbstsigniertes Stammzertifikat: Wenn Sie keine Unternehmenszertifikatlösung verwenden, erstellen Sie ein selbstsigniertes Stammzertifikat. Andernfalls sind die erstellten Zertifikate nicht mit Ihren P2S-Verbindungen kompatibel, und auf Clients wird beim Verbindungsversuch ein Verbindungsfehler angezeigt. Sie können Azure PowerShell, MakeCert oder OpenSSL verwenden. Die Schritte in den folgenden Artikeln beschreiben das Generieren eines kompatiblen selbstsignierten Stammzertifikats:

      • PowerShell-Anweisungen für Windows 10 oder höher: Für diese Anweisungen wird PowerShell auf einem Computer mit Windows 10 oder höher benötigt. Clientzertifikate, die von der Stammzertifizierungsstelle generiert werden, können auf jedem unterstützten P2S-Client installiert werden.
      • MakeCert-Anweisungen: Wenn Sie keinen Zugang zu einem Computer mit Windows 10 oder höher haben, verwenden Sie MakeCert, um Zertifikate zu generieren. MakeCert ist zwar veraltet, kann aber trotzdem zum Generieren von Zertifikaten verwendet werden. Clientzertifikate, die Sie vom Stammzertifikat generieren, können auf jedem unterstützten P2S-Client installiert werden.
      • Linux – OpenSSL-Anweisungen
      • Linux – strongSwan-Anweisungen
  2. Nach dem Erstellen des Stammzertifikats exportieren Sie die Daten des öffentlichen Zertifikats (nicht den privaten Schlüssel) als Base64-codierte X.509-CER-Datei.

Clientzertifikat

  1. Auf jedem Clientcomputer, für den Sie eine Point-to-Site-Verbindung mit einem VNet herstellen, muss ein Clientzertifikat installiert sein. Sie generieren es aus dem Stammzertifikat und installieren es auf jedem Clientcomputer. Wenn Sie kein gültiges Clientzertifikat installieren, und der Client versucht, eine Verbindung mit dem VNET herzustellen, tritt bei der Authentifizierung ein Fehler auf.

    Sie können entweder ein eindeutiges Zertifikat für jeden Client generieren, oder Sie können dasselbe Zertifikat für mehrere Clients verwenden. Der Vorteil beim Generieren von eindeutigen Clientzertifikaten besteht darin, dass Sie ein einzelnes Zertifikat widerrufen können. Falls mehrere Clients das gleiche Clientzertifikat zum Authentifizieren verwenden, und Sie dieses Zertifikat widerrufen, müssen Sie für alle Clients, die das Zertifikat verwenden, neue Zertifikate generieren und installieren.

    Sie können mithilfe der folgenden Methoden Clientzertifikate generieren:

    • Unternehmenszertifikat:

      • Generieren Sie bei Verwendung einer Unternehmenszertifikatlösung ein Clientzertifikat mit dem gängigen Name-Wert-Format name@yourdomain.com. Verwenden Sie dieses Format anstelle des Formats Domänenname\Benutzername.

      • Stellen Sie sicher, dass das Clientzertifikat auf einer Benutzerzertifikatvorlage basiert, für die Clientauthentifizierung als erstes Element in der Benutzerliste enthalten ist. Überprüfen Sie das Zertifikat, indem Sie darauf doppelklicken und Erweiterte Schlüsselverwendung auf der Registerkarte Details anzeigen.

    • Selbstsigniertes Stammzertifikat: Führen Sie die Schritte in einem der folgenden Artikel zu P2S-Zertifikaten aus, damit die von Ihnen erstellten Clientzertifikate mit Ihren P2S-Verbindungen kompatibel sind.

      Wenn Sie ein Clientzertifikat auf der Grundlage eines selbstsignierten Stammzertifikats generieren, wird es automatisch auf dem Computer installiert, den Sie für die Generierung verwendet haben. Falls Sie ein Clientzertifikat auf einem anderen Clientcomputer installieren möchten, exportieren Sie es zusammen mit der gesamten Zertifikatkette als PFX-Datei. Dadurch wird eine PFX-Datei mit Angaben zum Stammzertifikat erstellt, die der Client zur Authentifizierung benötigt.

      Mit den Schritten in diesen Artikeln wird ein kompatibles Clientzertifikat generiert, das Sie anschließend exportieren und verteilen können.

      • PowerShell-Anweisungen für Windows 10 oder höher: Für diese Anweisungen sind Windows 10 oder höher und PowerShell erforderlich, um Zertifikate zu generieren. Die generierten Zertifikate können auf jedem unterstützten P2S-Client installiert werden.

      • MakeCert-Anweisungen: Verwenden Sie MakeCert, wenn Sie keinen Zugriff auf einen Computer mit Windows 10 oder höher haben, um Zertifikate zu generieren. MakeCert ist zwar veraltet, kann aber trotzdem zum Generieren von Zertifikaten verwendet werden. Sie können die generierten Zertifikate auf jedem unterstützten P2S-Client installieren.

      • Linux: Siehe strongSwan- oder OpenSSL-Anweisungen.

  2. Exportieren Sie das Clientzertifikat, nachdem Sie es erstellt haben. Jeder Clientcomputer muss über ein Clientzertifikat verfügen, um eine Verbindung herzustellen und sich zu authentifizieren.

Hochladen von Informationen des öffentlichen Schlüssels des Stammzertifikats

Vergewissern Sie sich, dass das VPN-Gateway erstellt wurde. Nach der Erstellung können Sie die CER-Datei (mit den Informationen zum öffentlichen Schlüssel) für ein vertrauenswürdiges Stammzertifikat in Azure hochladen. Nach dem Hochladen der CER-Datei kann Azure die Datei verwenden, um Clients zu authentifizieren, auf denen ein aus dem vertrauenswürdigen Stammzertifikat generiertes Clientzertifikat installiert ist. Sie können später bei Bedarf weitere vertrauenswürdige Stammzertifikate hochladen – bis zu 20 insgesamt.

Hinweis

Die CER-Datei kann nicht über Azure Cloud Shell hochgeladen werden. Sie können entweder PowerShell lokal auf Ihrem Computer verwenden oder die Schritte mit dem Azure-Portal ausführen.

  1. Deklarieren Sie die Variable für Ihren Zertifikatnamen, und ersetzen Sie den Wert durch Ihren Wert.

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. Ersetzen Sie den Dateipfad durch Ihren eigenen Pfad, und führen Sie dann die Cmdlets aus.

    $filePathForCert = "C:\cert\P2SRootCert.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64 = [system.convert]::ToBase64String($cert.RawData)
    
  3. Laden Sie die Informationen des öffentlichen Schlüssels in Azure noch. Nachdem die Zertifikatinformationen hochgeladen wurden, betrachtet Azure es als vertrauenswürdiges Stammzertifikat. Stellen Sie beim Hochladen sicher, dass Sie PowerShell lokal auf Ihrem Computer ausführen, oder verwenden Sie stattdessen die Schritte mit dem Azure-Portal. Wenn der Upload abgeschlossen ist, wird eine PowerShell-Rückgabe mit PublicCertData angezeigt. Es dauert etwa 10 Minuten, bis der Prozess zum Hochladen des Zertifikats abgeschlossen ist.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname "VNet1GW" -ResourceGroupName "TestRG1" -PublicCertData $CertBase64
    

Installieren eines exportierten Clientzertifikats

Mit den folgenden Schritten installieren Sie ein Clientzertifikat auf einem Windows-Client. Zusätzliche Clients und weitere Informationen finden Sie unter Installieren eines Clientzertifikats.

  1. Suchen Sie nach dem Exportieren des Clientzertifikats die PFX-Datei, und kopieren Sie sie auf den Clientcomputer.
  2. Doppelklicken Sie auf dem Clientcomputer auf die PFX -Datei, um sie zu installieren. Behalten Sie für Speicherort die Einstellung Aktueller Benutzer bei, und klicken Sie auf Weiter.
  3. Nehmen Sie auf der Seite Zu importierende Datei keine Änderungen vor. Klicken Sie auf Weiter.
  4. Geben Sie auf der Seite Schutz für den privaten Schlüssel das Kennwort für das Zertifikat ein, oder überprüfen Sie die Korrektheit des Sicherheitsprinzipals, und klicken Sie anschließend auf Weiter.
  5. Behalten Sie auf der Seite Zertifikatspeicher den Standardspeicherort bei, und klicken Sie dann auf Weiter.
  6. Wählen Sie Fertig stellen aus. Klicken Sie in der Sicherheitswarnung für die Zertifikatinstallation auf Ja. Sie können problemlos „Ja“ für diese Sicherheitswarnung auswählen, da Sie das Zertifikat generiert haben.
  7. Das Zertifikat wird nun erfolgreich importiert.

Stellen Sie sicher, dass das Clientzertifikat zusammen mit der gesamten Zertifikatkette als PFX-Datei exportiert wurden (Standardeinstellung). Andernfalls sind die Stammzertifikatinformationen nicht auf dem Clientcomputer vorhanden, und der Client kann nicht ordnungsgemäß authentifiziert werden.

Generieren und Herunterladen des VPN-Clientprofilkonfigurationspakets

Jeder VPN-Client wird mithilfe der Dateien in einem Profilkonfigurationspaket für den VPN-Client konfiguriert, das Sie generieren und herunterladen. Das Konfigurationspaket enthält Einstellungen, die für das von Ihnen erstellte VPN-Gateway spezifisch sind. Wenn Sie Änderungen am Gateway vornehmen und etwa einen Tunneltyp, ein Zertifikat oder einen Authentifizierungstyp ändern, müssen Sie ein weiteres Profilkonfigurationspaket für den VPN-Client generieren und auf den einzelnen Clients installieren. Andernfalls können Ihre VPN-Clients möglicherweise keine Verbindung herstellen.

Beim Generieren von VPN-Clientkonfigurationsdateien ist für „-AuthenticationMethod“ der Wert „EapTls“ angegeben. Erstellen Sie die VPN-Clientkonfigurationsdateien mit dem folgenden Befehl:

$profile=New-AzVpnClientConfiguration -ResourceGroupName "TestRG" -Name "VNet1GW" -AuthenticationMethod "EapTls"

$profile.VPNProfileSASUrl

Kopieren Sie die URL in Ihren Browser, um die ZIP-Datei herunterzuladen.

Konfigurieren von VPN-Clients und Herstellen einer Verbindung mit Azure

Schritte zum Konfigurieren Ihrer VPN-Clients und zum Herstellen einer Verbindung mit Azure finden Sie in den folgenden Artikeln:

Authentifizierung Tunneltyp Clientbetriebssystem VPN-Client
Zertifikat
IKEv2, SSTP Windows Nativer VPN-Client
IKEv2 macOS Nativer VPN-Client
IKEv2 Linux strongSwan
OpenVPN Windows Azure VPN Client
OpenVPN-Clientversion 2.x
OpenVPN-Clientversion 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

So überprüfen Sie eine Verbindung

Diese Anweisungen gelten für Windows-Clients.

  1. Um sicherzustellen, dass die VPN-Verbindung aktiv ist, öffnen Sie eine Eingabeaufforderung mit Administratorrechten, und führen Sie Ipconfig/allaus.

  2. Zeigen Sie die Ergebnisse an. Beachten Sie, dass die erhaltene IP-Adresse aus dem P2S-VPN-Clientadresspool stammt, den Sie in Ihrer Konfiguration angegeben haben. Die Ergebnisse sehen in etwa wie in diesem Beispiel aus:

    PPP adapter VNet1:
       Connection-specific DNS Suffix .:
       Description.....................: VNet1
       Physical Address................:
       DHCP Enabled....................: No
       Autoconfiguration Enabled.......: Yes
       IPv4 Address....................: 172.16.201.13(Preferred)
       Subnet Mask.....................: 255.255.255.255
       Default Gateway.................:
       NetBIOS over Tcpip..............: Enabled
    

So stellen Sie eine Verbindung mit einer virtuellen Maschine her

Diese Anweisungen gelten für Windows-Clients.

Sie können eine Verbindung mit einer in Ihrem virtuellen Netzwerk bereitgestellten VM herstellen, indem Sie eine Remotedesktopverbindung mit Ihrer VM erstellen. Die beste Möglichkeit zur anfänglichen Sicherstellung, dass eine Verbindung mit Ihrer VM hergestellt werden kann, ist die Verwendung der privaten IP-Adresse anstelle des Computernamens. Auf diese Weise können Sie testen, ob die Verbindungsherstellung möglich ist, anstatt zu überprüfen, ob die Namensauflösung richtig konfiguriert ist.

  1. Ermitteln Sie die private IP-Adresse. Sie können die private IP-Adresse eines virtuellen Computers suchen, indem Sie sich entweder die Eigenschaften für den virtuellen Computer im Azure-Portal ansehen oder PowerShell verwenden.

    • Azure-Portal: Suchen Sie Ihren virtuellen Computer im Azure-Portal. Zeigen Sie die Eigenschaften für die VM an. Die private IP-Adresse ist aufgeführt.

    • PowerShell: Verwenden Sie das Beispiel, um eine Liste mit virtuellen Computern und privaten IP-Adressen aus Ihren Ressourcengruppen anzuzeigen. Es ist nicht erforderlich, dieses Beispiel vor der Verwendung zu ändern.

      $VMs = Get-AzVM
      $Nics = Get-AzNetworkInterface | Where-Object VirtualMachine -ne $null
      
      foreach ($Nic in $Nics) {
      $VM = $VMs | Where-Object -Property Id -eq $Nic.VirtualMachine.Id
      $Prv = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAddress
      $Alloc = $Nic.IpConfigurations | Select-Object -ExpandProperty PrivateIpAllocationMethod
      Write-Output "$($VM.Name): $Prv,$Alloc"
      }
      
  2. Stellen Sie sicher, dass Sie mit Ihrem virtuellen Netzwerk verbunden sind.

  3. Öffnen Sie Remotedesktopverbindung, indem Sie RDP oder Remotedesktopverbindung in das Suchfeld auf der Taskleiste eingeben. Wählen Sie dann Remotedesktopverbindung aus. Sie können auch den Befehl mstsc in PowerShell verwenden, um Remotedesktopverbindung zu öffnen.

  4. Geben Sie in Remotedesktopverbindung die private IP-Adresse der VM ein. Sie können Optionen anzeigen auswählen, um andere Einstellungen anzupassen und dann eine Verbindung herzustellen.

Falls Sie beim Herstellen einer Verbindung mit einem virtuellen Computer über Ihre VPN-Verbindung Probleme haben, überprüfen Sie die folgenden Punkte:

  • Stellen Sie sicher, dass die Herstellung der VPN-Verbindung erfolgreich war.
  • Stellen Sie sicher, dass Sie die Verbindung mit der privaten IP-Adresse für die VM herstellen.
  • Falls Sie mithilfe der privaten IP-Adresse eine Verbindung mit dem virtuellen Computer herstellen können, aber nicht mit dem Computernamen, überprüfen Sie, dass Sie das DNS ordnungsgemäß konfiguriert haben. Weitere Informationen zur Funktionsweise der Namensauflösung für virtuelle Computer finden Sie unter Namensauflösung für virtuelle Computer.

Weitere Informationen zu RDP-Verbindungen finden Sie unter Behandeln von Problemen bei Remotedesktopverbindungen mit einem virtuellen Azure-Computer.

  • Stellen Sie sicher, dass das VPN-Clientkonfigurationspaket generiert wurde, nachdem die IP-Adressen des DNS-Server für das VNET angegeben wurden. Wenn Sie die IP-Adressen des DNS-Servers aktualisiert haben, generieren Sie ein neues VPN-Clientkonfigurationspaket und installieren es.

  • Überprüfen Sie mit „ipconfig“ die IPv4-Adresse, die dem Ethernet-Adapter auf dem Computer zugewiesen ist, von dem aus Sie die Verbindung herstellen. Wenn sich die IP-Adresse im Adressbereich des VNETs befindet, mit dem Sie die Verbindung herstellen, oder im Adressbereich von „VPNClientAddressPool“ liegt, wird dies als sich überschneidender Adressraum bezeichnet. Falls sich Ihr Adressraum auf diese Weise überschneidet, kommt der Netzwerkdatenverkehr nicht bei Azure an, sondern verbleibt im lokalen Netzwerk.

So fügen Sie ein Stammzertifikat hinzu oder entfernen es

Sie können vertrauenswürdige Stammzertifikate hinzufügen und aus Azure entfernen. Wenn Sie ein Stammzertifikat entfernen, können Clients, für die über dieses Stammzertikat ein Zertifikat generiert wurde, nicht authentifiziert werden und somit auch keine Verbindung herstellen. Wenn Sie für einen Client die Authentifizierung und Verbindungsherstellung durchführen möchten, müssen Sie ein neues Clientzertifikat installieren, das aus einem für Azure vertrauenswürdigen (hochgeladenen) Stammzertifikat generiert wurde. Für diese Schritte müssen die Azure PowerShell-Cmdlets lokal auf Ihrem Computer installiert sein (die Verwendung von Azure Cloud Shell ist nicht möglich). Sie können auch das Azure-Portal verwenden, um Stammzertifikate hinzuzufügen.

Hinzufügen:

Sie können Azure bis zu 20 CER-Stammzertifikatdateien hinzufügen. Mit den folgenden Schritten fügen Sie ein Stammzertifikat hinzu.

  1. Bereiten Sie die hochzuladende CER-Datei vor:

    $filePathForCert = "C:\cert\P2SRootCert3.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64_3 = [system.convert]::ToBase64String($cert.RawData)
    
  2. Laden Sie die Datei hoch. Sie können jeweils nur eine Datei hochladen.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname "VNet1GW" -ResourceGroupName "TestRG1" -PublicCertData $CertBase64_3
    
  3. So überprüfen Sie, ob die Zertifikatdatei hochgeladen wurde:

    Get-AzVpnClientRootCertificate -ResourceGroupName "TestRG1" `
    -VirtualNetworkGatewayName "VNet1GW"
    

Entfernen:

  1. Deklarieren Sie die Variablen. Ändern Sie die Variablen im Beispiel so, dass sie dem Zertifikat entsprechen, das Sie entfernen möchten.

    $GWName = "Name_of_virtual_network_gateway"
    $RG = "Name_of_resource_group"
    $P2SRootCertName2 = "ARMP2SRootCert2.cer"
    $MyP2SCertPubKeyBase64_2 = "MIIC/zCCAeugAwIBAgIQKazxzFjMkp9JRiX+tkTfSzAJBgUrDgMCHQUAMBgxFjAUBgNVBAMTDU15UDJTUm9vdENlcnQwHhcNMTUxMjE5MDI1MTIxWhcNMzkxMjMxMjM1OTU5WjAYMRYwFAYDVQQDEw1NeVAyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyjIXoWy8xE/GF1OSIvUaA0bxBjZ1PJfcXkMWsHPzvhWc2esOKrVQtgFgDz4ggAnOUFEkFaszjiHdnXv3mjzE2SpmAVIZPf2/yPWqkoHwkmrp6BpOvNVOpKxaGPOuK8+dql1xcL0eCkt69g4lxy0FGRFkBcSIgVTViS9wjuuS7LPo5+OXgyFkAY3pSDiMzQCkRGNFgw5WGMHRDAiruDQF1ciLNojAQCsDdLnI3pDYsvRW73HZEhmOqRRnJQe6VekvBYKLvnKaxUTKhFIYwuymHBB96nMFdRUKCZIiWRIy8Hc8+sQEsAML2EItAjQv4+fqgYiFdSWqnQCPf/7IZbotgQIDAQABo00wSzBJBgNVHQEEQjBAgBAkuVrWvFsCJAdK5pb/eoCNoRowGDEWMBQGA1UEAxMNTXlQMlNSb290Q2VydIIQKazxzFjMkp9JRiX+tkTfSzAJBgUrDgMCHQUAA4IBAQA223veAZEIar9N12ubNH2+HwZASNzDVNqspkPKD97TXfKHlPlIcS43TaYkTz38eVrwI6E0yDk4jAuPaKnPuPYFRj9w540SvY6PdOUwDoEqpIcAVp+b4VYwxPL6oyEQ8wnOYuoAK1hhh20lCbo8h9mMy9ofU+RP6HJ7lTqupLfXdID/XevI8tW6Dm+C/wCeV3EmIlO9KUoblD/e24zlo3YzOtbyXwTIh34T0fO/zQvUuBqZMcIPfM1cDvqcqiEFLWvWKoAnxbzckye2uk1gHO52d8AVL3mGiX8wBJkjc/pMdxrEvvCzJkltBmqxTM6XjDJALuVh16qFlqgTWCIcb7ju"
    
  2. Entfernen Sie das Zertifikat.

    Remove-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName2 -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG -PublicCertData $MyP2SCertPubKeyBase64_2
    
  3. Überprüfen Sie mit dem folgenden Beispiel, ob das Zertifikat erfolgreich entfernt wurde.

    Get-AzVpnClientRootCertificate -ResourceGroupName "TestRG1" `
    -VirtualNetworkGatewayName "VNet1GW"
    

So sperren oder reaktivieren Sie ein Clientzertifikat

Sie können Clientzertifikate sperren. Anhand der Zertifikatsperrliste können Sie P2S-Verbindungen basierend auf einzelnen Clientzertifikaten selektiv verweigern. Das ist nicht dasselbe wie das Entfernen eines vertrauenswürdigen Stammzertifikats. Wenn Sie ein vertrauenswürdiges Stammzertifikat (CER-Datei) aus Azure entfernen, wird der Zugriff für alle Clientzertifikate gesperrt, die mit dem gesperrten Stammzertifikat generiert oder signiert wurden. Wenn Sie anstelle des Stammzertifikats ein Clientzertifikat sperren, können die anderen Zertifikate, die auf der Grundlage des Stammzertifikats generiert wurden, weiterhin für die Authentifizierung verwendet werden.

Üblicherweise wird das Stammzertifikat zum Verwalten des Zugriffs auf Team- oder Organisationsebene verwendet. Eine genauer abgestufte Steuerung des Zugriffs für einzelne Benutzer erfolgt hingegen mit gesperrten Clientzertifikaten.

Zum Widerrufen:

  1. Rufen Sie den Fingerabdruck des Clientzertifikats ab. Weitere Informationen finden Sie unter Vorgehensweise: Abrufen des Fingerabdrucks eines Zertifikats.

  2. Kopieren Sie ihn in einen Text-Editor, und entfernen Sie alle Leerzeichen, sodass eine fortlaufende Zeichenfolge entsteht. Diese Zeichenfolge wird im nächsten Schritt als Variable deklariert.

  3. Deklarieren Sie die Variablen. Deklarieren Sie den Fingerabdruck, den Sie im vorherigen Schritt abgerufen haben.

    $RevokedClientCert1 = "NameofCertificate"
    $RevokedThumbprint1 = "‎51ab1edd8da4cfed77e20061c5eb6d2ef2f778c7"
    $GWName = "Name_of_virtual_network_gateway"
    $RG = "Name_of_resource_group"
    
  4. Fügen Sie den Fingerabdruck der Liste mit den gesperrten Zertifikaten hinzu. Nach dem Hinzufügen des Fingerabdrucks wird „Erfolgreich“ angezeigt.

    Add-AzVpnClientRevokedCertificate -VpnClientRevokedCertificateName $RevokedClientCert1 `
    -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG `
    -Thumbprint $RevokedThumbprint1
    
  5. Überprüfen Sie, ob der Fingerabdruck zur Zertifikatsperrliste hinzugefügt wurde.

    Get-AzVpnClientRevokedCertificate -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG
    
  6. Nachdem der Fingerabdruck hinzugefügt wurde, kann das Zertifikat nicht mehr zum Herstellen einer Verbindung verwendet werden. Clients, die versuchen, unter Verwendung dieses Zertifikats eine Verbindung herzustellen, erhalten eine Meldung mit dem Hinweis, dass das Zertifikat nicht mehr gültig ist.

Reaktivieren:

Sie können ein Clientzertifikat reaktivieren, indem Sie den Fingerabdruck aus der Liste der gesperrten Clientzertifikate entfernen.

  1. Deklarieren Sie die Variablen. Achten Sie darauf, dass Sie den richtigen Fingerabdruck für das Zertifikat deklarieren, das Sie reaktivieren möchten.

    $RevokedClientCert1 = "NameofCertificate"
    $RevokedThumbprint1 = "‎51ab1edd8da4cfed77e20061c5eb6d2ef2f778c7"
    $GWName = "Name_of_virtual_network_gateway"
    $RG = "Name_of_resource_group"
    
  2. Entfernen Sie den Zertifikatfingerabdruck aus der Sperrliste.

    Remove-AzVpnClientRevokedCertificate -VpnClientRevokedCertificateName $RevokedClientCert1 `
    -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG -Thumbprint $RevokedThumbprint1
    
  3. Überprüfen Sie, ob der Fingerabdruck aus der Sperrliste entfernt wurde.

    Get-AzVpnClientRevokedCertificate -VirtualNetworkGatewayName $GWName -ResourceGroupName $RG
    

Häufig gestellte Fragen zu P2S

Weitere Informationen zu P2S finden Sie in den häufig gestellten Fragen zu VPN Gateway und P2S.

Nächste Schritte

Sobald die Verbindung hergestellt ist, können Sie Ihren virtuellen Netzwerken virtuelle Computer hinzufügen. Weitere Informationen finden Sie unter Virtuelle Computer . Weitere Informationen zu Netzwerken und virtuellen Computern finden Sie unter Azure- und Linux-VM-Netzwerke (Übersicht).

Informationen zur P2S-Problembehandlung finden Sie unter Problembehandlung: Azure Point-to-Site-Verbindungsprobleme.