Připojení virtuálních sítí z různých modelů nasazení pomocí PowerShellu

Tento článek vám pomůže propojit klasické virtuální sítě s virtuálními sítěmi Resource Manageru a umožnit tak vzájemné komunikaci prostředků umístěných v samostatných modelech nasazení. Kroky postupu v tomto článku využívají prostředí PowerShell.

Tento článek je určený pro zákazníky, kteří už mají virtuální síť vytvořenou pomocí modelu nasazení Classic (starší verze) a teď chtějí připojit klasickou virtuální síť k další virtuální síti vytvořené pomocí nejnovějšího modelu nasazení. Pokud ještě nemáte starší virtuální síť, použijte místo toho článek Vytvoření připojení typu VNet-to-VNet.

Architektura

Připojení připojení klasické virtuální sítě k virtuální síti Resource Manageru se podobá připojení virtuální sítě k místnímu umístění lokality. Oba typy připojení využívají bránu VPN k poskytnutí zabezpečeného tunelového propojení prostřednictvím protokolu IPsec/IKE. Můžete vytvořit připojení mezi virtuálními sítěmi, které jsou v různých předplatných a v různých oblastech. Můžete také připojit virtuální sítě, které už mají připojení k místním sítím, pokud je brána dynamická nebo založená na směrování. Další informace o připojeních typu VNet-to-VNet najdete v nejčastějších dotazech k VNet-to-VNet.

Pro tuto konfiguraci vytvoříte připojení brány VPN přes tunel VPN IPsec/IKE mezi virtuálními sítěmi. Ujistěte se, že se žádné rozsahy virtuálních sítí navzájem nepřekrývají ani s žádnou místní sítí, ke které se připojují.

Následující tabulka ukazuje příklad definování ukázkových virtuálních sítí a místních lokalit:

Virtual Network Adresní prostor Oblast Připojení s to local network site
ClassicVNet (10.1.0.0/16) USA – západ RMVNetSite (192.168.0.0/16)
RMVNet (192.168.0.0/16) USA – východ ClassicVNetSite (10.1.0.0/16)

Požadavky

Následující kroky vás provedou nastavením nezbytným ke konfiguraci dynamické brány nebo brány založené na směrování pro každou virtuální síť a vytvoření připojení VPN mezi bránami. Tato konfigurace nepodporuje statické brány ani brány založené na zásadách.

Tento postup předpokládá, že už máte vytvořenou starší klasickou virtuální síť a virtuální síť Resource Manageru.

  • Ověřte, že se rozsahy adres virtuálních sítí navzájem nepřekrývají nebo se překrývají s žádným z rozsahů pro jiná připojení, ke kterým by mohly být brány připojené.

  • V tomto článku používáme PowerShell. Nainstalujte do počítače nejnovější rutiny PowerShellu pro Resource Manager i správu služeb.

    I když je možné pomocí prostředí Azure Cloud Shell provést několik příkazů PowerShellu, musíte pro správné vytvoření připojení nainstalovat obě verze rutin.

    Další informace najdete v tématu Instalace a konfigurace Azure PowerShellu.

Ukázkové nastavení

Tyto hodnoty můžete použít k lepšímu pochopení příkladů.

Klasická virtuální síť

Název virtuální sítě = ClassicVNet
Skupina prostředků = umístění ClassicRG = USA – západ
Adresní prostory virtuální sítě = 10.1.0.0/16
Podsíť1 = 10.1.0.0/24
GatewaySubnet = 10.1.255.0/27
Název místní sítě = RMVNetSite
GatewayType = DynamicRouting

Virtuální síť Resource Manageru

Název virtuální sítě = RMVNet
Skupina prostředků = RMRG
Prostory IP adres virtuální sítě = 192.168.0.0/16
Podsíť1 = 192.168.1.0/24
GatewaySubnet = 192.168.255.0/27
Umístění = USA – východ
Název veřejné IP adresy brány = rmgwpip
Brána místní sítě = ClassicVNetSite
Název brány virtuální sítě = RMGateway
Konfigurace přidělování IP adres brány = gwipconfig

