Bereitstellen und Konfigurieren von Azure Firewall in einem Hybridnetzwerk mit Azure PowerShell

Wenn Sie Ihr lokales Netzwerk mit einem virtuellen Azure-Netzwerk verbinden, um ein Hybridnetzwerk zu erstellen, ist das Steuern des Zugriffs auf Ihre Azure-Netzwerkressourcen ein wichtiger Bestandteil des globalen Sicherheitsplans.

Mit Azure Firewall können Sie den Netzwerkzugriff in einem Hybridnetzwerk mithilfe von Regeln steuern, die den zulässigen und verweigerten Netzwerkdatenverkehr definieren.

Für diesen Artikel erstellen Sie drei virtuelle Netzwerke:

  • VNet-Hub: In diesem virtuellen Netzwerk befindet sich die Firewall.
  • VNet-Spoke: Das virtuelle Spoke-Netzwerk stellt die Workload in Azure dar.
  • VNet-Onprem: Das lokale virtuelle Netzwerk stellt ein lokales Netzwerk dar. In einer tatsächlichen Bereitstellung können Sie eine Verbindung mit ihm herstellen, indem Sie entweder eine VPN-Verbindung (virtuelles privates Netzwerk) oder eine Azure ExpressRoute-Verbindung verwenden. Der Einfachheit halber wird in diesem Artikel eine VPN-Gatewayverbindung verwendet, und ein in Azure eingerichtetes virtuelles Netzwerk stellt ein lokales Netzwerk dar.

Abbildung einer Firewall in einem Hybridnetzwerk

Wenn Sie für die Vorgehensweise in diesem Artikel stattdessen das Azure-Portal verwenden möchten, finden Sie weitere Informationen unter Bereitstellen und Konfigurieren von Azure Firewall in einem Hybridnetzwerk über das Azure-Portal.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Voraussetzungen

Für diesen Artikel müssen Sie PowerShell lokal ausführen. Das Azure PowerShell-Modul muss installiert sein. Führen Sie Get-Module -ListAvailable Az aus, um die Version zu ermitteln. Sollte ein Upgrade erforderlich sein, lesen Sie Installieren des Azure PowerShell-Moduls. Führen Sie nach dem Überprüfen der PowerShell-Version Login-AzAccount aus, um eine Verbindung mit Azure zu erstellen.

Es gibt drei wichtige Anforderungen, die erfüllt sein müssen, damit dieses Szenario richtig funktioniert:

  • Eine benutzerdefinierte Route (User Defined Route, UDR) im Spoke-Subnetz, das auf die Azure Firewall-IP-Adresse als Standardgateway verweist. Die Routenverteilung für das Gateway für virtuelle Netzwerke muss für diese Routingtabelle auf Deaktiviert festgelegt werden.

  • Eine UDR im Hub-Gatewaysubnetz muss auf die Firewall-IP-Adresse als nächsten Hop auf dem Weg zu den Spoke-Netzwerken verweisen.

    Für das Azure Firewall-Subnetz ist keine UDR erforderlich, da es die Routen über BGP (Border Gateway Protocol) erlernt.

  • Achten Sie darauf, AllowGatewayTransit festzulegen, wenn Sie ein Peering zwischen VNet-Hub und VNet-Spoke einrichten. Legen Sie UseRemoteGateways fest, wenn Sie ein Peering zwischen VNet-Spoke und VNet-Hub festlegen.

Im Abschnitt Erstellen der Routen weiter unten in diesem Artikel wird gezeigt, wie Sie diese Routen erstellen.

Hinweis

Azure Firewall muss über eine direkte Internetverbindung verfügen. Wenn das Subnetz AzureFirewallSubnet eine Standardroute zu Ihrem lokalen Netzwerk über BGP lernt, müssen Sie Azure Firewall im Modus „Tunnelerzwingung“ konfigurieren. Wenn es sich um eine vorhandene Azure Firewall-Instanz handelt, die nicht im Modus „Tunnelerzwingung“ neu konfiguriert werden kann, wird empfohlen, eine UDR vom Typ „0.0.0.0/0“ für das Subnetz AzureFirewallSubnet hinzuzufügen. Legen Sie dabei den NextHopType auf Internet fest, um die direkte Internetkonnektivität aufrechtzuerhalten.

