Ćwiczenie — tworzenie bramy Azure VPN Gateway

Ukończone

Chcesz mieć pewność, że możesz połączyć klientów lub witryny w danym środowisku z platformą Azure za pomocą szyfrowanych tuneli w publicznym Internecie. W tej lekcji utworzysz bramę sieci VPN punkt-lokacja, a następnie połączysz się z nią z poziomu komputera klienckiego. Ze względów bezpieczeństwa użyjesz połączeń z natywnym uwierzytelnianiem certyfikatu platformy Azure.

Wykonasz następujący proces:

  1. Utwórz bramę sieci VPN typu RouteBased.

  2. Przekaż klucz publiczny dla certyfikatu głównego na potrzeby procesu uwierzytelniania.

  3. Wygeneruj certyfikat klienta z certyfikatu głównego, a następnie zainstaluj ten certyfikat klienta na każdym komputerze klienckim, który będzie łączyć się z siecią wirtualną na potrzeby procesu uwierzytelniania.

  4. Utwórz pliki konfiguracji klienta sieci VPN, które zawierają informacje niezbędne klientowi do połączenia się z siecią wirtualną.

Ustawienia

W celu ukończenia tego modułu użyj programu Azure PowerShell na komputerze lokalnym z systemem Windows 10.

  1. Otwórz nową sesję programu PowerShell na lokalnym komputerze z systemem Windows 10, na którym zainstalowano moduł Azure PowerShell.

  2. Zaloguj się na platformie Azure, uruchamiając polecenie cmdlet Connect-AzAccountprogramu PowerShell .

  3. Skonfiguruj zmienne, które będą używane do tworzenia sieci wirtualnej. Skopiuj i wklej następujące zmienne do programu PowerShell.

$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"

Konfigurowanie sieci wirtualnej

  1. Uruchom poniższe polecenie, aby utworzyć grupę zasobów.

    New-AzResourceGroup -Name $ResourceGroup -Location $Location
    
  2. Uruchom następujące polecenie, aby utworzyć konfiguracje podsieci dla sieci wirtualnej. Te konfiguracje mają nazwę FrontEnd, BackEnd i GatewaySubnet. Wszystkie te podsieci istnieją w ramach prefiksu sieci wirtualnej.

    $fesub = New-AzVirtualNetworkSubnetConfig -Name $FESubName -AddressPrefix $FESubPrefix
    $besub = New-AzVirtualNetworkSubnetConfig -Name $BESubName -AddressPrefix $BESubPrefix
    $gwsub = New-AzVirtualNetworkSubnetConfig -Name $GWSubName -AddressPrefix $GWSubPrefix
    
  3. Następnie uruchom poniższe polecenie, aby utworzyć sieć wirtualną przy użyciu wartości podsieci i statycznego serwera DNS.

    New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup -Location $Location -AddressPrefix $VNetPrefix1,$VNetPrefix2 -Subnet $fesub, $besub, $gwsub -DnsServer 10.2.1.3
    
  4. Teraz określ zmienne dla utworzonej sieci.

    $vnet = Get-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $GWSubName -VirtualNetwork $vnet
    
  5. Uruchom następujące polecenie, aby zażądać dynamicznie przydzielanego publicznego adresu IP.

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

Tworzenie bramy sieci VPN

Podczas tworzenia tej bramy sieci VPN:

  • Parametr GatewayType musi mieć wartość Vpn
  • Parametr VpnType musi mieć wartość RouteBased

Wykonanie tej części ćwiczenia może potrwać do 45 minut.

  1. Aby utworzyć bramę sieci VPN, uruchom następujące polecenie i naciśnij Enter.

    New-AzVirtualNetworkGateway -Name $GWName -ResourceGroupName $ResourceGroup `
    -Location $Location -IpConfigurations $ipconf -GatewayType Vpn `
    -VpnType RouteBased -EnableBgp $false -GatewaySku VpnGw1 -VpnClientProtocol "IKEv2"
    
  2. Poczekaj, aż pojawi się wynik polecenia.

Dodawanie puli adresów klienta sieci VPN

  1. Uruchom następujące polecenie, aby dodać pulę adresów klienta sieci VPN.

    $Gateway = Get-AzVirtualNetworkGateway -ResourceGroupName $ResourceGroup -Name $GWName
    Set-AzVirtualNetworkGateway -VirtualNetworkGateway $Gateway -VpnClientAddressPool $VPNClientAddressPool
    
  2. Poczekaj, aż pojawi się wynik polecenia.

Generowanie certyfikatu klienta

Za pomocą infrastruktury sieci utworzonej na platformie Azure należy utworzyć na komputerze lokalnym certyfikat klienta z podpisem własnym. Można to zrobić podobnie w większości systemów operacyjnych, ale omówimy sposób generowania certyfikatu klienta w systemie Windows 10 przy użyciu programu PowerShell z modułem Azure PowerShell i narzędziem Menedżera certyfikatów systemu Windows.

  1. Pierwszym krokiem jest utworzenie certyfikatu głównego z podpisem własnym. Uruchom następujące polecenie.

    $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. Następnie wygeneruj certyfikat klienta podpisany przy użyciu nowego certyfikatu głównego.

    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")
    