Konfigurace klasické virtuální sítě

V této části nakonfigurujete již existující klasickou virtuální síť. Pokud už vaše virtuální síť obsahuje bránu, ověřte, že je brána založená na směrování, přejděte k další části. Pokud brána není založená na směrování, před dalším postupem ji odstraňte. Později budete mít možnost vytvořit novou bránu.

1. Stáhněte si konfigurační soubor sítě.

  1. Přihlaste se ke svému účtu Azure v konzole PowerShellu se zvýšenými oprávněními. Následující rutina vás vyzve k zadání přihlašovacích údajů pro váš účet Azure. Po přihlášení stáhne nastavení vašeho účtu, aby byly dostupné pro Azure PowerShell. Rutiny Azure PowerShellu pro správu klasických služeb se používají v této části.

    Add-AzureAccount
    

    Získejte své předplatné Azure.

    Get-AzureSubscription
    

    Máte-li více předplatných, vyberte předplatné, které chcete použít.

    Select-AzureSubscription -SubscriptionName "Name of subscription"
    
  2. Vytvořte adresář v počítači. V tomto příkladu jsme vytvořili Síť AzureNet.

  3. Spuštěním následujícího příkazu exportujte konfigurační soubor sítě Azure. V případě potřeby můžete změnit umístění souboru, které chcete exportovat do jiného umístění.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  4. Otevřete soubor .xml, který jste stáhli, a upravte ho. Příklad konfiguračního souboru sítě najdete ve schématu konfigurace sítě.

  5. Poznamenejte si VirtualNetworkSite name= hodnotu. Pokud jste vytvořili klasickou virtuální síť pomocí portálu, název se podobá skupině ClassicRG ClassicVNet, nikoli ClassicVNet na portálu.

2. Ověření podsítě brány

V elementu VirtualNetworkSites přidejte do vaší virtuální sítě podsíť brány, pokud ještě není vytvořená. Podsíť brány musí mít název GatewaySubnet nebo Azure ji nemůže rozpoznat a použít jako podsíť brány.

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ě?.

Příklad:

<VirtualNetworkSites>
  <VirtualNetworkSite name="ClassicVNet" Location="West US">
    <AddressSpace>
      <AddressPrefix>10.1.0.0/16</AddressPrefix>
    </AddressSpace>
    <Subnets>
      <Subnet name="Subnet1">
        <AddressPrefix>10.1.0.0/24</AddressPrefix>
      </Subnet>
      <Subnet name="GatewaySubnet">
        <AddressPrefix>10.1.255.0/27</AddressPrefix>
      </Subnet>
    </Subnets>
  </VirtualNetworkSite>
</VirtualNetworkSites>

3. Přidejte lokalitu místní sítě.

Lokalita místní sítě, kterou přidáte, představuje virtuální síť RM, ke které se chcete připojit. Pokud ještě neexistuje, přidejte do souboru element LocalNetworkSites . V tomto okamžiku v konfiguraci může být VPNGatewayAddress libovolná platná veřejná IP adresa, protože jsme ještě nevytvořili bránu pro virtuální síť Resource Manageru. Po vytvoření brány RM nahradíte tuto zástupnou IP adresu správnou veřejnou IP adresou, která byla přiřazena bráně RM.

<LocalNetworkSites>
  <LocalNetworkSite name="RMVNetSite">
    <AddressSpace>
      <AddressPrefix>192.168.0.0/16</AddressPrefix>
    </AddressSpace>
    <VPNGatewayAddress>5.4.3.2</VPNGatewayAddress>
  </LocalNetworkSite>
</LocalNetworkSites>

4. Přidružení virtuální sítě k lokalitě místní sítě

V této části určíme lokalitu místní sítě, ke které chcete virtuální síť připojit. V tomto případě se jedná o virtuální síť Resource Manageru, na kterou jste odkazovali dříve. Ujistěte se, že názvy odpovídají. Tento krok nevytvoří bránu. Určuje místní síť, ke které se brána připojí.