Weitere Informationen finden Sie unter Azure Firewall-Tunnelerzwingung.

Der Datenverkehr zwischen per direktem Peering verbundenen virtuellen Netzwerken wird direkt weitergeleitet, auch wenn eine UDR auf Azure Firewall als Standardgateway verweist. Um in diesem Szenario Subnetz-zu-Subnetz-Datenverkehr an die Firewall zu senden, muss eine UDR explizit das Zielsubnetzwerk-Präfix in beiden Subnetzen enthalten.

Die entsprechende Azure PowerShell-Referenzdokumentation finden Sie unter New-AzFirewall.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Deklarieren der Variablen

Im folgenden Beispiel werden die Variablen mit den Werten für diesen Artikel deklariert. In einigen Fällen müssen Sie zur Verwendung Ihres Abonnements bestimmte Werte durch Ihre eigenen Werte ersetzen. Ändern Sie die Variablen ggf., kopieren Sie sie, und fügen Sie sie in die PowerShell-Konsole ein.

$RG1 = "FW-Hybrid-Test"
$Location1 = "East US"

# Variables for the firewall hub virtual network

$VNetnameHub = "VNet-Hub"
$SNnameHub = "AzureFirewallSubnet"
$VNetHubPrefix = "10.5.0.0/16"
$SNHubPrefix = "10.5.0.0/24"
$SNGWHubPrefix = "10.5.1.0/24"
$GWHubName = "GW-hub"
$GWHubpipName = "VNet-Hub-GW-pip"
$GWIPconfNameHub = "GW-ipconf-hub"
$ConnectionNameHub = "hub-to-Onprem"

# Variables for the spoke virtual network

$VnetNameSpoke = "VNet-Spoke"
$SNnameSpoke = "SN-Workload"
$VNetSpokePrefix = "10.6.0.0/16"
$SNSpokePrefix = "10.6.0.0/24"
$SNSpokeGWPrefix = "10.6.1.0/24"

# Variables for the on-premises virtual network

$VNetnameOnprem = "Vnet-Onprem"
$SNNameOnprem = "SN-Corp"
$VNetOnpremPrefix = "192.168.0.0/16"
$SNOnpremPrefix = "192.168.1.0/24"
$SNGWOnpremPrefix = "192.168.2.0/24"
$GWOnpremName = "GW-Onprem"
$GWIPconfNameOnprem = "GW-ipconf-Onprem"
$ConnectionNameOnprem = "Onprem-to-hub"
$GWOnprempipName = "VNet-Onprem-GW-pip"

$SNnameGW = "GatewaySubnet"

Erstellen des virtuellen Firewall-Hub-Netzwerks

Erstellen Sie zunächst die Ressourcengruppe für die in diesem Artikel verwendeten Ressourcen:

  New-AzResourceGroup -Name $RG1 -Location $Location1

Definieren Sie die im virtuellen Netzwerk hinzuzufügenden Subnetze:

$FWsub = New-AzVirtualNetworkSubnetConfig -Name $SNnameHub -AddressPrefix $SNHubPrefix
$GWsub = New-AzVirtualNetworkSubnetConfig -Name $SNnameGW -AddressPrefix $SNGWHubPrefix

Erstellen des virtuellen Firewall-Hub-Netzwerks:

$VNetHub = New-AzVirtualNetwork -Name $VNetnameHub -ResourceGroupName $RG1 `
-Location $Location1 -AddressPrefix $VNetHubPrefix -Subnet $FWsub,$GWsub

Fordern Sie eine öffentliche IP-Adresse an, die dem VPN-Gateway zugeordnet wird, das Sie für Ihr virtuelles Netzwerk erstellen. Beachten Sie, dass Dynamic für den Wert AllocationMethod festgelegt ist. Es ist nicht möglich, die IP-Adresse selbst anzugeben. Sie wird Ihrem VPN-Gateway dynamisch zugewiesen.

$gwpip1 = New-AzPublicIpAddress -Name $GWHubpipName -ResourceGroupName $RG1 `
-Location $Location1 -AllocationMethod Dynamic

Erstellen des virtuellen Spoke-Netzwerks

Definieren Sie die im virtuellen Spoke-Netzwerk hinzuzufügenden Subnetze:

