Übung: Erstellen eines Azure-VPN-Gateways
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.
Du wirst den folgenden Prozess durchführen:
Erstellen Sie ein Route-basiertes VPN-Gateway.
Hochladen des öffentlichen Schlüssels für ein Stammzertifikat zur Authentifizierung
Generieren Sie ein Clientzertifikat aus dem Stammzertifikat, und installieren Sie dann das Clientzertifikat auf jedem Clientcomputer, der eine Verbindung mit dem virtuellen Netzwerk für Authentifizierungszwecke herstellt.
Erstellen Sie VPN-Clientkonfigurationsdateien mit den erforderlichen Informationen, damit der Client eine Verbindung mit dem virtuellen Netzwerk herstellen kann.
Einrichtung
Verwenden Sie Azure PowerShell von Ihrem lokalen Windows-Computer, um dieses Modul abzuschließen.
Öffnen Sie eine neue PowerShell-Sitzung auf Ihrem lokalen Windows-Computer, auf dem Sie das Azure PowerShell-Modul installiert haben.
Melden Sie sich mithilfe des PowerShell-Cmdlets
Connect-AzAccount
bei Azure an.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
Führen Sie den folgenden Befehl aus, um eine Ressourcengruppe zu erstellen.
New-AzResourceGroup -Name $ResourceGroup -Location $Location
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
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
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
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 Static -Sku Standard -Zone 1,2,3 $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 sein.
- VpnType muss RouteBased sein.
Dieser Teil der Übung kann bis zu 45 Minuten dauern.
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 VpnGw1AZ -VpnClientProtocol "IKEv2"
Warten Sie, bis die Ausgabe des Befehls angezeigt wird.
Hinzufügen des VPN-Clientadresspools
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
Warten Sie, bis die Ausgabe des Befehls angezeigt wird.
Generieren eines Clientzertifikats
Nachdem Sie die Netzwerkinfrastruktur in Azure erstellt haben, müssen Sie ein selbstsigniertes Clientzertifikat auf Ihrem lokalen Computer erstellen. Dieser Erstellungsprozess ähnelt den meisten Betriebssystemen, wir behandeln jedoch, wie Sie Ihr Clientzertifikat unter Windows mithilfe von PowerShell mit dem Azure PowerShell-Modul und dem Windows-Zertifikat-Manager-Dienstprogramm generieren.
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
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.
Führen Sie
certmgr
über PowerShell aus, um den Zertifikat-Manager zu öffnen.Navigieren Sie zu Persönlich>Zertifikate.
Klicken Sie mit der rechten Maustaste auf das Zertifikat P2SRootCert in der Liste, und klicken Sie dann auf Alle Tasks>Exportieren.
Klicken Sie im Zertifikatexport-Assistenten auf Weiter.
Vergewissern Sie sich, dass Nein, privaten Schlüssel nicht exportieren aktiviert ist, und klicken Sie dann auf Weiter.
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.
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.
Klicken Sie auf der Abschlussseite des Zertifikatexport-Assistentenauf Fertig stellen.
Klicken Sie im Meldungsfeld des Zertifikatexport-Assistenten auf OK.
Die öffentlichen Schlüsselinformationen des Stammzertifikats hochladen
Führen Sie im PowerShell-Fenster den folgenden Befehl aus, um eine Variable für den Zertifikatnamen zu deklarieren.
$P2SRootCertName = "P2SRootCert.cer"
Ersetzen Sie den
<cert-path>
Platzhalter durch den Exportspeicherort Ihres Stammzertifikats, und führen Sie dann 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
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
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
Kopieren Sie die in der Ausgabe dieses Befehls zurückgegebene URL, 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.
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.
Doppelklicken Sie auf die Datei VpnClientSetup{architecture}.exe, wobei
{architecture}
für Ihre Architektur steht.Wählen Sie auf dem Bildschirm Der Computer wurde durch Windows geschützt die Option Details und dann Trotzdem ausführen aus.
Klicken Sie im Dialogfeld Benutzerkontensteuerung auf Ja.
Klicken Sie im Dialogfeld VNetData auf Ja.
Herstellen einer Verbindung mit Azure
Drücken Sie die Windows-Taste, geben Sie Einstellungen ein, und drücken Sie die EINGABETASTE.
Klicken Sie im Fenster Einstellungen auf Netzwerk und Internet.
Klicken Sie im Bereich links auf VPN.
Klicken Sie rechts auf VNetData, und klicken Sie dann auf Verbinden.
Klicken Sie im VNetData-Fenster auf Verbinden.
Klicken Sie im nächsten VNetData-Fenster auf Weiter.
Klicken Sie im Meldungsfeld Benutzerkontensteuerung auf Ja.
Sollten diese Schritte nicht funktionieren, ist möglicherweise ein Neustart des Computers erforderlich.
Überprüfen der Verbindung
Führen Sie in einer neuen Windows-Eingabeaufforderung
IPCONFIG /ALL
aus.Kopieren Sie die IP-Adresse unter dem PPP-Adapter „VNetData“, oder schreiben Sie sich die Adresse auf.
Vergewissern Sie sich, dass die IP-Adresse im VPNClientAddressPool-Bereich 172.16.201.0/24 liegt.
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.