<Gateway>
  <ConnectionsToLocalNetwork>
    <LocalNetworkSiteRef name="RMVNetSite">
      <Connection type="IPsec" />
    </LocalNetworkSiteRef>
  </ConnectionsToLocalNetwork>
</Gateway>

5. Uložte soubor a nahrajte ho.

Uložte soubor a potom ho naimportujte do Azure spuštěním následujícího příkazu. Podle potřeby změňte cestu k souboru pro vaše prostředí.

Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml

Zobrazí se podobný výsledek, který ukazuje, že import proběhl úspěšně.

OperationDescription        OperationId                      OperationStatus                                                
--------------------        -----------                      ---------------                                                
Set-AzureVNetConfig        e0ee6e66-9167-cfa7-a746-7casb9    Succeeded 

6. Vytvoření brány

Před spuštěním tohoto příkladu se podívejte na konfigurační soubor sítě, který jste stáhli, a zjistěte přesné názvy, které Azure očekává. Konfigurační soubor sítě obsahuje hodnoty pro vaše klasické virtuální sítě. Když se pomocí portálu vytvoří klasická virtuální síť, název virtuální sítě se v konfiguračním souboru sítě liší. Pokud jste například pomocí webu Azure Portal vytvořili klasickou virtuální síť s názvem Classic VNet a vytvořili ji ve skupině prostředků s názvem ClassicRG, název obsažený v konfiguračním souboru sítě se převede na virtuální síť Group ClassicRG Classic. Při práci s PowerShellem vždy používejte název obsažený v konfiguračním souboru sítě. Pokud zadáte název virtuální sítě obsahující mezery, použijte kolem hodnoty uvozovky.

Pomocí následujícího příkladu vytvořte bránu dynamického směrování:

New-AzureVNetGateway -VNetName ClassicVNet -GatewayType DynamicRouting

Stav brány můžete zkontrolovat pomocí rutiny Get-AzureVNetGateway .

Konfigurace brány virtuální sítě RM