$Spokesub = New-AzVirtualNetworkSubnetConfig -Name $SNnameSpoke -AddressPrefix $SNSpokePrefix
$GWsubSpoke = New-AzVirtualNetworkSubnetConfig -Name $SNnameGW -AddressPrefix $SNSpokeGWPrefix

Erstellen Sie das virtuelle Spoke-Netzwerk:

$VNetSpoke = New-AzVirtualNetwork -Name $VnetNameSpoke -ResourceGroupName $RG1 `
-Location $Location1 -AddressPrefix $VNetSpokePrefix -Subnet $Spokesub,$GWsubSpoke

Erstellen des lokalen virtuellen Netzwerks

Definieren Sie die im virtuellen Netzwerk hinzuzufügenden Subnetze:

$Onpremsub = New-AzVirtualNetworkSubnetConfig -Name $SNNameOnprem -AddressPrefix $SNOnpremPrefix
$GWOnpremsub = New-AzVirtualNetworkSubnetConfig -Name $SNnameGW -AddressPrefix $SNGWOnpremPrefix

Erstellen des lokalen virtuellen Netzwerks:

$VNetOnprem = New-AzVirtualNetwork -Name $VNetnameOnprem -ResourceGroupName $RG1 `
-Location $Location1 -AddressPrefix $VNetOnpremPrefix -Subnet $Onpremsub,$GWOnpremsub

Fordern Sie eine öffentliche IP-Adresse an, die dem Gateway zugeordnet wird, das Sie für das virtuelle Netzwerk erstellen. Beachten Sie, dass Dynamic für den Wert AllocationMethod festgelegt ist. Es ist nicht möglich, die IP-Adresse selbst anzugeben. Sie wird Ihrem Gateway dynamisch zugewiesen.

$gwOnprempip = New-AzPublicIpAddress -Name $GWOnprempipName -ResourceGroupName $RG1 `
-Location $Location1 -AllocationMethod Dynamic

Konfigurieren und Bereitstellen der Firewall

Stellen Sie nun die Firewall im virtuellen Hub-Netzwerk bereit:

# Get a public IP for the firewall
$FWpip = New-AzPublicIpAddress -Name "fw-pip" -ResourceGroupName $RG1 `
  -Location $Location1 -AllocationMethod Static -Sku Standard
# Create the firewall
$Azfw = New-AzFirewall -Name AzFW01 -ResourceGroupName $RG1 -Location $Location1 -VirtualNetworkName $VNetnameHub -PublicIpName fw-pip

#Save the firewall private IP address for future use

$AzfwPrivateIP = $Azfw.IpConfigurations.privateipaddress
$AzfwPrivateIP

Konfigurieren von Netzwerkregeln:

$Rule1 = New-AzFirewallNetworkRule -Name "AllowWeb" -Protocol TCP -SourceAddress $SNOnpremPrefix `
   -DestinationAddress $VNetSpokePrefix -DestinationPort 80

$Rule2 = New-AzFirewallNetworkRule -Name "AllowRDP" -Protocol TCP -SourceAddress $SNOnpremPrefix `
   -DestinationAddress $VNetSpokePrefix -DestinationPort 3389

$Rule3 = New-AzFirewallNetworkRule -Name "AllowPing" -Protocol ICMP -SourceAddress $SNOnpremPrefix `
   -DestinationAddress $VNetSpokePrefix -DestinationPort

$NetRuleCollection = New-AzFirewallNetworkRuleCollection -Name RCNet01 -Priority 100 `
   -Rule $Rule1,$Rule2 -ActionType "Allow"
$Azfw.NetworkRuleCollections = $NetRuleCollection
Set-AzFirewall -AzureFirewall $Azfw

Erstellen und Verbinden der VPN-Gateways

Das virtuelle Hub-Netzwerk und das lokale virtuelle Netzwerk werden über VPN-Gateways verbunden.

Erstellen eines VPN-Gateways für das virtuelle Hub-Netzwerk

Erstellen Sie die VPN-Gatewaykonfiguration für das virtuelle Hub-Netzwerk. In der Konfiguration des VPN-Gateways werden das zu verwendende Subnetz und die zu verwendende öffentliche IP-Adresse definiert.

