Megosztás a következőn keresztül:


Hálózati forgalom irányítása útvonaltáblával a PowerShell használatával

Egy adott virtuális hálózaton belül az Azure alapértelmezés szerint automatikusan elosztja a forgalmat az összes alhálózat között. Az Azure alapértelmezett útválasztását felülírhatja saját maga által létrehozott útvonalakkal. Az egyéni útvonalak létrehozása akkor lehet hasznos, hálózati virtuális berendezésen (NVA) keresztül kívánja irányítani az alhálózatok közötti forgalmat. Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • Útvonaltábla létrehozása
  • Útvonal létrehozása
  • Több alhálózattal rendelkező virtuális hálózat létrehozása
  • Útválasztási táblázat társítása alhálózattal
  • Forgalmat irányító hálózati virtuális berendezés létrehozása
  • Virtuális gépek (VM) üzembe helyezése különböző alhálózatokban
  • Forgalom irányítása egyik alhálózatról hálózati virtuális berendezésen keresztül

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Gomb az Azure Cloud Shell elindításához.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Képernyőkép az Azure Portal Cloud Shell gombjáról

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való kiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Ha a PowerShell helyi telepítése és használata mellett dönt, ehhez a cikkhez az Azure PowerShell-modul 1.0.0-s vagy újabb verziójára van szükség. A telepített verzió azonosításához futtassa a következőt: Get-Module -ListAvailable Az. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. Ha helyileg futtatja a PowerShellt, akkor emellett a Connect-AzAccount futtatásával kapcsolatot kell teremtenie az Azure-ral.

Útvonaltábla létrehozása

Mielőtt létrehozhat egy útvonaltáblát, hozzon létre egy erőforráscsoportot a New-AzResourceGroup használatával. Az alábbi példa létrehoz egy myResourceGroup nevű erőforráscsoportot a cikkben létrehozott összes erőforráshoz.

New-AzResourceGroup -ResourceGroupName myResourceGroup -Location EastUS

Hozzon létre egy útvonaltáblát a New-AzRouteTable használatával. Az alábbi példa létrehoz egy myRouteTablePublic nevű útvonaltáblát.

$routeTablePublic = New-AzRouteTable `
  -Name 'myRouteTablePublic' `
  -ResourceGroupName myResourceGroup `
  -location EastUS

Útvonal létrehozása

Útvonal létrehozásához kérje le az útvonaltábla objektumát a Get-AzRouteTable használatával, hozzon létre egy útvonalat az Add-AzRouteConfig használatával, majd írja be az útvonalkonfigurációt az útvonaltáblába a Set-AzRouteTable használatával.

Get-AzRouteTable `
  -ResourceGroupName "myResourceGroup" `
  -Name "myRouteTablePublic" `
  | Add-AzRouteConfig `
  -Name "ToPrivateSubnet" `
  -AddressPrefix 10.0.1.0/24 `
  -NextHopType "VirtualAppliance" `
  -NextHopIpAddress 10.0.2.4 `
 | Set-AzRouteTable

Útválasztási táblázat társítása alhálózattal

Mielőtt hozzárendelhet egy útvonaltáblát egy alhálózathoz, létre kell hoznia egy virtuális hálózatot és alhálózatot. Hozzon létre egy virtuális hálózatot a New-AzVirtualNetwork használatával. Az alábbi példa létrehoz egy myVirtualNetwork nevű virtuális hálózatot a 10.0.0.0/16 címelőtaggal.

$virtualNetwork = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork `
  -AddressPrefix 10.0.0.0/16

Három alhálózat létrehozásával hozzon létre három alhálózat-konfigurációt a New-AzVirtualNetworkSubnetConfig használatával. Az alábbi példa három alhálózat-konfigurációt hoz létre a nyilvános, a privát és a DMZ-alhálózatokhoz :