Předpoklady předpokládají, že už máte vytvořenou virtuální síť RM. V tomto kroku vytvoříte bránu VPN pro virtuální síť RM. Nespustíte tyto kroky, dokud nenačtete veřejnou IP adresu pro bránu klasické virtuální sítě.

  1. Přihlaste se ke svému účtu Azure v konzole PowerShellu. Následující rutina vás vyzve k zadání přihlašovacích údajů pro váš účet Azure. Po přihlášení se nastavení vašeho účtu stáhne, aby byly dostupné pro Azure PowerShell. Volitelně můžete použít funkci Vyzkoušet a spustit Azure Cloud Shell v prohlížeči.

    Pokud používáte Azure Cloud Shell, přeskočte následující rutinu:

    Connect-AzAccount
    

    Pokud chcete ověřit, že používáte správné předplatné, spusťte následující rutinu:

    Get-AzSubscription
    

    Pokud máte více než jedno předplatné, zadejte předplatné, které chcete použít.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Vytvořte bránu místní sítě. Ve virtuální síti brána místní sítě obvykle odkazuje na vaše místní umístění. V tomto případě brána místní sítě odkazuje na vaši klasickou virtuální síť. Pojmenujte ho, podle kterého ho Azure může odkazovat, a také zadejte předponu adresního prostoru. Azure pomocí zadané předpony IP adresy rozpozná, jaký provoz má zasílat na vaše místní umístění. Pokud tyto informace budete potřebovat později upravit, můžete před vytvořením brány upravit hodnoty a spustit ukázku znovu.

    -Name je název, který chcete přiřadit pro odkaz na bránu místní sítě.
    -AddressPrefix je adresní prostor pro vaši klasickou virtuální síť.
    -GatewayIpAddress je veřejná IP adresa brány klasické virtuální sítě. Nezapomeňte změnit následující ukázkový text "n.n.n.n", aby odrážel správnou IP adresu.

    New-AzLocalNetworkGateway -Name ClassicVNetSite `
    -Location "West US" -AddressPrefix "10.1.0.0/16" `
    -GatewayIpAddress "n.n.n.n" -ResourceGroupName RMRG
    
  3. Požádejte o přidělení veřejné IP adresy bráně virtuální sítě pro virtuální síť Resource Manageru. Nelze zadat IP adresu, kterou chcete použít. IP adresa se dynamicky přiděluje bráně virtuální sítě. To ale neznamená, že se IP adresa změní. Ip adresa brány virtuální sítě se změní jenom v okamžiku, kdy se brána odstraní a znovu vytvoří. Nemění se v rámci změny velikosti, resetování ani jiné interní údržby nebo upgradů brány.

    V tomto kroku také nastavíme proměnnou, která se použije v pozdějším kroku.

    $ipaddress = New-AzPublicIpAddress -Name rmgwpip `
    -ResourceGroupName RMRG -Location 'EastUS' `
    -AllocationMethod Dynamic
    
  4. Ověřte, že vaše virtuální síť má podsíť brány. Pokud žádná podsíť brány neexistuje, přidejte ji. Ujistěte se, že podsíť brány má název GatewaySubnet.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName RMRG -Name RMVNet
    Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 192.168.255.0/27 -VirtualNetwork $vnet
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  5. Spuštěním následujícího příkazu načtěte podsíť použitou pro bránu. V tomto kroku jsme také nastavili proměnnou, která se má použít v dalším kroku.

    -Name je název vaší virtuální sítě Resource Manageru.
    -ResourceGroupName je skupina prostředků, ke které je přidružená virtuální síť. Podsíť brány už musí pro tuto virtuální síť existovat a musí mít název GatewaySubnet , aby správně fungovala.

    $subnet = Get-AzVirtualNetworkSubnetConfig -Name GatewaySubnet `
    -VirtualNetwork (Get-AzVirtualNetwork -Name RMVNet -ResourceGroupName RMRG)
    
  6. Vytvořte konfiguraci přidělování IP adres brány. Konfigurace brány definuje podsíť a veřejnou IP adresu, která se bude používat. Podle následující ukázky vytvořte vlastní konfiguraci brány.

    V tomto kroku musí parametry -SubnetId a -PublicIpAddressId předat vlastnost ID z podsítě a objekty IP adres. Nemůžete použít jednoduchý řetězec. Tyto proměnné jsou nastavené v kroku pro vyžádání veřejné IP adresy a kroku pro načtení podsítě.

    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig `
    -Name gwipconfig -SubnetId $subnet.id `
    -PublicIpAddressId $ipaddress.id
    
  7. Spuštěním následujícího příkazu vytvořte bránu virtuální sítě Resource Manageru. Musí -VpnType být RouteBased. Vytvoření brány může trvat 45 minut nebo déle.

    New-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRG `
    -Location "EastUS" -GatewaySKU Standard -GatewayType Vpn `
    -IpConfigurations $gwipconfig `
    -EnableBgp $false -VpnType RouteBased
    
  8. Po vytvoření brány VPN zkopírujte veřejnou IP adresu. Použijete ho při konfiguraci nastavení místní sítě pro klasickou virtuální síť. Veřejnou IP adresu můžete načíst pomocí následující rutiny. Veřejná IP adresa je uvedená ve návratu jako IpAddress.

    Get-AzPublicIpAddress -Name rmgwpip -ResourceGroupName RMRG
    

Úprava nastavení klasické místní lokality virtuální sítě

V této části pracujete s klasickou virtuální sítí. Zástupnou IP adresu, kterou jste použili při zadávání nastavení místní lokality, která se použije pro připojení k bráně virtuální sítě Resource Manageru, nahradíte. Vzhledem k tomu, že pracujete s klasickou virtuální sítí, použijte PowerShell nainstalovaný místně na vašem počítači, ne Azure Cloud Shell TryIt.

  1. Exportujte konfigurační soubor sítě.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  2. Pomocí textového editoru upravte hodnotu vpnGatewayAddress. Nahraďte zástupnou IP adresu veřejnou IP adresou brány Resource Manageru a uložte změny.

    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
    
  3. Naimportujte upravený konfigurační soubor sítě do Azure.

    Set-AzureVNetConfig -ConfigurationPath C:\AzureNet\NetworkConfig.xml
    

