Vytvoření virtuální sítě s připojením VPN typu site-to-site pomocí PowerShellu

V tomto článku se dozvíte, jak pomocí PowerShellu vytvořit připojení brány VPN typu site-to-site z místní sítě k virtuální síti. Kroky v tomto článku platí pro model nasazení Resource Manager. Tuto konfiguraci můžete vytvořit také pomocí jiného nástroje nasazení nebo pro jiný model nasazení, a to výběrem jiné možnosti z následujícího seznamu:

Připojení brány VPN typu site-to-site slouží k připojení místní sítě k virtuální síti Azure přes tunel VPN IPsec/IKE (IKEv1 nebo IKEv2). Tento typ připojení vyžaduje místní zařízení VPN, které má přiřazenou veřejnou IP adresu. Další informace o bránách VPN najdete v tématu Informace o službě VPN Gateway.

Diagram of site-to-site VPN Gateway cross-premises connections.

Než začnete

Před zahájením konfigurace ověřte, že splňujete následující kritéria:

  • Ujistěte se, že máte kompatibilní zařízení VPN a někoho, kdo jej umí nakonfigurovat. Další informace o kompatibilních zařízeních VPN a konfiguraci zařízení najdete v tématu Informace o zařízeních VPN.
  • Ověřte, že máte veřejnou IPv4 adresu pro vaše zařízení VPN.
  • Pokud neznáte rozsahy IP adres umístěných v konfiguraci místní sítě, musíte se s někým, kdo vám tyto podrobnosti poskytne, koordinovat. Při vytváření této konfigurace musíte zadat předpony rozsahu IP adres, které bude Azure směrovat do vašeho místního umístění. Žádná z podsítí vaší místní sítě se nesmí překrývat s podsítěmi virtuální sítě, ke kterým se chcete připojit.

Azure PowerShell

Tento článek používá rutiny PowerShellu. Ke spuštění rutin můžete použít Azure Cloud Shell. Cloud Shell je bezplatné interaktivní prostředí, které můžete použít ke spuštění kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Cloud Shell otevřete tak, že v pravém horním rohu bloku kódu vyberete Otevřít CloudShell . Cloud Shell můžete otevřít také na samostatné kartě prohlížeče tak, že přejdete na https://shell.azure.com/powershell. Výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte je do Cloud Shellu a stisknutím klávesy Enter je spusťte.

Na počítači můžete také nainstalovat a spustit rutiny Azure PowerShellu místně. Rutiny PowerShellu se často aktualizují. Pokud jste nenainstalovali nejnovější verzi, můžou selhat hodnoty uvedené v pokynech. Pokud chcete najít verze Azure PowerShellu nainstalované na vašem počítači, použijte tuto rutinu Get-Module -ListAvailable Az . Informace o instalaci nebo aktualizaci najdete v tématu Instalace modulu Azure PowerShell.

Ukázkové hodnoty

V příkladech v tomto článku se používají následující hodnoty. Tyto hodnoty můžete použít k vytvoření testovacího prostředí nebo můžou sloužit k lepšímu pochopení příkladů v tomto článku.

#Example values

VnetName                = VNet1
ResourceGroup           = TestRG1
Location                = East US 
AddressSpace            = 10.1.0.0/16 
SubnetName              = Frontend 
Subnet                  = 10.1.0.0/24 
GatewaySubnet           = 10.1.255.0/27
LocalNetworkGatewayName = Site1
LNG Public IP           = <On-premises VPN device IP address> 
Local Address Prefixes  = 10.0.0.0/24, 20.0.0.0/24
Gateway Name            = VNet1GW
PublicIP                = VNet1GWPIP
Gateway IP Config       = gwipconfig1 
VPNType                 = RouteBased 
GatewayType             = Vpn 
ConnectionName          = VNet1toSite1

1. Vytvoření virtuální sítě a podsítě brány

Pokud ještě nemáte virtuální síť, vytvořte si ji. Při vytváření virtuální sítě ověřte, že se zadané adresní prostory nepřekrývají s adresními prostory ve vaší místní síti.

Poznámka:

Aby se tato virtuální síť připojila k místnímu umístění, budete se muset domluvit se správcem vaší místní sítě a vyčlenit rozsah IP adres, který můžete použít speciálně pro tuto virtuální síť. Pokud na obou stranách připojení VPN existuje duplicitní rozsah adres, provoz nesměruje směr, jakým byste ho mohli očekávat. Pokud navíc chcete připojit tuto virtuální síť k jiné virtuální síti, adresní prostor se nesmí překrývat s jinou virtuální sítí. Podle toho pečlivě naplánujte konfiguraci sítě.

