Virtuele netwerken van verschillende implementatiemodellen verbinden met PowerShell

Dit artikel helpt u bij het verbinden van klassieke VNets met Resource Manager-VNets, zodat de resources in de afzonderlijke implementatiemodellen met elkaar kunnen communiceren. De stappen in dit artikel gebruiken PowerShell.

Dit artikel is bedoeld voor klanten die al een VNet hebben dat is gemaakt met het klassieke (verouderde) implementatiemodel en nu het klassieke VNet willen verbinden met eenther VNet dat is gemaakt met het nieuwste implementatiemodel. Als u nog geen verouderd VNet hebt, gebruikt u in plaats daarvan het artikel Een VNet-naar-VNet-verbinding maken.

Architectuur

Verbinding maken een klassiek VNet naar een Resource Manager-VNet is vergelijkbaar met het verbinden van een VNet met een on-premises sitelocatie. Voor beide connectiviteitstypen wordt een VPN-gateway gebruikt om een beveiligde tunnel met IPsec/IKE te bieden. U kunt een verbinding maken tussen VNets die zich in verschillende abonnementen en in verschillende regio's bevinden. U kunt ook VNets verbinden die al verbindingen hebben met on-premises netwerken, zolang de gateway dynamisch of op route gebaseerd is. Zie de veelgestelde vragen over VNet-naar-VNet-verbindingen voor meer informatie over VNet-naar-VNet-verbindingen.

Voor deze configuratie maakt u een VPN-gatewayverbinding via een IPsec-/IKE VPN-tunnel tussen de virtuele netwerken. Zorg ervoor dat geen van uw VNet-bereiken met elkaar overlapt of met een van de lokale netwerken waarmee ze verbinding maken.

In de volgende tabel ziet u een voorbeeld van hoe de voorbeeld-VNets en lokale sites worden gedefinieerd:

Virtual Network Adresruimte Regio Verbinding maken s naar lokale netwerksite
ClassicVNet (10.1.0.0/16) VS - west RMVNetSite (192.168.0.0/16)
RMVNet (192.168.0.0/16) VS - oost ClassicVNetSite (10.1.0.0/16)

Vereisten

Met de volgende stappen doorloopt u de instellingen die nodig zijn voor het configureren van een dynamische of routegebaseerde gateway voor elk VNet en het maken van een VPN-verbinding tussen de gateways. Deze configuratie biedt geen ondersteuning voor statische of op beleid gebaseerde gateways.

Bij deze stappen wordt ervan uitgegaan dat u al een verouderd klassiek VNet en een Resource Manager-VNet hebt gemaakt.

  • Controleer of de adresbereiken voor de VNets elkaar niet overlappen of overlappen met een van de bereiken voor andere verbindingen waarmee de gateways mogelijk zijn verbonden.

  • In dit artikel gebruiken we PowerShell. Installeer de nieuwste PowerShell-cmdlets op uw computer voor zowel Resource Manager als Service Management.

    Hoewel het mogelijk is om een aantal PowerShell-opdrachten uit te voeren met behulp van de Azure Cloud Shell-omgeving, moet u beide versies van de cmdlets installeren om de verbindingen correct te maken.

    Zie Azure PowerShell installeren en configureren voor meer informatie.

Voorbeeldinstellingen

U kunt deze waarden gebruiken om meer inzicht te krijgen in de voorbeelden.

Klassiek VNet

VNet-naam = ClassicVNet
Resourcegroep = ClassicRG Location = VS - west
Virtual Network Address Spaces = 10.1.0.0/16
Subnet1 = 10.1.0.0/24
GatewaySubnet = 10.1.255.0/27
Lokale netwerknaam = RMVNetSite
GatewayType = DynamicRouting

Resource Manager VNet

VNet-naam = RMVNet
Resourcegroep = RMRG
IP-adresruimten van virtueel netwerk = 192.168.0.0/16
Subnet1 = 192.168.1.0/24
GatewaySubnet = 192.168.255.0/27
Location = VS - oost
Openbare IP-naam van gateway = rmgwpip
Lokale netwerkgateway = ClassicVNetSite
Naam van virtuele netwerkgateway = RMGateway
Ip-adresseringsconfiguratie van gateway = gwipconfig