Vytvoření připojení mezi bránami

Vytvoření připojení mezi bránami vyžaduje PowerShell. Možná budete muset přidat účet Azure, abyste mohli používat klasickou verzi rutin PowerShellu. K tomu použijte Add-AzureAccount.

  1. V konzole PowerShellu nastavte sdílený klíč. Před spuštěním rutin se podívejte na konfigurační soubor sítě, který jste stáhli, a vyhledejte přesné názvy, které Azure očekává. Při zadávání názvu virtuální sítě, která obsahuje mezery, použijte kolem hodnoty jednoduché uvozovky.

    V následujícím příkladu je -VNetName název klasické virtuální sítě a -LocalNetworkSiteName je název, který jste zadali pro lokalitu místní sítě. Ověřte názvy obou souborů v konfiguračním souboru sítě, který jste si stáhli dříve.

    - SharedKey je hodnota, kterou vygenerujete a zadáte. V příkladu jsme použili "abc123", ale můžete vygenerovat a použít něco složitějšího. Důležité je, že zadaná hodnota musí být stejná jako hodnota, kterou zadáte v dalším kroku při vytváření připojení. Návrat by měl zobrazit stav: Úspěšný.

    Set-AzureVNetGatewayKey -VNetName ClassicVNet `
    -LocalNetworkSiteName RMVNetSite -SharedKey abc123
    
  2. Vytvořte připojení VPN spuštěním následujících příkazů:

    Nastavte proměnné.

    $vnet01gateway = Get-AzLocalNetworkGateway -Name ClassicVNetSite -ResourceGroupName RMRG
    $vnet02gateway = Get-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRG
    

    Vytvořte připojení. Všimněte si, že -Připojení ionType je IPsec, nikoli Vnet2Vnet.

    New-AzVirtualNetworkGatewayConnection -Name RM-Classic -ResourceGroupName RMRG `
    -Location "East US" -VirtualNetworkGateway1 `
    $vnet02gateway -LocalNetworkGateway2 `
    $vnet01gateway -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'
    

Ověření připojení

Virtuální síť Classic do virtuální sítě RM

Úspěšné připojení můžete ověřit pomocí rutiny Get-AzureVNet Připojení ion. Tato rutina musí být spuštěna místně na vašem počítači.

  1. Použijte následující příklad rutiny a nakonfigurujte hodnoty tak, aby odpovídaly vašemu prostředí. Název virtuální sítě musí být v uvozovkách, pokud obsahuje mezery. Použijte název virtuální sítě, jak je nalezeno v konfiguračním souboru sítě.

    Get-AzureVNetConnection "ClassicVNet"
    
  2. Po dokončení zpracování rutiny si prohlédněte hodnoty. V následujícím příkladu se stav Připojení ivity zobrazuje jako "Připojení ed" a můžete vidět příchozí a výchozí bajty.

    ConnectivityState         : Connected
    EgressBytesTransferred    : 0
    IngressBytesTransferred   : 0
    LastConnectionEstablished : 4/25/2022 4:24:34 PM
    LastEventID               : 24401
    LastEventMessage          : The connectivity state for the local network site 'RMVNetSite' changed from Not Connected to Connected.
    LastEventTimeStamp        : 4/25/2022 4:24:34 PM
    LocalNetworkSiteName      : RMVNetSite
    OperationDescription      :
    OperationId               :
    OperationStatus           :
    

Virtuální síť RM do klasické virtuální sítě

Ú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. V následujícím příkladu se stav připojení zobrazuje jako "Připojení ed" a můžete vidět příchozí a výchozí bajty.

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

Další kroky

Další informace o připojeních typu VNet-to-VNet najdete v nejčastějších dotazech ke službě VPN Gateway.