$vnet1 = Get-AzVirtualNetwork -Name $VNetnameHub -ResourceGroupName $RG1
$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
$gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfNameHub `
-Subnet $subnet1 -PublicIpAddress $gwpip1

Erstellen Sie nun das VPN-Gateway für das virtuelle Hub-Netzwerk. Netzwerk-zu-Netzwerk-Konfigurationen erfordern den Wert RouteBased für VpnType. Das Erstellen eines VPN-Gateways kann je nach ausgewählter SKU häufig mindestens 45 Minuten dauern.

New-AzVirtualNetworkGateway -Name $GWHubName -ResourceGroupName $RG1 `
-Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku basic

Erstellen eines VPN-Gateways für das lokale virtuelle Netzwerk

Erstellen Sie die VPN-Gatewaykonfiguration für das lokale virtuelle Netzwerk. In der Konfiguration des VPN-Gateways werden das zu verwendende Subnetz und die zu verwendende öffentliche IP-Adresse definiert.

$vnet2 = Get-AzVirtualNetwork -Name $VNetnameOnprem -ResourceGroupName $RG1
$subnet2 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet2
$gwipconf2 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfNameOnprem `
-Subnet $subnet2 -PublicIpAddress $gwOnprempip

Erstellen Sie nun das VPN-Gateway für das lokale virtuelle Netzwerk. Netzwerk-zu-Netzwerk-Konfigurationen erfordern den Wert RouteBased für VpnType. Das Erstellen eines VPN-Gateways kann je nach ausgewählter SKU häufig mindestens 45 Minuten dauern.

New-AzVirtualNetworkGateway -Name $GWOnpremName -ResourceGroupName $RG1 `
-Location $Location1 -IpConfigurations $gwipconf2 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku basic

Erstellen der VPN-Verbindungen

Erstellen Sie die VPN-Verbindungen zwischen dem Hub-Gateway und dem lokalen Gateway.

Abrufen der VPN-Gateways

$vnetHubgw = Get-AzVirtualNetworkGateway -Name $GWHubName -ResourceGroupName $RG1
$vnetOnpremgw = Get-AzVirtualNetworkGateway -Name $GWOnpremName -ResourceGroupName $RG1

Erstellen der Verbindungen

In diesem Schritt erstellen Sie die Verbindung vom virtuellen Hub-Netzwerk zum lokalen virtuellen Netzwerk. Die Beispiele zeigen einen freigegebenen Schlüssel. Sie können jedoch eigene Werte für den freigegebenen Schlüssel verwenden. Wichtig ist dabei, dass der gemeinsam verwendete Schlüssel für beide Verbindungen übereinstimmen muss. Das Erstellen einer Verbindung kann etwas dauern.

New-AzVirtualNetworkGatewayConnection -Name $ConnectionNameHub -ResourceGroupName $RG1 `
-VirtualNetworkGateway1 $vnetHubgw -VirtualNetworkGateway2 $vnetOnpremgw -Location $Location1 `
-ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'

Erstellen Sie die Verbindung vom lokalen virtuellen Netzwerk zum virtuellen Hub-Netzwerk. Dieser Schritt ähnelt dem vorherigen Schritt, hier erstellen Sie jedoch die Verbindung vom lokalen virtuellen Netzwerk (VNet-Onprem) zum virtuellen Hub-Netzwerk (VNet-Hub). Stellen Sie sicher, dass die freigegebenen Schlüssel übereinstimmen. Nach ein paar Minuten wurde die Verbindung hergestellt.

New-AzVirtualNetworkGatewayConnection -Name $ConnectionNameOnprem -ResourceGroupName $RG1 `
-VirtualNetworkGateway1 $vnetOnpremgw -VirtualNetworkGateway2 $vnetHubgw -Location $Location1 `
-ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'

Überprüfen der Verbindung

Mit dem Get-AzVirtualNetworkGatewayConnection-Cmdlet (mit oder ohne -Debug) können Sie überprüfen, ob die Verbindung erfolgreich hergestellt wurde.

Verwenden Sie das folgende Cmdlet-Beispiel, und konfigurieren Sie die Werte aber so, dass sie Ihren eigenen Werten entsprechen. Wählen Sie A zum Ausführen von All aus, wenn eine entsprechende Aufforderung angezeigt wird. In dem Beispiel verweist -Name auf den Namen der Verbindung, die Sie testen möchten.

Get-AzVirtualNetworkGatewayConnection -Name $ConnectionNameHub -ResourceGroupName $RG1