O podsíti brány

Brána virtuální sítě používá konkrétní podsíť nazývanou podsíť brány. Podsíť brány je součástí rozsahu IP adres virtuální sítě, který zadáváte při konfiguraci virtuální sítě. Obsahuje IP adresy, které používají prostředky a služby brány virtuální sítě. Podsíť musí mít název GatewaySubnet, aby služba Azure mohla nasadit prostředky brány. Pro nasazení prostředků brány není možné zadat jinou podsíť. Pokud nemáte podsíť GatewaySubnet, vytváření brány VPN selže.

Při vytváření podsítě brány zadáte počet IP adres, které podsíť obsahuje. Potřebný počet IP adres závisí na konfiguraci brány VPN, kterou chcete vytvořit. Některé konfigurace vyžadují víc IP adres než jiné. Doporučujeme vytvořit podsíť brány používající velikost /27 nebo /28.

Pokud se zobrazí chyba oznamující překrývání adresního prostoru a podsítě nebo umístění podsítě mimo adresní prostor vaší virtuální sítě, zkontroluje rozsah adres vaší virtuální sítě. V rozsahu adres, který jste pro svou virtuální síť vytvořili, možná není k dispozici dostatek IP adres. Pokud například vaše výchozí podsíť zahrnuje celý rozsah adres, k vytvoření dalších podsítí už nejsou k dispozici žádné IP adresy. Můžete upravit podsítě v rámci stávajícího adresního prostoru a tím uvolnit IP adresy nebo můžete zadat další rozsah adres a vytvořit podsíť brány v něm.

Důležité

Při práci s podsítěmi brány se vyhněte přidružení skupiny zabezpečení sítě (NSG) k podsíti brány. Přidružení skupiny zabezpečení sítě k této podsíti může způsobit, že brána virtuální sítě (brány VPN a Brány ExpressRoute) přestanou fungovat podle očekávání. Další informace o skupinách zabezpečení sítě najdete v tématu Co je skupina zabezpečení sítě?.

Vytvoření virtuální sítě a podsítě brány

Tento příklad vytvoří virtuální síť a podsíť brány. Pokud již máte virtuální síť, do které potřebujete přidat podsíť brány, přejděte k části Chcete-li přidat podsíť brány k již vytvořené virtuální síti.

Vytvoření skupiny prostředků:

New-AzResourceGroup -Name TestRG1 -Location 'East US'