$subnetConfigPublic = Add-AzVirtualNetworkSubnetConfig `
  -Name Public `
  -AddressPrefix 10.0.0.0/24 `
  -VirtualNetwork $virtualNetwork

$subnetConfigPrivate = Add-AzVirtualNetworkSubnetConfig `
  -Name Private `
  -AddressPrefix 10.0.1.0/24 `
  -VirtualNetwork $virtualNetwork

$subnetConfigDmz = Add-AzVirtualNetworkSubnetConfig `
  -Name DMZ `
  -AddressPrefix 10.0.2.0/24 `
  -VirtualNetwork $virtualNetwork

Írja be az alhálózat-konfigurációkat a virtuális hálózatba a Set-AzVirtualNetwork használatával, amely létrehozza az alhálózatokat a virtuális hálózaton:

$virtualNetwork | Set-AzVirtualNetwork

Társítsa a myRouteTablePublic útvonaltáblát a Nyilvános alhálózathoz a Set-AzVirtualNetworkSubnetConfig beállítással, majd írja be az alhálózat konfigurációját a virtuális hálózatba a Set-AzVirtualNetwork segítségével.

Set-AzVirtualNetworkSubnetConfig `
  -VirtualNetwork $virtualNetwork `
  -Name 'Public' `
  -AddressPrefix 10.0.0.0/24 `
  -RouteTable $myRouteTablePublic | `
Set-AzVirtualNetwork

NVA létrehozása

Az NVA egy olyan virtuális gép, amely hálózati funkciót tölt be, például útválasztóként, tűzfalként vagy WAN-optimalizálóként működik.

Virtuális gép létrehozása előtt hozzon létre egy hálózati adaptert.

Hálózati adapter létrehozása

A hálózati adapter létrehozása előtt le kell kérnie a virtuális hálózat azonosítóját a Get-AzVirtualNetwork, majd az alhálózat-azonosítót a Get-AzVirtualNetworkSubnetConfig használatával. Hozzon létre egy hálózati adaptert a New-AzNetworkInterface használatával a DMZ alhálózatban, engedélyezve az IP-továbbítást:

# Retrieve the virtual network object into a variable.
$virtualNetwork=Get-AzVirtualNetwork `
  -Name myVirtualNetwork `
  -ResourceGroupName myResourceGroup

# Retrieve the subnet configuration into a variable.
$subnetConfigDmz = Get-AzVirtualNetworkSubnetConfig `
  -Name DMZ `
  -VirtualNetwork $virtualNetwork

# Create the network interface.
$nic = New-AzNetworkInterface `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name 'myVmNva' `
  -SubnetId $subnetConfigDmz.Id `
  -EnableIPForwarding

Virtuális gép létrehozása

Virtuális gép létrehozásához és meglévő hálózati adapter csatolásához először létre kell hoznia egy virtuálisgép-konfigurációt a New-AzVMConfig használatával. A konfiguráció tartalmazza az előző lépésben létrehozott hálózati adaptert. Amikor a rendszer felhasználónevet és jelszót kér, válassza ki azt a felhasználónevet és jelszót, amellyel be szeretne jelentkezni a virtuális gépbe.

# Create a credential object.
$cred = Get-Credential -Message "Enter a username and password for the VM."

# Create a VM configuration.
$vmConfig = New-AzVMConfig `
  -VMName 'myVmNva' `
  -VMSize Standard_DS2 | `
  Set-AzVMOperatingSystem -Windows `
    -ComputerName 'myVmNva' `
    -Credential $cred | `
  Set-AzVMSourceImage `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest | `
  Add-AzVMNetworkInterface -Id $nic.Id

Hozza létre a virtuális gépet a New-AzVM virtuálisgép-konfigurációjával. Az alábbi példa létrehoz egy myVmNva nevű virtuális gépet.

$vmNva = New-AzVM `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -VM $vmConfig `
  -AsJob

Ez a -AsJob beállítás létrehozza a virtuális gépet a háttérben, így továbbléphet a következő lépésre.

Virtuális gépek létrehozása

Hozzon létre két virtuális gépet a virtuális hálózaton, így ellenőrizheti, hogy a nyilvános alhálózatról érkező forgalom a hálózati virtuális berendezésen keresztül a magánhálózatra lesz-e irányítva egy későbbi lépésben.

Hozzon létre egy virtuális gépet a New-AzVM nyilvános alhálózatán. Az alábbi példa létrehoz egy myVmPublic nevű virtuális gépet a myVirtualNetwork virtuális hálózat nyilvános alhálózatán.

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork" `
  -SubnetName "Public" `
  -ImageName "Win2016Datacenter" `
  -Name "myVmPublic" `
  -AsJob

Hozzon létre egy virtuális gépet a Privát alhálózatban.

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork" `
  -SubnetName "Private" `
  -ImageName "Win2016Datacenter" `
  -Name "myVmPrivate"

