Übung: Erstellen eines Azure VPN Gateways

Abgeschlossen

Sie möchten sichergehen, dass Sie Clients oder Websites innerhalb Ihrer Umgebung unter Verwendung verschlüsselter Tunnel über das öffentliche Internet mit Azure verbinden können. In dieser Lerneinheit erstellen Sie ein Point-to-Site-VPN-Gateway und stellen anschließend über einen Clientcomputer eine Verbindung mit diesem Gateway her. Aus Sicherheitsgründen verwenden Sie Verbindungen mit nativer Azure-Zertifikatauthentifizierung.

Der Prozess umfasst folgende Schritte:

  1. Erstellen eines RouteBased-VPN-Gateways

  2. Hochladen des öffentlichen Schlüssels für ein Stammzertifikat zur Authentifizierung

  3. Generieren eines Clientzertifikats auf der Grundlage des Stammzertifikats und anschließendes Installieren des Clientzertifikats auf jedem Clientcomputer, der eine Verbindung mit dem virtuellen Netzwerk herstellt, um die Authentifizierung zu ermöglichen

  4. Erstellen Sie VPN-Clientkonfigurationsdateien mit den erforderlichen Informationen, damit der Client eine Verbindung mit dem virtuellen Netzwerk herstellen kann.

Setup

In diesem Tutorial verwenden Sie Azure PowerShell auf Ihrem lokalen Windows 10-Computer.

  1. Öffnen Sie eine neue PowerShell-Sitzung auf Ihrem lokalen Windows 10-Computer, auf dem das Azure PowerShell-Modul installiert ist.

  2. Melden Sie sich mithilfe des PowerShell-Cmdlets Connect-AzAccount bei Azure an.

  3. Richten Sie die Variablen ein, die Sie zum Erstellen eines virtuellen Netzwerks verwenden werden. Kopieren Sie die folgenden Variablen, und fügen Sie sie in PowerShell ein.

$VNetName  = "VNetData"
$FESubName = "FrontEnd"
$BESubName = "Backend"
$GWSubName = "GatewaySubnet"
$VNetPrefix1 = "192.168.0.0/16"
$VNetPrefix2 = "10.254.0.0/16"
$FESubPrefix = "192.168.1.0/24"
$BESubPrefix = "10.254.1.0/24"
$GWSubPrefix = "192.168.200.0/26"
$VPNClientAddressPool = "172.16.201.0/24"
$ResourceGroup = "VpnGatewayDemo"
$Location = "East US"
$GWName = "VNetDataGW"
$GWIPName = "VNetDataGWPIP"
$GWIPconfName = "gwipconf"

Konfigurieren eines virtuellen Netzwerks

  1. Führen Sie den folgenden Befehl aus, um eine Ressourcengruppe zu erstellen.

    New-AzResourceGroup -Name $ResourceGroup -Location $Location
    
  2. Führen Sie den folgenden Befehl aus, um Subnetzkonfigurationen für das virtuelle Netzwerk zu erstellen. Diese Konfigurationen tragen die Namen FrontEnd, BackEnd und GatewaySubnet. Diese Subnetze befinden sich alle innerhalb des Präfixes des virtuellen Netzwerks.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix
    $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
    
  3. Führen Sie als Nächstes den folgenden Befehl aus, um das virtuelle Netzwerk mithilfe der Subnetzwerte und eines statischen DNS-Servers zu erstellen.

    New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. Geben Sie nun die Variablen für das Netzwerk an, das Sie erstellt haben.

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
    
  5. Führen Sie den folgenden Befehl aus, um eine dynamisch zugewiesene, öffentliche IP-Adresse anzufordern.

    $pip = New-AzPublicIpAddress -Name $GWIPName -ResourceGroupName $ResourceGroup -Location $Location -AllocationMethod Dynamic
    $ipconf = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName -Subnet $subnet -PublicIpAddress $pip
    

Erstellen des VPN-Gateways