Vytvořte virtuální síť.

  1. Nastavte proměnné.

    $subnet1 = New-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27
    $subnet2 = New-AzVirtualNetworkSubnetConfig -Name 'Frontend' -AddressPrefix 10.1.0.0/24
    
  2. Vytvořte virtuální síť.

    New-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1 `
    -Location 'East US' -AddressPrefix 10.1.0.0/16 -Subnet $subnet1, $subnet2
    

Chcete přidat podsíť brány k již vytvořené virtuální síti

Postup v této části použijte v případě, že už máte virtuální síť, ale potřebujete přidat podsíť brány.

  1. Nastavte proměnné.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1
    
  2. Vytvořte podsíť brány.

    Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet
    
  3. Nastavte konfiguraci.

    Set-AzVirtualNetwork -VirtualNetwork $vnet
    

2. Vytvoření brány místní sítě

Brána místní sítě (LNG) obvykle odkazuje na vaše místní umístění. Není to stejné jako brána virtuální sítě. Pro toto umístění určíte název, podle kterého na něj bude Azure odkazovat, a pak zadáte IP adresu místního zařízení VPN, ke kterému vytvoříte připojení. Zadáte také předpony IP adres, které se budou přes bránu VPN směrovat do zařízení VPN. Předpony adres, které zadáte, jsou předpony ve vaší místní síti. V případě změny vaší místní sítě můžete tyto předpony snadno aktualizovat.

Vyberte jeden z následujících příkladů. Hodnoty použité v příkladech jsou:

  • GatewayIPAddress je IP adresa vašeho místního zařízení VPN.
  • AddressPrefix je váš místní adresní prostor.

Příklad předpony jedné adresy

New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '23.99.221.164' -AddressPrefix '10.0.0.0/24'

Příklad předpony více adres

New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '23.99.221.164' -AddressPrefix @('20.0.0.0/24','10.0.0.0/24')

3. Žádost o veřejnou IP adresu

Brána VPN musí mít veřejnou IP adresu. Nejprve si vyžádáte prostředek IP adresy a pak na něj budete odkazovat při vytváření brány virtuální sítě. IP adresa se dynamicky přiřadí k prostředku po vytvoření brány VPN. Veřejná IP adresa se změní jenom v okamžiku, kdy se brána odstraní a znovu vytvoří. V případě změny velikosti, resetování nebo jiné operace údržby/upgradu vaší brány VPN se nezmění.

Požádejte o veřejnou IP adresu pro bránu VPN vaší virtuální sítě.

$gwpip= New-AzPublicIpAddress -Name VNet1GWPIP -ResourceGroupName TestRG1 -Location 'East US' -AllocationMethod Static -Sku Standard

4. Vytvoření konfigurace přidělování IP adres brány

Konfigurace brány definuje podsíť (GatewaySubnet) a veřejnou IP adresu, kterou chcete použít. Podle následujícího příkladu vytvořte vlastní konfiguraci brány:

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

5. Vytvoření brány VPN

Vytvořte bránu VPN virtuální sítě. Vytvoření brány může obvykle trvat 45 minut nebo déle, a to v závislosti na vybrané skladové jednotce (SKU) brány. V příkladu se používají následující hodnoty:

  • Parametr -GatewayType pro konfiguraci typu site-to-site je Vpn. Typ brány je vždy specifický pro konfiguraci, kterou implementujete. Například jiné konfigurace brány můžou vyžadovat -GatewayType ExpressRoute.
  • Hodnota -VpnType může být RouteBased (v některé dokumentaci nazývaná Dynamická brána), nebo PolicyBased (v některé dokumentaci nazývaná Statická brána). Další informace o typech brány VPN najdete v tématu Informace o službě VPN Gateway.
  • Vyberte SKU brány, kterou chcete použít. Pro určité skladové jednotky (SKU) platí omezení konfigurace. Další informace najdete v části Skladové jednotky (SKU) brány. Pokud při vytváření brány VPN dojde k chybě související s parametrem -GatewaySku, ověřte, že máte nainstalovanou nejnovější verzi rutin PowerShellu.
New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location 'East US' -IpConfigurations $gwipconfig -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw2

6. Konfigurace zařízení VPN

Připojení typu Site-to-Site k místní síti vyžadují zařízení VPN. V tomto kroku nakonfigurujete zařízení VPN. Při konfiguraci zařízení VPN potřebujete následující položky:

  • Sdílený klíč. Jedná se o stejný sdílený klíč, který zadáte při vytváření připojení VPN typu site-to-site. V našich ukázkách používáme základní sdílený klíč. Doporučujeme, abyste pro použití vygenerovali složitější klíč.

  • Veřejná IP adresa brány virtuální sítě. Veřejnou IP adresu můžete zobrazit pomocí webu Azure Portal, PowerShellu nebo rozhraní příkazového řádku. Pokud chcete najít veřejnou IP adresu brány virtuální sítě pomocí PowerShellu, použijte následující příklad. V tomto příkladu je VNet1GWPIP název prostředku veřejné IP adresy, který jste vytvořili v předchozím kroku.

    Get-AzPublicIpAddress -Name VNet1GWPIP -ResourceGroupName TestRG1
    

Stažení konfiguračních skriptů zařízení VPN:

V závislosti na vašem zařízení VPN možná budete moct stáhnut konfigurační skript zařízení VPN. Další informace najdete v článku Stažení konfiguračních skriptů zařízení VPN.

Na následujících odkazech najdete další informace o konfiguraci:

7. Vytvoření připojení VPN

Dále vytvořte připojení VPN typu site-to-site mezi bránou virtuální sítě a zařízením VPN. Hodnoty na obrázcích nahraďte vlastními hodnotami. Sdílený klíč se musí shodovat s hodnotou, kterou jste použili pro konfiguraci zařízení VPN. Všimněte si, že parametr -Připojení ionType pro site-to-site je IPsec.

  1. Nastavte proměnné.

    $gateway1 = Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1
    $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
    
  2. Vytvořte připojení.

    New-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1 `
    -Location 'East US' -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local `
    -ConnectionType IPsec -SharedKey 'abc123'
    

Za malou chvíli dojde k vytvoření připojení.

8. Ověření připojení VPN

Existuje několik různých způsobů, jak ověřit připojení VPN.

Úspěšné připojení můžete ověřit pomocí rutiny Get-AzVirtualNetworkGateway Připojení ion s nebo bez příkazu -Debug.

  1. Použijte následující příklad rutiny a nakonfigurujte hodnoty tak, aby odpovídaly vašemu prostředí. Po zobrazení výzvy vyberte možnost „A“, abyste spustili „vše“. V příkladu odkazuje -Name na název připojení, které chcete testovat.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. Po dokončení zpracování rutiny si prohlédněte hodnoty. Ve výše uvedeném příkladu se zobrazí stav připojení Připojeno a vy vidíte příchozí a odchozí bajty.

    "connectionStatus": "Connected",
    "ingressBytesTransferred": 33509044,
    "egressBytesTransferred": 4142431
    

Připojení k virtuálnímu počítači

K virtuálnímu počítači, který je nasazený ve vaší virtuální síti, se můžete připojit vytvořením Připojení vzdálené plochy k virtuálnímu počítači. Nejlepším způsobem, jak na začátku ověřit, že se k virtuálnímu počítači můžete připojit, je použít k připojení privátní IP adresu místo názvu počítače. Tímto způsobem testujete, jestli se můžete připojit, ne jestli je správně nakonfigurovaný překlad ip adres.

  1. Vyhledejte privátní IP adresu. Privátní IP adresu virtuálního počítače najdete tak, že se podíváte na vlastnosti virtuálního počítače na webu Azure Portal nebo pomocí PowerShellu.

    • Azure Portal: Vyhledejte virtuální počítač na webu Azure Portal. Zobrazte vlastnosti virtuálního počítače. Ve výpisu uvidíte privátní IP adresu.

    • PowerShell: Pomocí příkladu můžete zobrazit seznam virtuálních počítačů a privátních IP adres z vašich skupin prostředků. Tento příklad nemusíte před použitím upravovat.

      $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. Ověřte, že jste připojení k virtuální síti.

  3. Otevřete Připojení ion vzdálené plochy zadáním RDP nebo vzdálené plochy Připojení ion do vyhledávacího pole na hlavním panelu. Pak vyberte Připojení Vzdálená plocha. Vzdálenou plochu můžete otevřít také Připojení ion pomocí příkazu v PowerShellumstsc.

  4. V Připojení ion vzdálené plochy zadejte privátní IP adresu virtuálního počítače. Výběrem možnosti Zobrazit možnosti můžete upravit další nastavení a pak se připojit.

Pokud máte potíže s připojením k virtuálnímu počítači přes připojení VPN, zkontrolujte následující body:

  • Ověřte, že je úspěšně navázáno připojení VPN.
  • Ověřte, že se připojujete k privátní IP adrese virtuálního počítače.
  • Pokud se k virtuálnímu počítači můžete připojit pomocí privátní IP adresy, ale ne názvu počítače, ověřte, že jste správně nakonfigurovali DNS. Další informace o tom, jak funguje překlad názvů pro virtuální počítače, najdete v tématu Překlad názvů pro virtuální počítače.

Další informace o připojení ke vzdálené ploše najdete v tématu Řešení potíží s připojením ke vzdálené ploše virtuálního počítače.

Úprava předpony IP adresy pro místní síťovou bránu

Pokud se změní předpony IP adres, které chcete směrovat do vašeho místního umístění. můžete upravit bránu místní sítě. Při použití těchto příkladů upravte hodnoty tak, aby odpovídaly vašemu prostředí.

Přidání dalších předpon adres:

  1. Nastavte proměnnou pro LocalNetworkGateway.

    $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
    
  2. Upravte předpony. Zadané hodnoty přepíší předchozí hodnoty.

    Set-AzLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.101.0.0/24','10.101.1.0/24','10.101.2.0/24')
    

Odebrání předpon adres:

Vynechte předpony, které už nepotřebujete. V tomto příkladu už nepotřebujeme předponu 10.101.2.0/24 (z předchozího příkladu), takže aktualizujeme bránu místní sítě a tuto předponu vyloučíme.

  1. Nastavte proměnnou pro LocalNetworkGateway.

    $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
    
  2. Nastavte bránu s aktualizovanými předponami.

    Set-AzLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.101.0.0/24','10.101.1.0/24')
    

Změna IP adresy místní síťové brány

Pokud zařízení VPN, ke kterému se chcete připojit, změnilo svou veřejnou IP adresu, musíte upravit bránu místní sítě, aby odrážela tuto změnu. Při upravování této hodnoty můžete také zároveň upravit předpony adres. Ujistěte se, že k přepsání aktuálního nastavení používáte existující název brány místní sítě. Pokud použijete jiný název, vytvoříte novou bránu místní sítě, místo abyste přepsali tu stávající.

New-AzLocalNetworkGateway -Name Site1 `
-Location "East US" -AddressPrefix @('10.101.0.0/24','10.101.1.0/24') `
-GatewayIpAddress "5.4.3.2" -ResourceGroupName TestRG1

Odstranění připojení brány

Pokud neznáte název připojení, můžete ho najít pomocí rutiny Get-AzVirtualNetworkGateway Připojení ion.

Remove-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 `
-ResourceGroupName TestRG1

Další kroky