Eksportowanie klucza publicznego certyfikatu

Po wygenerowaniu certyfikatów należy wyeksportować klucz publiczny certyfikatu głównego.

  1. Uruchom polecenie certmgr z poziomu programu PowerShell, aby otworzyć Menedżera certyfikatów.

  2. Przejdź do obszaru Osobiste>Certyfikaty.

  3. Kliknij prawym przyciskiem myszy certyfikat P2SRootCert na liście, a następnie wybierz pozycję Wszystkie zadania>Eksportuj.

  4. W Kreatorze eksportu certyfikatów wybierz przycisk Dalej.

  5. Upewnij się, że wybrano opcję Nie, nie eksportuj klucza prywatnego, a następnie wybierz przycisk Dalej.

  6. Na stronie Format pliku eksportu upewnij się, że kodowany algorytmem Base-64 X.509 (. Cer) jest zaznaczona, a następnie wybierz przycisk Dalej.

  7. Na stronie Plik do eksportu w obszarze Nazwa pliku przejdź do lokalizacji, którą zapamiętasz, i zapisz plik jako P2SRootCert.cer, a następnie wybierz przycisk Dalej.

  8. Na stronie Kończenie pracy Kreatora eksportu certyfikatów wybierz pozycję Zakończ.

  9. W oknie komunikatu Kreator eksportu certyfikatów wybierz przycisk OK.

Przekazywanie informacji o kluczu publicznym certyfikatu głównego

  1. W oknie programu PowerShell uruchom następujące polecenie, aby zadeklarować zmienną dla nazwy certyfikatu.

    $P2SRootCertName = "P2SRootCert.cer"
    
  2. <cert-path> Zastąp symbol zastępczy lokalizacją eksportu certyfikatu głównego i uruchom następujące polecenie.

    $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. Po ustawieniu nazwy grupy przekaż certyfikat do platformy Azure za pomocą następującego polecenia.

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

    Platforma Azure rozpozna teraz ten certyfikat jako zaufany certyfikat główny dla naszej sieci wirtualnej.

Konfigurowanie natywnego klienta sieci VPN

  1. Uruchom następujące polecenie, aby utworzyć pliki konfiguracji klienta sieci VPN w formacie ZIP.

    $profile = New-AzVpnClientConfiguration -ResourceGroupName $ResourceGroup -Name $GWName -AuthenticationMethod "EapTls"
    $profile.VPNProfileSASUrl
    
  2. Skopiuj adres URL zwrócony w danych wyjściowych tego polecenia i wklej go w przeglądarce. Przeglądarka powinna rozpocząć pobieranie pliku ZIP. Wyodrębnij zawartość archiwum i umieść ją w odpowiedniej lokalizacji.

    Niektóre przeglądarki początkowo będą blokować próby pobrania tego pliku ZIP, jako niebezpiecznego. Należy zastąpić to w przeglądarce, aby móc wyodrębnić zawartość archiwum.

  3. W wyodrębnionym folderze przejdź do folderu WindowsAmd64 (komputery z 64-bitowymi wersjami systemu Windows) lub do folderu WindowsX86 (komputery z 32-bitowymi wersjami systemu Windows).

    Aby skonfigurować sieć VPN na maszynie z systemem innym niż Windows, można użyć plików certyfikatu i ustawień z folderu Generic.

  4. Kliknij dwukrotnie plik VpnClientSetup{architecture}.exe , odzwierciedlając {architecture} architekturę.

  5. Na ekranie Systemu Windows chronionym komputerem wybierz pozycję Więcej informacji, a następnie wybierz pozycję Uruchom mimo to.

  6. W oknie dialogowym Kontrola konta użytkownika wybierz pozycję Tak.

  7. W oknie dialogowym VNetData wybierz pozycję Tak.

Łączenie się z platformą Azure

  1. Naciśnij systemu Windows, wprowadź ustawienia i naciśnij Enter.

  2. W oknie Ustawienia wybierz pozycję Sieć i Internet.

  3. W okienku po lewej stronie wybierz pozycję SIEĆ VPN.

  4. W okienku po prawej stronie wybierz pozycję VNetData, a następnie wybierz pozycję Połącz.

  5. W oknie VNetData wybierz pozycję Połącz.

  6. W następnym oknie VNetData wybierz pozycję Kontynuuj.

  7. W oknie komunikatu Kontrola konta użytkownika wybierz pozycję Tak.

Jeśli te kroki nie działają, może być konieczne ponowne uruchomienie komputera.

Weryfikowanie połączenia

  1. W nowym wierszu polecenia systemu Windows uruchom polecenie IPCONFIG /ALL.

  2. Skopiuj adres IP karty PPP VNetData lub zapisz go.

  3. Upewnij się, że adres IP mieści się w zakresie puli VPNClientAddressPool: 172.16.201.0/24.

  4. Pomyślnie nawiązano połączenie z bramą sieci VPN platformy Azure.

Wystarczy skonfigurować bramę sieci VPN, umożliwiając utworzenie zaszyfrowanego połączenia klienta z siecią wirtualną na platformie Azure. Ta metoda doskonale sprawdza się w przypadku komputerów klienckich i mniejszych połączeń lokacja-lokacja.