Zeigen Sie die Werte an, nachdem der Cmdlet-Vorgang beendet wurde. Das folgende Beispiel zeigt den Verbindungsstatus Connected zusammen mit Eingangs- und Ausgangsbytes:

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

Durchführen des Peerings für die virtuellen Hub- und Spoke-Netzwerke

Führen Sie nun das Peering für die virtuellen Hub- und Spoke-Netzwerke durch:

# Peer hub to spoke
Add-AzVirtualNetworkPeering -Name HubtoSpoke -VirtualNetwork $VNetHub -RemoteVirtualNetworkId $VNetSpoke.Id -AllowGatewayTransit

# Peer spoke to hub
Add-AzVirtualNetworkPeering -Name SpoketoHub -VirtualNetwork $VNetSpoke -RemoteVirtualNetworkId $VNetHub.Id -AllowForwardedTraffic -UseRemoteGateways

Erstellen der Routen

Verwenden Sie die folgenden Befehle, um diese Routen zu erstellen:

  • Eine Route vom Hub-Gatewaysubnetz zum Spoke-Subnetz über die Firewall-IP-Adresse
  • Eine Standardroute vom Spoke-Subnetz über die Firewall-IP-Adresse
#Create a route table
$routeTableHubSpoke = New-AzRouteTable `
  -Name 'UDR-Hub-Spoke' `
  -ResourceGroupName $RG1 `
  -location $Location1

#Create a route
Get-AzRouteTable `
  -ResourceGroupName $RG1 `
  -Name UDR-Hub-Spoke `
  | Add-AzRouteConfig `
  -Name "ToSpoke" `
  -AddressPrefix $VNetSpokePrefix `
  -NextHopType "VirtualAppliance" `
  -NextHopIpAddress $AzfwPrivateIP `
 | Set-AzRouteTable

#Associate the route table to the subnet

Set-AzVirtualNetworkSubnetConfig `
  -VirtualNetwork $VNetHub `
  -Name $SNnameGW `
  -AddressPrefix $SNGWHubPrefix `
  -RouteTable $routeTableHubSpoke | `
Set-AzVirtualNetwork

#Now, create the default route

#Create a table, with BGP route propagation disabled. The property is now called "Virtual network gateway route propagation," but the API still refers to the parameter as "DisableBgpRoutePropagation."
$routeTableSpokeDG = New-AzRouteTable `
  -Name 'UDR-DG' `
  -ResourceGroupName $RG1 `
  -location $Location1 `
  -DisableBgpRoutePropagation

#Create a route
Get-AzRouteTable `
  -ResourceGroupName $RG1 `
  -Name UDR-DG `
  | Add-AzRouteConfig `
  -Name "ToFirewall" `
  -AddressPrefix 0.0.0.0/0 `
  -NextHopType "VirtualAppliance" `
  -NextHopIpAddress $AzfwPrivateIP `
 | Set-AzRouteTable

#Associate the route table to the subnet

Set-AzVirtualNetworkSubnetConfig `
  -VirtualNetwork $VNetSpoke `
  -Name $SNnameSpoke `
  -AddressPrefix $SNSpokePrefix `
  -RouteTable $routeTableSpokeDG | `
Set-AzVirtualNetwork

Erstellen von virtuellen Computern

Erstellen Sie die VM für die Spoke-Workload und die lokale VM, und platzieren Sie sie in den entsprechenden Subnetzen.

Erstellen des virtuellen Workloadcomputers

Erstellen Sie im virtuellen Spoke-Netzwerk eine VM, die IIS (Internet Information Services, Internetinformationsdienste) ausführt, keine öffentliche IP-Adresse besitzt und eingehende Pings zulässt. Geben Sie bei Aufforderung einen Benutzernamen und ein Kennwort für die VM ein.

# Create an inbound network security group rule for ports 3389 and 80
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name Allow-RDP  -Protocol Tcp `
  -Direction Inbound -Priority 200 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix $SNSpokePrefix -DestinationPortRange 3389 -Access Allow
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig -Name Allow-web  -Protocol Tcp `
  -Direction Inbound -Priority 202 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix $SNSpokePrefix -DestinationPortRange 80 -Access Allow

# Create a network security group
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $RG1 -Location $Location1 -Name NSG-Spoke02 -SecurityRules $nsgRuleRDP,$nsgRuleWeb

#Create the NIC
$NIC = New-AzNetworkInterface -Name spoke-01 -ResourceGroupName $RG1 -Location $Location1 -SubnetId $VnetSpoke.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id

#Define the virtual machine
$VirtualMachine = New-AzVMConfig -VMName VM-Spoke-01 -VMSize "Standard_DS2"
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName Spoke-01 -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2016-Datacenter' -Version latest

#Create the virtual machine
New-AzVM -ResourceGroupName $RG1 -Location $Location1 -VM $VirtualMachine -Verbose

#Install IIS on the VM
Set-AzVMExtension `
    -ResourceGroupName $RG1 `
    -ExtensionName IIS `
    -VMName VM-Spoke-01 `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server"}' `
    -Location $Location1