A virtuális gép üzembe helyezése néhány percet vesz igénybe. Ne folytassa a következő lépéssel, amíg a virtuális gép létre nem jön, és az Azure visszaadja a kimenetet a PowerShellnek.

Forgalom irányítása NVA-n keresztül

A Get-AzPublicIpAddress használatával adja vissza a myVmPrivate virtuális gép nyilvános IP-címét. Az alábbi példa a myVmPrivate virtuális gép nyilvános IP-címét adja vissza:

Get-AzPublicIpAddress `
  -Name myVmPrivate `
  -ResourceGroupName myResourceGroup `
  | Select IpAddress

Az alábbi paranccsal hozzon létre egy távoli asztali munkamenetet a myVmPrivate virtuális géppel a helyi számítógépről. Cserélje ki a <publicIpAddress> kifejezést az előző parancs által visszaadott nyilvános IP-címre.

mstsc /v:<publicIpAddress>

Nyissa meg a letöltött RDP-fájlt. Ha a rendszer kéri, válassza a Csatlakozás lehetőséget.

Adja meg a virtuális gép létrehozásakor megadott felhasználónevet és jelszót (előfordulhat, hogy a virtuális gép létrehozásakor beírt hitelesítő adatok megadásához ki kell választania a További lehetőségek, majd a Másik fiók használata elemet), majd válassza az OK gombot. A bejelentkezés során egy figyelmeztetés jelenhet meg a tanúsítvánnyal kapcsolatban. Válassza az Igen lehetőséget a csatlakozás folytatásához.

Egy későbbi lépésben a parancs az tracert.exe útválasztás tesztelésére szolgál. A Tracert az Internet Control Message Protocol (ICMP) protokollt használja, amelyet a Rendszer megtagad a Windows tűzfalon keresztül. Engedélyezze az ICMP-t a Windows tűzfalon. Ehhez adja meg a myVmPrivate virtuális gépen a következő PowerShell-parancsot:

New-NetFirewallRule -DisplayName "Allow ICMPv4-In" -Protocol ICMPv4

Bár ebben a cikkben az útválasztás teszteléséhez nyomkövetési útvonalat használunk, az éles környezetekhez nem ajánlott engedélyezni az ICMP használatát a Windows tűzfalon keresztül.

Az Azure-ban a virtuális gép hálózati adapterében, az IP-továbbítás engedélyezése szakaszban engedélyezte az IP-továbbítást. A virtuális gépen, az operációs rendszeren, vagy egy a virtuális gépen futó alkalmazáson belül szintén működnie kell a hálózati forgalom továbbításának. Engedélyezze az IP-továbbítást a myVmNva operációs rendszerén belül.

A myVmPrivate virtuális gép parancssorából a távoli asztalról a myVmNva-ba:

mstsc /v:myvmnva

Az operációs rendszeren belüli IP-továbbítás engedélyezéséhez adja meg a következő parancsot a PowerShellben a myVmNva virtuális gépről:

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IpEnableRouter -Value 1

Indítsa újra a myVmNva virtuális gépet – ez megszakítja a távoli asztali munkamenetet is.

Miközben továbbra is csatlakozik a myVmPrivate virtuális géphez, hozzon létre távoli asztali kapcsolatot a myVmPublic virtuális géppel, miután a myVmNva virtuális gép újraindult:

mstsc /v:myVmPublic

Engedélyezze az ICMP-t a Windows tűzfalon. Ehhez adja meg a myVmPublic virtuális gépen a következő PowerShell-parancsot:

New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4

A myVmPublic virtuális gépről a myVmPrivate virtuális gépre irányuló hálózati forgalom útválasztásának teszteléséhez adja meg a következő parancsot a PowerShellben a myVmPublic virtuális gépen:

tracert myVmPrivate

A válasz a következő példához hasonló:

Tracing route to myVmPrivate.vpgub4nqnocezhjgurw44dnxrc.bx.internal.cloudapp.net [10.0.1.4]
over a maximum of 30 hops:

1    <1 ms     *        1 ms  10.0.2.4
2     1 ms     1 ms     1 ms  10.0.1.4

Trace complete.

Láthatja, hogy az első ugrás a 10.0.2.4 cím, amely az NVA magánhálózati IP-címe. A második ugrás a 10.0.1.4 cím – ez a myVmPrivate virtuális gép magánhálózati IP-címe. AmyRouteTablePublic útválasztási táblázathoz hozzáadott és a Magánjellegű alhálózathoz rendelt útvonal miatt az Azure az NVA-n keresztül továbbította a forgalmat ahelyett, hogy közvetlenül a Privát alhálózatra továbbította volna.

Zárja be a myVmPublic virtuális gépre irányuló távoli asztali munkamenetet. Ez nem bontja a myVmPrivate virtuális géppel való kapcsolatot.

A myVmPrivate virtuális gépről a myVmPublic virtuális gépre irányuló hálózati forgalom útválasztásának teszteléséhez adja meg a következő parancsot egy parancssorban a myVmPrivate virtuális gépen:

tracert myVmPublic

A válasz a következő példához hasonló:

Tracing route to myVmPublic.vpgub4nqnocezhjgurw44dnxrc.bx.internal.cloudapp.net [10.0.0.4]
over a maximum of 30 hops:

1     1 ms     1 ms     1 ms  10.0.0.4

Trace complete.

Láthatja, hogy a rendszer a myVmPrivate virtuális gépről közvetlenül a myVmPublic virtuális gépre irányítja a forgalmat. Alapértelmezés szerint az Azure közvetlenül irányítja a forgalmat az alhálózatok között.

Zárja be a myVmPrivate virtuális gépre irányuló távoli asztali munkamenetet.

Az erőforrások eltávolítása

Ha már nincs rá szükség, a Remove-AzResourcegroup használatával távolítsa el az erőforráscsoportot és az összes benne lévő erőforrást.

Remove-AzResourceGroup -Name myResourceGroup -Force

Következő lépések

Ebben a cikkben létrehozott egy útvonaltáblát, és hozzárendelte egy alhálózathoz. Létrehozott egy egyszerű hálózati virtuális berendezést, amely egy nyilvános alhálózatról egy privát alhálózatra irányította a forgalmat. Különböző előre konfigurált hálózati virtuális berendezések üzembe helyezése, amelyek hálózati funkciókat, például tűzfalat és WAN-optimalizálást végeznek az Azure Marketplace-en. További információ az útválasztásról: Az útválasztás áttekintése; Útválasztási táblázat kezelése.

Egy virtuális hálózaton belül több Azure-erőforrást helyezhet üzembe, azonban egyes Azure PaaS-szolgáltatások erőforrásai nem helyezhetők üzembe virtuális hálózatban. Ennek ellenére korlátozhatja az egyes Azure PaaS-szolgáltatások erőforrásaihoz való hozzáférést, hogy csak egyetlen virtuális hálózati alhálózatról legyenek elérhetők. További információ: A PaaS-erőforrásokhoz való hálózati hozzáférés korlátozása.