Het klassieke VNet configureren

In deze sectie configureert u uw al bestaande klassieke VNet. Als uw VNet al een gateway heeft, controleert u of de gateway op route is gebaseerd en gaat u verder met de volgende sectie. Als de gateway niet op route is gebaseerd, verwijdert u de gateway voordat u verdergaat met de volgende stappen. U hebt de mogelijkheid om later een nieuwe gateway te maken.

1. Download uw netwerkconfiguratiebestand

  1. Meld u aan bij uw Azure-account in de PowerShell-console met verhoogde rechten. De volgende cmdlet vraagt u om de aanmeldingsreferenties voor uw Azure-account. Nadat u zich hebt aangemeld, worden uw accountinstellingen gedownload, zodat deze beschikbaar zijn voor Azure PowerShell. De klassieke Azure PowerShell-cmdlets voor Service Management (SM) worden in deze sectie gebruikt.

    Add-AzureAccount
    

    Haal uw Azure-abonnement op.

    Get-AzureSubscription
    

    Als u meerdere abonnementen hebt, selecteert u het abonnement dat u wilt gebruiken.

    Select-AzureSubscription -SubscriptionName "Name of subscription"
    
  2. Maak een map op uw computer. In dit voorbeeld hebben we AzureNet gemaakt.

  3. Exporteer uw Azure-netwerkconfiguratiebestand door de volgende opdracht uit te voeren. U kunt de locatie van het bestand zo nodig wijzigen om naar een andere locatie te exporteren.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  4. Open het .xml bestand dat u hebt gedownload om het te bewerken. Zie het netwerkconfiguratieschema voor een voorbeeld van het netwerkconfiguratiebestand.

  5. Noteer de VirtualNetworkSite name= waarde. Als u uw klassieke VNet hebt gemaakt met behulp van de portal, volgt de naam een indeling die vergelijkbaar is met 'Group ClassicRG ClassicVNet', in plaats van 'ClassicVNet' in de portal.

2. Controleer het gatewaysubnet

Voeg in het element VirtualNetworkSites een gatewaysubnet toe aan uw VNet als deze nog niet is gemaakt. Het gatewaysubnet moet de naam GatewaySubnet hebben of Azure kan het niet herkennen en gebruiken als een gatewaysubnet.

Belangrijk