#Create a host firewall rule to allow pings in
Set-AzVMExtension `
    -ResourceGroupName $RG1 `
    -ExtensionName IIS `
    -VMName VM-Spoke-01 `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4"}' `
    -Location $Location1

Erstellen der lokalen VM

Erstellen Sie eine einfache VM, die Sie verwenden können, um per Remotezugriff eine Verbindung mit der öffentlichen IP-Adresse herzustellen. Von dort aus können Sie dann über die Firewall eine Verbindung mit dem lokalen Server herstellen. Geben Sie bei Aufforderung einen Benutzernamen und ein Kennwort für die VM ein.

New-AzVm `
    -ResourceGroupName $RG1 `
    -Name "VM-Onprem" `
    -Location $Location1 `
    -VirtualNetworkName $VNetnameOnprem `
    -SubnetName $SNNameOnprem `
    -OpenPorts 3389 `
    -Size "Standard_DS2"

Hinweis

Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.

Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:

  • Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
  • Die VM wird im Backendpool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
  • Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.

VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.

Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.

Testen der Firewall

  1. Rufen Sie die private IP-Adresse für die VM VM-spoke-01 ab, und notieren Sie sie:

    $NIC.IpConfigurations.privateipaddress
    
  2. Stellen Sie über das Azure-Portal eine Verbindung mit dem virtuellen Computer VM-Onprem her.

  3. Öffnen Sie eine Windows PowerShell-Eingabeaufforderung auf VM-Onprem, und senden Sie einen Ping an die private IP-Adresse für VM-spoke-01. Sie sollten eine Antwort erhalten.

  4. Öffnen Sie auf VM-Onprem einen Webbrowser, und navigieren Sie zu http://<VM-spoke-01 private IP>. Die IIS-Standardseite sollte geöffnet werden.

  5. Öffnen Sie auf VM-Onprem eine Remotezugriffsverbindung für VM-spoke-01 unter der privaten IP-Adresse. Die Verbindungsherstellung sollte erfolgreich sein, und Sie sollten sich mit Ihrem gewähltem Benutzernamen und dem Kennwort anmelden können.

Sie haben sich vergewissert, dass die Firewallregeln funktionieren. Nun haben Sie folgende Möglichkeiten:

  • Sie können einen Ping an den Server im virtuellen Spoke-Netzwerk senden.
  • Navigieren Sie zum Webserver im virtuellen Spoke-Netzwerk.
  • Stellen Sie per Remotedesktopprotokoll (RDP) eine Verbindung mit dem Server im virtuellen Spoke-Netzwerk her.

Führen Sie als Nächstes das folgende Skript aus, um die Aktion für die Sammlung von Firewallnetzwerkregeln in Deny zu ändern:

$rcNet = $azfw.GetNetworkRuleCollectionByName("RCNet01")
$rcNet.action.type = "Deny"

Set-AzFirewall -AzureFirewall $azfw

Schließen Sie alle vorhandenen Remotezugriffsverbindungen. Führen Sie die Tests erneut aus, um die geänderten Regeln zu testen. Dieses Mal sollten alle Tests fehlschlagen.

Bereinigen von Ressourcen

Sie können Ihre Firewallressourcen für das nächste Tutorial beibehalten. Löschen Sie die Ressourcengruppe FW-Hybrid-Test, wenn Sie sie nicht mehr benötigen. Dadurch werden alle firewallbezogenen Ressourcen gelöscht.

Nächste Schritte

Überwachen von Azure Firewall-Protokollen