Achten Sie beim Erstellen dieses VPN-Gateways auf Folgendes:

  • „GatewayType“ muss „Vpn“ lauten.
  • „VpnType“ muss „RouteBased“ lauten.

Dieser Teil der Übung kann bis zu 45 Minuten dauern.

  1. Führen Sie zum Erstellen des VPN-Gateways den folgenden Befehl aus, und drücken Sie die EINGABETASTE.

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup `
    -Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
    
  2. Warten Sie, bis die Ausgabe des Befehls angezeigt wird.

Hinzufügen des VPN-Clientadresspools

  1. Führen Sie den folgenden Befehl aus, um den VPN-Clientadresspool hinzuzufügen.

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
    
  2. Warten Sie darauf, dass die Befehlsausgabe angezeigt wird.

Generieren eines Clientzertifikats

Nachdem Sie die Netzwerkinfrastruktur in Azure erstellt haben, müssen Sie ein selbstsigniertes Clientzertifikat auf Ihrem lokalen Computer erstellen. Diese Erstellung unterscheidet sich bei den meisten Betriebssystemen kaum. Hier besprechen wir, wie Sie ein Clientzertifikat mit PowerShell mit dem Azure PowerShell-Modul und dem Windows-Hilfsprogramm Zertifikat-Manager unter Windows 10 erstellen.

  1. Erstellen Sie zunächst das selbstsignierte Stammzertifikat. Führen Sie den folgenden Befehl aus.

    $cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
    -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
    
  2. Generieren Sie anschließend ein Clientzertifikat, das mit Ihrem neuen Stammzertifikat signiert wurde.

    New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
    -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
    -HashAlgorithm sha256 -KeyLength 2048 `
    -CertStoreLocation "Cert:\CurrentUser\My" `
    -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
    

Exportieren des öffentlichen Zertifikatschlüssels

Nachdem die Zertifikate generiert wurden, müssen Sie den öffentlichen Schlüssel des Stammzertifikats exportieren.

  1. Führen Sie certmgr über PowerShell aus, um den Zertifikat-Manager zu öffnen.

  2. Navigieren Sie zu Persönlich>Zertifikate.

  3. Klicken Sie mit der rechten Maustaste auf das Zertifikat P2SRootCert in der Liste, und klicken Sie dann auf Alle Tasks>Exportieren.

  4. Klicken Sie im Zertifikatexport-Assistenten auf Weiter.

  5. Vergewissern Sie sich, dass Nein, privaten Schlüssel nicht exportieren aktiviert ist, und klicken Sie dann auf Weiter.

  6. Vergewissern Sie sich auf der Seite Format der zu exportierenden Datei, dass Base-64-codiert X.509 (.CER) ausgewählt ist, und klicken Sie dann auf Weiter.

  7. Navigieren Sie auf der Seite Zu exportierende Datei unter Dateiname an einen Speicherort, den Sie sich gut merken können, und speichern Sie die Datei als P2SRootCert.cer. Klicken Sie anschließend auf Weiter.

  8. Klicken Sie auf der Abschlussseite des Zertifikatexport-Assistentenauf Fertig stellen.

  9. Klicken Sie im Meldungsfeld des Zertifikatexport-Assistenten auf OK.

Hochladen der Informationen des öffentlichen Schlüssels des Stammzertifikats

  1. Führen Sie im PowerShell-Fenster den folgenden Befehl aus, um eine Variable für den Zertifikatnamen zu deklarieren.

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. Ersetzen Sie den Platzhalter <cert-path> durch den Exportspeicherort des Stammzertifikats, und führen Sie den folgenden Befehl aus.

    $filePathForCert = "<cert-path>\P2SRootCert.cer"
    $cert = new-object System.Security.Cryptography.X509Certificates.X509Certificate2($filePathForCert)
    $CertBase64 = [system.convert]::ToBase64String($cert.RawData)
    $p2srootcert = New-AzVpnClientRootCertificate -Name $P2SRootCertName -PublicCertData $CertBase64
    
  3. Nachdem der Gruppenname festgelegt wurde, laden Sie das Zertifikat mithilfe des folgenden Befehls in Azure hoch.

    Add-AzVpnClientRootCertificate -VpnClientRootCertificateName $P2SRootCertName -VirtualNetworkGatewayname $GWName -ResourceGroupName $ResourceGroup -PublicCertData $CertBase64
    

    Azure erkennt dieses Zertifikat jetzt als vertrauenswürdiges Stammzertifikat für Ihr virtuelles Netzwerk.

Konfigurieren des nativen VPN-Clients

  1. Führen Sie den folgenden Befehl aus, um VPN-Clientkonfigurationsdateien im ZIP-Format zu erstellen.

    $profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls"
    $profile.VPNProfileSASUrl
    
  2. Kopieren Sie die URL aus der Befehlsausgabe, und fügen Sie sie in Ihren Browser ein. Daraufhin sollte der Browser mit dem Herunterladen einer ZIP-Datei beginnen. Extrahieren Sie den Archivinhalt, und fügen Sie diesen an einem geeigneten Speicherort ein.

    Einige Browser blockieren zunächst den Download dieser ZIP-Datei, weil sie diese als potentiell gefährlich ansehen. Dieses Verhalten müssen Sie in Ihrem Browser außer Kraft setzen, um den Archivinhalt extrahieren zu können.

  3. Navigieren Sie im extrahierten Ordner entweder zum Ordner WindowsAmd64 (für 64-Bit-Windows-Computer) oder zum Ordner WindowsX86 (für 32-Bit-Computer).

    Wenn Sie ein VPN auf einem Computer mit einem anderen Betriebssystem als Windows einrichten möchten, können Sie das Zertifikat und die Einstellungsdatei aus dem Ordner Generic (Allgemein) verwenden.

  4. Doppelklicken Sie auf die Datei VpnClientSetup{architecture}.exe, wobei {architecture} für Ihre Architektur steht.

  5. Klicken Sie bei der Anzeige Der Computer wurde durch Windows geschützt auf Details, und klicken Sie dann auf Trotzdem ausführen.

  6. Klicken Sie im Dialogfeld Benutzerkontensteuerung auf Ja.

  7. Klicken Sie im Dialogfeld VNetData auf Ja.

Herstellen einer Verbindung mit Azure

  1. Drücken Sie die Windows-Taste, geben Sie Einstellungen ein, und drücken Sie die EINGABETASTE.

  2. Klicken Sie im Fenster Einstellungen auf Netzwerk und Internet.

  3. Klicken Sie im Bereich links auf VPN.

  4. Klicken Sie rechts auf VNetData, und klicken Sie dann auf Verbinden.

  5. Klicken Sie im VNetData-Fenster auf Verbinden.

  6. Klicken Sie im nächsten VNetData-Fenster auf Weiter.

  7. Klicken Sie im Meldungsfeld Benutzerkontensteuerung auf Ja.

Sollten diese Schritte nicht funktionieren, ist möglicherweise ein Neustart des Computers erforderlich.

Überprüfen der Verbindung

  1. Führen Sie in einer neuen Windows-Eingabeaufforderung IPCONFIG /ALL aus.

  2. Kopieren Sie die IP-Adresse unter dem PPP-Adapter „VNetData“, oder schreiben Sie sich die Adresse auf.

  3. Vergewissern Sie sich, dass die IP-Adresse im VPNClientAddressPool-Bereich 172.16.201.0/24 liegt.

  4. Sie haben erfolgreich eine Verbindung mit dem Azure VPN Gateway hergestellt.

Sie haben soeben ein VPN-Gateway eingerichtet, das es Ihnen ermöglicht, eine verschlüsselte Clientverbindung mit einem virtuellen Netzwerk in Azure herzustellen. Dieser Ansatz eignet sich hervorragend für Clientcomputer und kleinere Site-to-Site-Verbindungen.