Netwerkbeveiligingsgroepen (NSG's) in het gatewaysubnet worden niet ondersteund. Als u een netwerkbeveiligingsgroep koppelt aan dit subnet, werkt uw virtuele netwerkgateway (VPN en ExpressRoute-gateways) mogelijk niet meer zoals verwacht. Zie Wat is een netwerkbeveiligingsgroep? voor meer informatie over netwerkbeveiligingsgroepen.

Voorbeeld:

<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. Voeg de lokale netwerksite toe

De lokale netwerksite die u toevoegt, vertegenwoordigt het RM-VNet waarmee u verbinding wilt maken. Voeg een LocalNetworkSites-element toe aan het bestand als dit nog niet bestaat. Op dit moment in de configuratie kan het VPNGatewayAddress elk geldig openbaar IP-adres zijn, omdat we de gateway nog niet hebben gemaakt voor het Resource Manager-VNet. Zodra u de RM-gateway hebt gemaakt, vervangt u dit tijdelijke IP-adres door het juiste openbare IP-adres dat is toegewezen aan de RM-gateway.

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

4. Koppel het VNet aan de lokale netwerksite

In deze sectie geven we de lokale netwerksite op waarmee u het VNet wilt verbinden. In dit geval is het het Resource Manager-VNet waarnaar u eerder hebt verwezen. Zorg ervoor dat de namen overeenkomen. Met deze stap wordt geen gateway gemaakt. Hiermee geeft u het lokale netwerk op waarmee de gateway verbinding maakt.

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

5. Sla het bestand op en upload

Sla het bestand op en importeer het vervolgens in Azure door de volgende opdracht uit te voeren. Zorg ervoor dat u het bestandspad zo nodig voor uw omgeving wijzigt.

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

U ziet een vergelijkbaar resultaat waarin wordt aangegeven dat het importeren is geslaagd.

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

6. De gateway maken

Voordat u dit voorbeeld uitvoert, raadpleegt u het netwerkconfiguratiebestand dat u hebt gedownload voor de exacte namen die Azure verwacht te zien. Het netwerkconfiguratiebestand bevat de waarden voor uw klassieke virtuele netwerken. Wanneer een klassiek VNet wordt gemaakt met behulp van de portal, is de naam van het virtuele netwerk anders in het netwerkconfiguratiebestand. Als u bijvoorbeeld Azure Portal hebt gebruikt om een klassiek VNet met de naam 'Klassiek VNet' te maken en dit in een resourcegroep met de naam ClassicRG te maken, wordt de naam die zich in het netwerkconfiguratiebestand bevindt, geconverteerd naar 'Group ClassicRG ClassicRG Classic VNet'. Gebruik altijd de naam in het netwerkconfiguratiebestand wanneer u met PowerShell werkt. Wanneer u de naam opgeeft van een VNet dat spaties bevat, gebruikt u aanhalingstekens rond de waarde.

Gebruik het volgende voorbeeld om een dynamische routeringsgateway te maken:

New-AzureVNetGateway -VNetName ClassicVNet -GatewayType DynamicRouting

U kunt de status van de gateway controleren met behulp van de Get-AzureVNetGateway-cmdlet .

De RM VNet-gateway configureren

Bij de vereisten wordt ervan uitgegaan dat u al een RM VNet hebt gemaakt. In deze stap maakt u een VPN-gateway voor het RM-VNet. Start deze stappen pas nadat u het openbare IP-adres voor de gateway van het klassieke VNet hebt opgehaald.

  1. Meld u aan bij uw Azure-account in de PowerShell-console. De volgende cmdlet vraagt u om de aanmeldingsreferenties voor uw Azure-account. Nadat u zich hebt aangemeld, worden uw accountinstellingen gedownload zodat ze beschikbaar zijn voor Azure PowerShell. U kunt eventueel de functie 'Uitproberen' gebruiken om Azure Cloud Shell in de browser te starten.

    Als u Azure Cloud Shell gebruikt, slaat u de volgende cmdlet over:

    Connect-AzAccount
    

    Voer de volgende cmdlet uit om te controleren of u het juiste abonnement gebruikt:

    Get-AzSubscription
    

    Als u meer dan één abonnement hebt, geeft u het abonnement op dat u wilt gebruiken.

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. Maak een lokale netwerkgateway. In een virtueel netwerk verwijst de lokale netwerkgateway doorgaans naar uw on-premises locatie. In dit geval verwijst de lokale netwerkgateway naar uw klassieke VNet. Geef deze een naam waarmee Azure ernaar kan verwijzen en geef ook het adresruimtevoorvoegsel op. Azure gebruikt het IP-adresvoorvoegsel dat u opgeeft om te bepalen welk verkeer naar uw on-premises locatie moet worden verzonden. Als u de informatie hier later moet aanpassen voordat u de gateway maakt, kunt u de waarden wijzigen en het voorbeeld opnieuw uitvoeren.

    -Naam is de naam die u wilt toewijzen om te verwijzen naar de lokale netwerkgateway.
    -AddressPrefix is de adresruimte voor uw klassieke VNet.
    -GatewayIpAddress is het openbare IP-adres van de klassieke VNet-gateway. Zorg ervoor dat u de volgende voorbeeldtekst n.n.n.n wijzigt om het juiste IP-adres weer te geven.

    New-AzLocalNetworkGateway -Name ClassicVNetSite `
    -Location "West US" -AddressPrefix "10.1.0.0/16" `
    -GatewayIpAddress "n.n.n.n" -ResourceGroupName RMRG
    
  3. Vraag om een openbaar IP-adres dat moet worden toegewezen aan de gateway van het virtuele netwerk voor het Resource Manager-VNet. U kunt het IP-adres dat u wilt gebruiken niet zelf opgeven. Het IP-adres wordt dynamisch toegewezen aan de gateway van het virtuele netwerk. Dit betekent echter niet dat het IP-adres wordt gewijzigd. De enige keer dat het IP-adres van de virtuele netwerkgateway wordt gewijzigd, is wanneer de gateway wordt verwijderd en opnieuw wordt gemaakt. Het verandert niet bij het wijzigen van het formaat, het opnieuw instellen of andere interne onderhoud/upgrades van de gateway.

    In deze stap stellen we ook een variabele in die in een latere stap wordt gebruikt.

    $ipaddress = New-AzPublicIpAddress -Name rmgwpip `
    -ResourceGroupName RMRG -Location 'EastUS' `
    -AllocationMethod Dynamic
    
  4. Controleer of uw virtuele netwerk een gatewaysubnet heeft. Als er geen gatewaysubnet bestaat, voegt u er een toe. Zorg ervoor dat het gatewaysubnet de naam GatewaySubnet heeft.

    $vnet = Get-AzVirtualNetwork -ResourceGroupName RMRG -Name RMVNet
    Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 192.168.255.0/27 -VirtualNetwork $vnet
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  5. Haal het subnet op dat wordt gebruikt voor de gateway door de volgende opdracht uit te voeren. In deze stap stellen we ook een variabele in die in de volgende stap moet worden gebruikt.

    -Name is de naam van uw Resource Manager VNet.
    -ResourceGroupName is de resourcegroep waaraan het VNet is gekoppeld. Het gatewaysubnet moet al bestaan voor dit VNet en moet de naam GatewaySubnet hebben om goed te kunnen werken.

    $subnet = Get-AzVirtualNetworkSubnetConfig -Name GatewaySubnet `
    -VirtualNetwork (Get-AzVirtualNetwork -Name RMVNet -ResourceGroupName RMRG)
    
  6. Maak de ip-adresseringsconfiguratie van de gateway. De gatewayconfiguratie bepaalt welk subnet en openbaar IP-adres moeten worden gebruikt. Gebruik het volgende voorbeeld om de gatewayconfiguratie te maken.

    In deze stap moeten de parameters -SubnetId en -PublicIpAddressId worden doorgegeven aan respectievelijk de id-eigenschap van het subnet en IP-adresobjecten. U kunt geen eenvoudige tekenreeks gebruiken. Deze variabelen worden in de stap ingesteld om een openbaar IP-adres aan te vragen en de stap om het subnet op te halen.

    $gwipconfig = New-AzVirtualNetworkGatewayIpConfig `
    -Name gwipconfig -SubnetId $subnet.id `
    -PublicIpAddressId $ipaddress.id
    
  7. Maak de gateway van het virtuele Resource Manager-netwerk door de volgende opdracht uit te voeren. De -VpnType moet RouteBased zijn. Het kan 45 minuten of langer duren voordat de gateway is gemaakt.

    New-AzVirtualNetworkGateway -Name RMGateway -ResourceGroupName RMRG `
    -Location "EastUS" -GatewaySKU Standard -GatewayType Vpn `
    -IpConfigurations $gwipconfig `
    -EnableBgp $false -VpnType RouteBased
    
  8. Kopieer het openbare IP-adres zodra de VPN-gateway is gemaakt. U gebruikt deze wanneer u de lokale netwerkinstellingen voor uw klassieke VNet configureert. U kunt de volgende cmdlet gebruiken om het openbare IP-adres op te halen. Het openbare IP-adres wordt vermeld in de return als IpAddress.

    Get-AzPublicIpAddress -Name rmgwpip -ResourceGroupName RMRG
    

De lokale site-instellingen van het klassieke VNet wijzigen

In deze sectie werkt u met het klassieke VNet. U vervangt het ip-adres van de tijdelijke aanduiding dat u hebt gebruikt bij het opgeven van de lokale site-instellingen die worden gebruikt om verbinding te maken met de Resource Manager-VNet-gateway. Omdat u met het klassieke VNet werkt, gebruikt u PowerShell die lokaal op uw computer is geïnstalleerd, niet de Azure Cloud Shell TryIt.

  1. Exporteer het netwerkconfiguratiebestand.

    Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml
    
  2. Wijzig de waarde voor VPNGatewayAddress met behulp van een teksteditor. Vervang het ip-adres van de tijdelijke aanduiding door het openbare IP-adres van de Resource Manager-gateway en sla de wijzigingen op.

    <VPNGatewayAddress>13.68.210.16</VPNGatewayAddress>
    
  3. Importeer het gewijzigde netwerkconfiguratiebestand naar Azure.

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

Een verbinding maken tussen de gateways

Voor het maken van een verbinding tussen de gateways is PowerShell vereist. Mogelijk moet u uw Azure-account toevoegen om de klassieke versie van de PowerShell-cmdlets te gebruiken. Hiervoor gebruikt u Add-AzureAccount.

  1. Stel uw gedeelde sleutel in de PowerShell-console in. Voordat u de cmdlets uitvoert, raadpleegt u het netwerkconfiguratiebestand dat u hebt gedownload voor de exacte namen die Azure verwacht te zien. Wanneer u de naam opgeeft van een VNet dat spaties bevat, gebruikt u enkele aanhalingstekens rond de waarde.

    In het volgende voorbeeld is -VNetName de naam van het klassieke VNet en -LocalNetworkSiteName de naam die u hebt opgegeven voor de lokale netwerksite. Controleer de namen van beide in het netwerkconfiguratiebestand dat u eerder hebt gedownload.

    De -SharedKey is een waarde die u genereert en opgeeft. In het voorbeeld hebben we abc123 gebruikt, maar u kunt iets complexer genereren en gebruiken. Het belangrijkste is dat de waarde die u hier opgeeft, dezelfde waarde moet zijn die u in de volgende stap opgeeft wanneer u de verbinding maakt. De retour moet status weergeven : Geslaagd.

    Set-AzureVNetGatewayKey -VNetName ClassicVNet `
    -LocalNetworkSiteName RMVNetSite -SharedKey abc123
    
  2. Maak de VPN-verbinding door de volgende opdrachten uit te voeren:

    Stel de variabelen in.

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

    Maak de verbinding. U ziet dat het -Verbinding maken ionType IPsec is, niet Vnet2Vnet.

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

Uw verbindingen controleren

Klassiek VNet naar RM VNet

U kunt controleren of uw verbinding is geslaagd met behulp van de cmdlet Get-AzureVNet Verbinding maken ion. Deze cmdlet moet lokaal op uw computer worden uitgevoerd.

  1. Gebruik het volgende cmdlet-voorbeeld om de waarden aan te passen aan uw eigen waarden. De naam van het virtuele netwerk moet tussen aanhalingstekens staan als het spaties bevat. Gebruik de naam van het virtuele netwerk, zoals te vinden is in het netwerkconfiguratiebestand.

    Get-AzureVNetConnection "ClassicVNet"
    
  2. Bekijk de waarden nadat de cmdlet is voltooid. In het volgende voorbeeld wordt de Verbinding maken iviteitsstatus weergegeven als 'Verbinding maken ed' en kunt u inkomend en uitgaand bytes zien.

    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           :
    

RM VNet naar klassiek VNet

U kunt controleren of de verbinding is geslaagd met behulp van de cmdlet Get-AzVirtualNetworkGateway Verbinding maken ion, met of zonder '-Debug'.

  1. Gebruik het volgende cmdlet-voorbeeld om de waarden aan te passen aan uw eigen waarden. Selecteer A als dit wordt gevraagd om alles uit te voeren. In het voorbeeld verwijst "-Name" naar de naam van de verbinding die u wilt testen.

    Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
    
  2. Bekijk de waarden nadat de cmdlet is voltooid. In het volgende voorbeeld wordt de verbindingsstatus weergegeven als 'Verbinding maken ed' en ziet u inkomende en uitgaande bytes.

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

Volgende stappen

Zie de veelgestelde vragen over VPN Gateway voor meer informatie over VNet-naar-VNet-verbindingen.