Z tego samouczka dowiesz się, jak zintegrować bramę NAT z usługą Azure Firewall w architekturze hub and spoke, aby zwiększyć łączność wychodzącą i skalowalność.
Usługa Azure Firewall udostępnia 2496 portów SNAT na publiczny adres IP skonfigurowany na wystąpienie zestawu skalowania maszyn wirtualnych zaplecza (co najmniej dwa wystąpienia). Do usługi Azure Firewall można skojarzyć maksymalnie 250 publicznych adresów IP. W zależności od wymagań dotyczących architektury i wzorców ruchu może być wymagana większa liczba portów SNAT niż zapewniana przez usługę Azure Firewall. Może być również wymagane użycie mniejszej liczby publicznych adresów IP, jednocześnie wymagając większej liczby portów SNAT. Lepszą metodą łączności wychodzącej jest użycie bramy translatora adresów sieciowych. Brama translatora adresów sieciowych udostępnia 64 512 portów SNAT na publiczny adres IP i może być używana z maksymalnie 16 publicznymi adresami IP.
Bramę NAT można zintegrować z usługą Azure Firewall, konfigurując ją bezpośrednio w podsieci Azure Firewall. To skojarzenie zapewnia bardziej skalowalną metodę łączności wychodzącej. W przypadku wdrożeń produkcyjnych zalecana jest sieć piasty i szprych, gdzie zapora znajduje się we własnej sieci wirtualnej. Serwery obciążeń są równorzędnymi sieciami wirtualnymi w tym samym regionie co sieć wirtualna koncentratora, w którym znajduje się zapora. W tej konfiguracji architektury brama translatora adresów sieciowych może zapewnić łączność wychodzącą z sieci wirtualnej piasty dla wszystkich sieci wirtualnych szprych równorzędnych.
Uwaga
Usługa Azure NAT Gateway nie jest obecnie obsługiwana w architekturach zabezpieczonej sieci koncentratora wirtualnego (vWAN). Należy wdrożyć przy użyciu architektury sieci wirtualnej koncentratora zgodnie z opisem w tym samouczku. Aby uzyskać więcej informacji na temat opcji architektury usługi Azure Firewall, zobacz Co to są opcje architektury usługi Azure Firewall Manager?.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Tworzenie sieci wirtualnej koncentratora i wdrażanie usługi Azure Firewall i usługi Azure Bastion podczas wdrażania
- Tworzenie bramy translatora adresów sieciowych i kojarzenie jej z podsiecią zapory w sieci wirtualnej koncentratora
- Tworzenie sieci wirtualnej będącej szprychą
- Tworzenie komunikacji równorzędnej sieci wirtualnych
- Tworzenie tabeli tras dla sieci wirtualnej będącej szprychą
- Tworzenie zasad zapory dla sieci wirtualnej koncentratora
- Tworzenie maszyny wirtualnej w celu przetestowania łączności wychodzącej za pośrednictwem bramy translatora adresów sieciowych
Wymagania wstępne
Azure Cloud Shell
Na platformie Azure hostowane jest interaktywne środowisko wiersza poleceń Azure Cloud Shell, z którego można korzystać przez przeglądarkę. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
Opcja |
Przykład/łącze |
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. |
|
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. |
|
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
|
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając pozycję Ctrl+Shift+V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift+V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Jeśli zdecydujesz się zainstalować program PowerShell i korzystać z niego lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 1.0.0 lub nowszej. Uruchom Get-Module -ListAvailable Az
, aby znaleźć zainstalowaną wersję. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount
, aby utworzyć połączenie z platformą Azure.
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Ten artykuł wymaga wersji 2.0.28 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Tworzenie sieci wirtualnej koncentratora
Sieć wirtualna koncentratora zawiera podsieć zapory skojarzona z usługą Azure Firewall i bramą translatora adresów sieciowych. Użyj poniższego przykładu, aby utworzyć sieć wirtualną koncentratora.
Zaloguj się w witrynie Azure Portal.
W polu wyszukiwania w górnej części portalu wprowadź wartość Sieć wirtualna. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
Wybierz + Utwórz.
Na karcie Podstawy tworzenia sieci wirtualnej wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Szczegóły projektu |
|
Subskrypcja |
Wybierz subskrypcję. |
Grupa zasobów |
Wybierz pozycjęUtwórz nowy.
Wprowadź ciąg test-rg.
Wybierz przycisk OK. |
Szczegóły wystąpienia |
|
Nazwisko |
Wprowadź wartość vnet-hub. |
Region (Region) |
Wybierz pozycję (USA) Południowo-środkowe stany USA. |
Wybierz przycisk Dalej , aby przejść do karty Zabezpieczenia .
Wybierz pozycję Włącz usługę Azure Bastion w sekcji Azure Bastion na karcie Zabezpieczenia.
Usługa Azure Bastion używa przeglądarki do łączenia się z maszynami wirtualnymi w sieci wirtualnej za pośrednictwem protokołu SSH (Secure Shell) lub protokołu RDP (Remote Desktop Protocol) przy użyciu ich prywatnych adresów IP. Maszyny wirtualne nie potrzebują publicznych adresów IP, oprogramowania klienckiego ani specjalnej konfiguracji. Aby uzyskać więcej informacji na temat usługi Azure Bastion, zobacz Azure Bastion
Uwaga
Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.
Wprowadź lub wybierz następujące informacje w usłudze Azure Bastion:
Ustawienie |
Wartość |
Nazwa hosta usługi Azure Bastion |
Wprowadź bastion. |
Publiczny adres IP usługi Azure Bastion |
Wybierz pozycję Utwórz publiczny adres IP.
Wprowadź wartość public-ip-bastion w polu Nazwa.
Wybierz przycisk OK. |
Wybierz pozycję Włącz usługę Azure Firewall w sekcji Azure Firewall na karcie Zabezpieczenia.
Azure Firewall to zarządzana, sieciowa usługa zabezpieczeń oparta na chmurze, która zabezpiecza zasoby usługi Azure Virtual Network. Jest to w pełni stanowa zapora oferowana jako usługa, z wbudowaną wysoką dostępnością i możliwością nieograniczonego skalowania w chmurze. Aby uzyskać więcej informacji na temat usługi Azure Firewall, zobacz Azure Firewall.
Wprowadź lub wybierz następujące informacje w usłudze Azure Firewall:
Ustawienie |
Wartość |
Nazwa usługi Azure Firewall |
Wprowadź zaporę. |
Warstwa |
Wybierz opcję Standardowa. |
Zasady |
Wybierz pozycjęUtwórz nowy.
Wprowadź wartość firewall-policy w polu Nazwa.
Wybierz przycisk OK. |
Publiczny adres IP usługi Azure Firewall |
Wybierz pozycję Utwórz publiczny adres IP.
Wprowadź wartość public-ip-firewall w polu Nazwa.
Wybierz przycisk OK. |
Wybierz przycisk Dalej , aby przejść do karty Adresy IP.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Wdrożenie hosta bastionu i zapory trwa kilka minut. Po utworzeniu sieci wirtualnej w ramach wdrożenia możesz przejść do następnych kroków.
Użyj New-AzResourceGroup, aby utworzyć grupę zasobów.
# Create resource group
$rgParams = @{
Name = 'test-rg'
Location = 'South Central US'
}
New-AzResourceGroup @rgParams
Użyj New-AzVirtualNetwork, aby utworzyć wirtualną sieć koncentratora.
# Create hub virtual network
$vnetParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'vnet-hub'
AddressPrefix = '10.0.0.0/16'
}
$hubVnet = New-AzVirtualNetwork @vnetParams
Użyj polecenia Add-AzVirtualNetworkSubnetConfig , aby utworzyć podsieć dla usługi Azure Firewall i usługi Azure Bastion.
# Create default subnet
$subnetParams = @{
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
VirtualNetwork = $hubVnet
}
Add-AzVirtualNetworkSubnetConfig @subnetParams
# Create subnet for Azure Firewall
$subnetParams = @{
Name = 'AzureFirewallSubnet'
AddressPrefix = '10.0.1.64/26'
VirtualNetwork = $hubVnet
}
Add-AzVirtualNetworkSubnetConfig @subnetParams
# Create subnet for Azure Bastion
$subnetParams = @{
Name = 'AzureBastionSubnet'
AddressPrefix = '10.0.1.0/26'
VirtualNetwork = $hubVnet
}
Add-AzVirtualNetworkSubnetConfig @subnetParams
Użyj Set-AzVirtualNetwork, aby zaktualizować sieć wirtualną.
# Create the virtual network
$hubVnet | Set-AzVirtualNetwork
Użyj polecenia New-AzPublicIpAddress , aby utworzyć publiczny adres IP dla usługi Azure Bastion.
# Create public IP for Azure Bastion
$publicIpBastionParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'public-ip-bastion'
Sku = 'Standard'
AllocationMethod = 'Static'
Zone = 1, 2, 3
}
$publicIpBastion = New-AzPublicIpAddress @publicIpBastionParams
Użyj New-AzBastion , aby utworzyć Azure Bastion.
# Create Azure Bastion
$bastionParams = @{
ResourceGroupName = "test-rg"
Name = "bastion"
VirtualNetworkName = "vnet-hub"
PublicIpAddressName = "public-ip-bastion"
PublicIPAddressRgName = "test-rg"
VirtualNetworkRgName = "test-rg"
}
New-AzBastion @bastionParams
Użyj polecenia New-AzPublicIpAddress , aby utworzyć publiczny adres IP dla usługi Azure Firewall.
# Create public IP for Azure Firewall
$publicIpFirewallParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'public-ip-firewall'
AllocationMethod = 'Static'
Sku = 'Standard'
Zone = 1, 2, 3
}
$publicIpFirewall = New-AzPublicIpAddress @publicIpFirewallParams
Użyj New-AzFirewallPolicy aby utworzyć zasady zapory.
# Create firewall policy
$firewallPolicyParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'firewall-policy'
}
$firewallPolicy = New-AzFirewallPolicy @firewallPolicyParams
Użyj polecenia New-AzFirewall, aby utworzyć Azure Firewall.
# Create Azure Firewall
$firewallParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'firewall'
VirtualNetworkName = 'vnet-hub'
PublicIpName = 'public-ip-firewall'
FirewallPolicyId = $firewallPolicy.Id
}
$firewall = New-AzFirewall @firewallParams
Użyj az group create, aby utworzyć grupę zasobów.
# Variables
RESOURCE_GROUP="test-rg"
LOCATION="southcentralus"
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION
Użyj polecenia az network vnet create, aby utworzyć sieć wirtualną koncentratora.
# Variables
RESOURCE_GROUP="test-rg"
VNET_HUB_NAME="vnet-hub"
VNET_HUB_ADDRESS_PREFIX="10.0.0.0/16"
SUBNET_1_NAME="subnet-1"
SUBNET_1_PREFIX="10.0.0.0/24"
az network vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_HUB_NAME \
--address-prefix $VNET_HUB_ADDRESS_PREFIX \
--subnet-name $SUBNET_1_NAME \
--subnet-prefix $SUBNET_1_PREFIX
Użyj az network vnet subnet create, aby utworzyć podsieć dla usługi Azure Bastion.
# Variables
RESOURCE_GROUP="test-rg"
VNET_HUB_NAME="vnet-hub"
BASTION_SUBNET_NAME="AzureBastionSubnet"
BASTION_SUBNET_PREFIX="10.0.1.0/26"
az network vnet subnet create \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_HUB_NAME \
--name $BASTION_SUBNET_NAME \
--address-prefix $BASTION_SUBNET_PREFIX
Użyj az network vnet subnet create, aby utworzyć podsieć dla Azure Firewall.
# Variables
RESOURCE_GROUP="test-rg"
VNET_HUB_NAME="vnet-hub"
FIREWALL_SUBNET_NAME="AzureFirewallSubnet"
FIREWALL_SUBNET_PREFIX="10.0.1.64/26"
az network vnet subnet create \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_HUB_NAME \
--name $FIREWALL_SUBNET_NAME \
--address-prefix $FIREWALL_SUBNET_PREFIX
Użyj polecenia az network public-ip create, aby utworzyć publiczny adres IP dla usługi Azure Bastion.
# Variables
RESOURCE_GROUP="test-rg"
BASTION_PUBLIC_IP_NAME="public-ip-bastion"
ALLOCATION_METHOD="Static"
SKU="Standard"
az network public-ip create \
--resource-group $RESOURCE_GROUP \
--name $BASTION_PUBLIC_IP_NAME \
--allocation-method $ALLOCATION_METHOD \
--sku $SKU
Użyj polecenia az network bastion create , aby utworzyć usługę Azure Bastion.
# Variables
RESOURCE_GROUP="test-rg"
BASTION_NAME="bastion"
BASTION_PUBLIC_IP_NAME="public-ip-bastion"
VNET_HUB_NAME="vnet-hub"
az network bastion create \
--resource-group $RESOURCE_GROUP \
--name $BASTION_NAME \
--public-ip-address $BASTION_PUBLIC_IP_NAME \
--vnet-name $VNET_HUB_NAME
Użyj az network public-ip create, aby utworzyć publiczny adres IP dla usługi Azure Firewall.
# Variables
RESOURCE_GROUP="test-rg"
FIREWALL_PUBLIC_IP_NAME="public-ip-firewall"
ALLOCATION_METHOD="Static"
SKU="Standard"
az network public-ip create \
--resource-group $RESOURCE_GROUP \
--name $FIREWALL_PUBLIC_IP_NAME \
--allocation-method $ALLOCATION_METHOD \
--sku $SKU
Użyj az network firewall policy create, aby utworzyć politykę zapory.
# Variables
RESOURCE_GROUP="test-rg"
FIREWALL_POLICY_NAME="firewall-policy"
az network firewall policy create \
--resource-group $RESOURCE_GROUP \
--name $FIREWALL_POLICY_NAME
Użyj az network firewall create, aby utworzyć Azure Firewall.
# Variables
RESOURCE_GROUP="test-rg"
FIREWALL_NAME="firewall"
VNET_HUB_NAME="vnet-hub"
FIREWALL_POLICY_NAME="firewall-policy"
FIREWALL_PUBLIC_IP_NAME="public-ip-firewall"
az network firewall create \
--resource-group $RESOURCE_GROUP \
--name $FIREWALL_NAME \
--vnet-name $VNET_HUB_NAME \
--firewall-policy $FIREWALL_POLICY_NAME \
--public-ip $FIREWALL_PUBLIC_IP_NAME
Tworzenie bramy translatora adresów sieciowych
Cały wychodzący ruch internetowy przechodzi przez bramę translatora adresów sieciowych do Internetu. Skorzystaj z poniższego przykładu, aby utworzyć bramę translatora adresów sieciowych dla sieci piasty i szprych i skojarzyć ją z podsiecią AzureFirewallSubnet.
W polu wyszukiwania w górnej części portalu wprowadź bramę translatora adresów sieciowych. Wybierz pozycję Bramy translatora adresów sieciowych w wynikach wyszukiwania.
Wybierz + Utwórz.
Na karcie Podstawy w obszarze Tworzenie bramy translatora adresów sieciowych wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Szczegóły projektu |
|
Subskrypcja |
Wybierz subskrypcję. |
Grupa zasobów |
Wybierz pozycję test-rg. |
Szczegóły wystąpienia |
|
Nazwa bramy translatora adresów sieciowych |
Wprowadź ciąg nat-gateway. |
Region (Region) |
Wybierz pozycję Południowo-środkowe stany USA. |
Strefa dostępności |
Wybierz strefę lub bez strefy. |
Limit czasu bezczynności protokołu TCP (w minutach) |
Pozostaw wartość domyślną 4. |
Aby uzyskać więcej informacji na temat stref dostępności, zobacz Brama translatora adresów sieciowych i strefy dostępności.
Wybierz pozycję Dalej: wychodzący adres IP.
W obszarze Wychodzący adres IP w publicznych adresach IP wybierz pozycję Utwórz nowy publiczny adres IP.
Wprowadź ciąg public-ip-nat w polu Nazwa.
Wybierz przycisk OK.
Wybierz pozycję Dalej: Podsieć.
W obszarze Sieć wirtualna wybierz pozycję vnet-hub.
Wybierz pozycję AzureFirewallSubnet w polu Nazwa podsieci.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Użyj polecenia New-AzPublicIpAddress, aby utworzyć publiczny adres IP dla bramy NAT.
# Create public IP for NAT gateway
$publicIpNatParams = @{
ResourceGroupName = 'test-rg'
Location = 'southcentralus'
Name = 'public-ip-nat'
AllocationMethod = 'Static'
Sku = 'Standard'
}
$publicIpNat = New-AzPublicIpAddress @publicIpNatParams
Użyj polecenia New-AzNatGateway, aby utworzyć bramę NAT.
$natGatewayParams = @{
ResourceGroupName = 'test-rg'
Name = 'nat-gateway'
PublicIpAddress = $publicIpNat
Sku = 'Standard'
IdleTimeoutInMinutes = 4
Location = 'South Central US'
}
$natGateway = New-AzNatGateway @natGatewayParams
Użyj Set-AzVirtualNetworkSubnetConfig, aby skojarzyć bramę translatora adresów sieciowych z podsiecią AzureFirewallSubnet.
# Get the AzureFirewallSubnet from the hub virtual network
$subnetParams = @{
VirtualNetwork = $hubVnet
Name = 'AzureFirewallSubnet'
}
$subnet = Get-AzVirtualNetworkSubnetConfig @subnetParams
$subnet.NatGateway = $natGateway
# Associate NAT gateway with AzureFirewallSubnet
$subnetParams = @{
VirtualNetwork = $hubVnet
Name = 'AzureFirewallSubnet'
AddressPrefix = '10.0.1.64/26'
NatGateway = $natGateway
}
Set-AzVirtualNetworkSubnetConfig @subnetParams
Użyj Set-AzVirtualNetwork, aby zaktualizować sieć wirtualną.
# Update the virtual network
$hubVnet | Set-AzVirtualNetwork
Użyj az network public-ip create, aby utworzyć publiczny adres IP dla bramy NAT.
# Variables
RESOURCE_GROUP="test-rg"
NAT_PUBLIC_IP_NAME="public-ip-nat"
ALLOCATION_METHOD="Static"
SKU="Standard"
az network public-ip create \
--resource-group $RESOURCE_GROUP \
--name $NAT_PUBLIC_IP_NAME \
--allocation-method $ALLOCATION_METHOD \
--sku $SKU
Użyj az network nat gateway create, aby utworzyć bramę NAT.
# Variables
RESOURCE_GROUP="test-rg"
NAT_GATEWAY_NAME="nat-gateway"
NAT_PUBLIC_IP_NAME="public-ip-nat"
IDLE_TIMEOUT="4"
az network nat gateway create \
--resource-group $RESOURCE_GROUP \
--name $NAT_GATEWAY_NAME \
--public-ip-address $NAT_PUBLIC_IP_NAME \
--idle-timeout $IDLE_TIMEOUT
Użyj az network vnet subnet update, aby skojarzyć bramkę NAT z AzureFirewallSubnet.
# Variables
RESOURCE_GROUP="test-rg"
VNET_HUB_NAME="vnet-hub"
FIREWALL_SUBNET_NAME="AzureFirewallSubnet"
NAT_GATEWAY_NAME="nat-gateway"
az network vnet subnet update \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_HUB_NAME \
--name $FIREWALL_SUBNET_NAME \
--nat-gateway $NAT_GATEWAY_NAME
Tworzenie sieci wirtualnej będącej szprychą
Sieć wirtualna szprych zawiera testową maszynę wirtualną używaną do testowania routingu ruchu internetowego do bramy translatora adresów sieciowych. Użyj poniższego przykładu, aby utworzyć sieć szprych.
W polu wyszukiwania w górnej części portalu wprowadź wartość Sieć wirtualna. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
Wybierz + Utwórz.
Na karcie Podstawy tworzenia sieci wirtualnej wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Szczegóły projektu |
|
Subskrypcja |
Wybierz subskrypcję. |
Grupa zasobów |
Wybierz pozycję test-rg. |
Szczegóły wystąpienia |
|
Nazwisko |
Wprowadź vnet-spoke. |
Region (Region) |
Wybierz pozycję Południowo-środkowe stany USA. |
Wybierz przycisk Dalej , aby przejść do karty Zabezpieczenia .
Wybierz przycisk Dalej , aby przejść do karty Adresy IP.
Na karcie Adresy IP w przestrzeni adresowej IPv4 wybierz pozycję Usuń przestrzeń adresową , aby usunąć przestrzeń adresową, która jest wypełniana automatycznie.
Wybierz pozycję + Dodaj przestrzeń adresową IPv4.
W przestrzeni adresowej IPv4 wprowadź wartość 10.1.0.0. Pozostaw wartość domyślną /16 (65 536 adresów) w zaznaczeniu maski.
Wybierz pozycję + Dodaj podsieć.
W obszarze Dodaj podsieć wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Cel podsieci |
Pozostaw wartość domyślną Domyślna. |
Nazwisko |
Wprowadź wartość subnet-private. |
Protokół IPv4 |
|
Zakres adresów IPv4 |
Pozostaw wartość domyślną 10.1.0.0/16. |
Adres początkowy |
Pozostaw wartość domyślną 10.1.0.0. |
Rozmiar |
Pozostaw wartość domyślną /24(256 adresów). |
Wybierz Dodaj.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
Użyj polecenia New-AzVirtualNetwork aby utworzyć sieć wirtualną typu 'spoke'.
# Create spoke virtual network
$vnetParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'vnet-spoke'
AddressPrefix = '10.1.0.0/16'
}
$spokeVnet = New-AzVirtualNetwork @vnetParams
Użyj polecenia Add-AzVirtualNetworkSubnetConfig , aby utworzyć podsieć dla sieci wirtualnej będącej szprychą.
# Create subnet in spoke virtual network
$subnetParams = @{
Name = 'subnet-private'
AddressPrefix = '10.1.0.0/24'
VirtualNetwork = $spokeVnet
}
Add-AzVirtualNetworkSubnetConfig @subnetParams
Użyj Set-AzVirtualNetwork, aby zaktualizować sieć wirtualną odgałęzienia.
# Create the virtual network
$spokeVnet | Set-AzVirtualNetwork
Użyj az network vnet create, aby utworzyć sieć wirtualną typu spoke.
# Variables
RESOURCE_GROUP="test-rg"
VNET_SPOKE_NAME="vnet-spoke"
VNET_SPOKE_ADDRESS_PREFIX="10.1.0.0/16"
SPOKE_SUBNET_NAME="subnet-private"
SPOKE_SUBNET_PREFIX="10.1.0.0/24"
az network vnet create \
--resource-group $RESOURCE_GROUP \
--name $VNET_SPOKE_NAME \
--address-prefix $VNET_SPOKE_ADDRESS_PREFIX \
--subnet-name $SPOKE_SUBNET_NAME \
--subnet-prefix $SPOKE_SUBNET_PREFIX
Tworzenie komunikacji równorzędnej między piastą i szprychą
Komunikacja równorzędna sieci wirtualnych służy do łączenia koncentratora z szprychą i szprychą z piastą. Skorzystaj z poniższego przykładu, aby utworzyć dwukierunkową komunikację równorzędną sieci między piastą i szprychą.
W polu wyszukiwania w górnej części portalu wprowadź wartość Sieć wirtualna. Wybierz pozycję Sieci wirtualne w wynikach wyszukiwania.
Wybierz pozycję vnet-hub.
Wybierz pozycję Komunikacja równorzędna w obszarze Ustawienia.
Wybierz + Dodaj.
Wprowadź lub wybierz następujące informacje w obszarze Dodawanie komunikacji równorzędnej:
Ustawienie |
Wartość |
Podsumowanie zdalnej sieci wirtualnej |
|
Nazwa łącza komunikacji równorzędnej |
Wprowadź vnet-spoke-to-vnet-hub. |
Model wdrażania sieci wirtualnej |
Pozostaw wartość domyślną usługi Resource Manager. |
Subskrypcja |
Wybierz subskrypcję. |
Sieć wirtualna |
Wybierz pozycję vnet-spoke (test-rg). |
Ustawienia zdalnej komunikacji równorzędnej sieci wirtualnej |
|
Zezwalaj "vnet-spoke" na dostęp do sieci wirtualnej koncentratora |
Pozostaw wartość domyślną Wybrane. |
Zezwalaj "vnet-spoke" na odbieranie przekazywanego ruchu z "vnet-hub" |
Zaznacz pole wyboru. |
Zezwalaj bramie lub serwerowi tras na "vnet-spoke" na przekazywanie ruchu do "vnet-hub" |
Pozostaw wartość domyślną Niezaznaczone. |
Włącz opcję "vnet-spoke", aby użyć bramy zdalnej lub serwera tras "vnet-hub" |
Pozostaw wartość domyślną Niezaznaczone. |
Podsumowanie lokalnej sieci wirtualnej |
|
Nazwa łącza komunikacji równorzędnej |
Wprowadź vnet-hub-to-vnet-spoke. |
Ustawienia lokalnej komunikacji równorzędnej sieci wirtualnych |
|
Zezwalaj "vnet-hub" na dostęp do "vnet-spoke" |
Pozostaw wartość domyślną Wybrane. |
Zezwalaj "vnet-hub" na odbieranie przekazywanego ruchu z "vnet-spoke" |
Zaznacz pole wyboru. |
Zezwalaj bramie lub serwerowi tras w sieci wirtualnej na przekazywanie ruchu do "vnet-spoke" |
Pozostaw wartość domyślną Niezaznaczone. |
Włącz opcję "vnet-hub", aby użyć zdalnej bramy lub serwera tras "vnet-spoke" |
Pozostaw wartość domyślną Niezaznaczone. |
Wybierz Dodaj.
Wybierz pozycję Odśwież i sprawdź, czy stan komunikacji równorzędnej to Połączono.
Użyj polecenia Add-AzVirtualNetworkPeering aby utworzyć peering sieciowy z hubu do spoke.
# Create peering from hub to spoke
$peeringParams = @{
Name = 'vnet-hub-to-vnet-spoke'
VirtualNetwork = $hubVnet
RemoteVirtualNetworkId = $spokeVnet.Id
AllowForwardedTraffic = $true
}
Add-AzVirtualNetworkPeering @peeringParams
Użyj polecenia Add-AzVirtualNetworkPeering, aby utworzyć peering z sieci spoke do hub.
# Create peering from spoke to hub
$peeringParams = @{
Name = 'vnet-spoke-to-vnet-hub'
VirtualNetwork = $spokeVnet
RemoteVirtualNetworkId = $hubVnet.Id
AllowForwardedTraffic = $true
}
Add-AzVirtualNetworkPeering @peeringParams
Użyj az network vnet peering create, aby utworzyć połączenie równorzędne z hubu do spoke.
# Variables
RESOURCE_GROUP="test-rg"
VNET_HUB_NAME="vnet-hub"
HUB_TO_SPOKE_PEERING_NAME="vnet-hub-to-vnet-spoke"
VNET_SPOKE_NAME="vnet-spoke"
az network vnet peering create \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_HUB_NAME \
--name $HUB_TO_SPOKE_PEERING_NAME \
--remote-vnet $VNET_SPOKE_NAME \
--allow-forwarded-traffic
Użyj polecenia az network vnet peering create , aby utworzyć komunikację równorzędną z szprychy do koncentratora.
# Variables
RESOURCE_GROUP="test-rg"
VNET_SPOKE_NAME="vnet-spoke"
SPOKE_TO_HUB_PEERING_NAME="vnet-spoke-to-vnet-hub"
VNET_HUB_NAME="vnet-hub"
az network vnet peering create \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_SPOKE_NAME \
--name $SPOKE_TO_HUB_PEERING_NAME \
--remote-vnet $VNET_HUB_NAME \
--allow-forwarded-traffic
Tworzenie tabeli tras sieciowych szprych
Tabela tras wymusza cały ruch opuszczający sieć wirtualną szprychy do sieci wirtualnej piasty. Tabela tras jest skonfigurowana przy użyciu prywatnego adresu IP usługi Azure Firewall jako urządzenia wirtualnego.
Uzyskiwanie prywatnego adresu IP zapory
Prywatny adres IP zapory jest wymagany dla tabeli tras utworzonej w dalszej części tego artykułu. Skorzystaj z poniższego przykładu, aby uzyskać prywatny adres IP zapory.
W polu wyszukiwania w górnej części portalu wprowadź wartość Zapora. Wybierz pozycję Zapory w wynikach wyszukiwania.
Wybierz pozycję Zapora.
W obszarze Przeglądzapory zanotuj adres IP w polu Prywatny adres IP zapory. Adres IP w tym przykładzie to 10.0.1.68.
Użyj Get-AzFirewall, aby uzyskać prywatny adres IP zapory.
# Get the private IP address of the firewall
$firewallParams = @{
ResourceGroupName = 'test-rg'
Name = 'firewall'
}
$firewall = Get-AzFirewall @firewallParams
$firewall.IpConfigurations[0].PrivateIpAddress
# Get the private IP address of the firewall
az network firewall show \
--resource-group test-rg \
--name firewall \
--query "ipConfigurations[0].privateIpAddress" \
--output tsv
Tworzenie tabeli tras
Utwórz tabelę tras, aby wymusić cały ruch wychodzący między szprychami i internetem przez zaporę w sieci wirtualnej piasty.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Tabela tras. Wybierz pozycję Tabele tras w wynikach wyszukiwania.
Wybierz + Utwórz.
W obszarze Tworzenie tabeli tras wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Szczegóły projektu |
|
Subskrypcja |
Wybierz subskrypcję. |
Grupa zasobów |
Wybierz pozycję test-rg. |
Szczegóły wystąpienia |
|
Region (Region) |
Wybierz pozycję Południowo-środkowe stany USA. |
Nazwisko |
Wprowadź ciąg route-table-spoke. |
Propagacja tras bramy |
Wybierz opcję Nie. |
Wybierz pozycję Przejrzyj i utwórz.
Wybierz pozycję Utwórz.
W polu wyszukiwania w górnej części portalu wprowadź ciąg Tabela tras. Wybierz pozycję Tabele tras w wynikach wyszukiwania.
Wybierz pozycję route-table-spoke.
W obszarze Ustawienia wybierz pozycję Trasy.
Wybierz pozycję + Dodaj w trasach.
Wprowadź lub wybierz następujące informacje w obszarze Dodawanie trasy:
Ustawienie |
Wartość |
Nazwa trasy |
Wprowadź ciąg route-to-hub. |
Typ docelowy |
Wybierz pozycję Adresy IP. |
Docelowe adresy IP/zakresy CIDR |
Wprowadź wartość 0.0.0.0/0. |
Typ następnego przeskoku |
Wybierz pozycję Urządzenie wirtualne. |
Adres następnego przeskoku |
Wprowadź wartość 10.0.1.68. |
Wybierz Dodaj.
Wybierz pozycję Podsieci w obszarze Ustawienia.
Wybierz pozycję + Skojarz.
Wprowadź lub wybierz następujące informacje w obszarze Kojarzenie podsieci:
Ustawienie |
Wartość |
Sieć wirtualna |
Wybierz pozycję vnet-spoke (test-rg). |
Podsieć |
Wybierz pozycję Podsieć-private. |
Wybierz przycisk OK.
Użyj polecenia cmdlet New-AzRouteTable, aby utworzyć tabelę tras.
# Create route table
$routeTableParams = @{
ResourceGroupName = 'test-rg'
Location = 'South Central US'
Name = 'route-table-spoke'
}
$routeTable = New-AzRouteTable @routeTableParams
Użyj polecenia Add-AzRouteConfig , aby utworzyć trasę w tabeli tras.
# Create route
$routeConfigParams = @{
Name = 'route-to-hub'
AddressPrefix = '0.0.0.0/0'
NextHopType = 'VirtualAppliance'
NextHopIpAddress = $firewall.IpConfigurations[0].PrivateIpAddress
RouteTable = $routeTable
}
Add-AzRouteConfig @routeConfigParams
Użyj Set-AzRouteTable, aby zaktualizować tabelę tras.
# Update the route table
$routeTable | Set-AzRouteTable
Użyj Set-AzVirtualNetworkSubnetConfig, aby skojarzyć tabelę tras z podsiecią sieci podporządkowanej.
# Associate route table with subnet
$subnetConfigParams = @{
VirtualNetwork = $spokeVnet
Name = 'subnet-private'
AddressPrefix = '10.1.0.0/24'
RouteTable = $routeTable
}
Set-AzVirtualNetworkSubnetConfig @subnetConfigParams
Użyj Set-AzVirtualNetwork, aby zaktualizować sieć wirtualną odgałęzienia.
# Update the virtual network
$spokeVnet | Set-AzVirtualNetwork
Użyj polecenia az network route-table create aby utworzyć tabelę tras.
# Variables
RESOURCE_GROUP="test-rg"
ROUTE_TABLE_NAME="route-table-spoke"
LOCATION="southcentralus"
az network route-table create \
--resource-group $RESOURCE_GROUP \
--name $ROUTE_TABLE_NAME \
--location $LOCATION
Użyj az network route-table route create, aby utworzyć trasę.
# Variables
RESOURCE_GROUP="test-rg"
ROUTE_TABLE_NAME="route-table-spoke"
ROUTE_NAME="route-to-hub"
ADDRESS_PREFIX="0.0.0.0/0"
NEXT_HOP_TYPE="VirtualAppliance"
NEXT_HOP_IP="10.0.1.68"
az network route-table route create \
--resource-group $RESOURCE_GROUP \
--route-table-name $ROUTE_TABLE_NAME \
--name $ROUTE_NAME \
--address-prefix $ADDRESS_PREFIX \
--next-hop-type $NEXT_HOP_TYPE \
--next-hop-ip-address $NEXT_HOP_IP
Użyj az network vnet subnet update, aby skojarzyć tabelę tras z podsiecią.
# Variables
RESOURCE_GROUP="test-rg"
VNET_SPOKE_NAME="vnet-spoke"
SPOKE_SUBNET_NAME="subnet-private"
ROUTE_TABLE_NAME="route-table-spoke"
az network vnet subnet update \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_SPOKE_NAME \
--name $SPOKE_SUBNET_NAME \
--route-table $ROUTE_TABLE_NAME
Ruch ze szprychy przez piastę musi być dozwolony za pośrednictwem zasad zapory i reguły sieciowej. Użyj poniższego przykładu, aby utworzyć zasady zapory i regułę sieci.
W polu wyszukiwania w górnej części portalu wprowadź wartość Zapora. Wybierz pozycję Zasady zapory w wynikach wyszukiwania.
Wybierz pozycję Firewall-policy (Zasady zapory).
Rozwiń węzeł Ustawienia , a następnie wybierz pozycję Reguły sieci.
Wybierz pozycję + Dodaj kolekcję reguł.
W obszarze Dodawanie kolekcji reguł wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Nazwisko |
Wprowadź szprychę do Internetu. |
Typ kolekcji reguł |
Wybierz pozycję Sieć. |
Priorytet |
Wprowadź wartość 100. |
Akcja zbierania reguł |
Zaznacz Zezwól. |
Grupa kolekcji reguł |
Wybierz pozycję DefaultNetworkRuleCollectionGroup. |
Reguły |
|
Nazwisko |
Wprowadź wartość allow-web. |
Typ źródła |
Adres IP. |
Źródło |
Wprowadź 10.1.0.0/24. |
Protokół |
Wybierz pozycję TCP. |
Porty docelowe |
Wprowadź wartość 80 443. |
Typ miejsca docelowego |
Wybierz pozycję Adres IP. |
Element docelowy |
Wejść* |
Wybierz Dodaj.
Użyj polecenia Get-AzFirewallPolicy, aby uzyskać istniejącą politykę zapory.
# Get the existing firewall policy
$firewallPolicyParams = @{
Name = 'firewall-policy'
ResourceGroupName = 'test-rg'
}
$firewallPolicy = Get-AzFirewallPolicy @firewallPolicyParams
Użyj New-AzFirewallPolicyNetworkRule, aby utworzyć regułę sieci.
# Create a network rule for web traffic
$networkRuleParams = @{
Name = 'allow-internet'
SourceAddress = '10.1.0.0/24'
Protocol = 'TCP'
DestinationAddress = '*'
DestinationPort = '*'
}
$networkRule = New-AzFirewallPolicyNetworkRule @networkRuleParams
Użyj New-AzFirewallPolicyFilterRuleCollection, aby utworzyć kolekcję reguł dla reguły sieciowej.
# Create a rule collection for the network rule
$ruleCollectionParams = @{
Name = 'spoke-to-internet'
Priority = 100
Rule = $networkRule
ActionType = 'Allow'
}
$ruleCollection = New-AzFirewallPolicyFilterRuleCollection @ruleCollectionParams
Użyj polecenia New-AzFirewallPolicyRuleCollectionGroup, aby utworzyć grupę kolekcji reguł.
$newRuleCollectionGroupParams = @{
Name = 'DefaultNetworkRuleCollectionGroup'
Priority = 200
FirewallPolicyObject = $firewallPolicy
RuleCollection = $ruleCollection
}
New-AzFirewallPolicyRuleCollectionGroup @newRuleCollectionGroupParams
Użyj polecenia az network firewall policy rule-collection-group create, aby utworzyć grupę zbioru reguł.
# Variables
RULE_COLLECTION_GROUP_NAME="DefaultNetworkRuleCollectionGroup"
FIREWALL_POLICY_NAME="firewall-policy"
RESOURCE_GROUP="test-rg"
PRIORITY="200"
az network firewall policy rule-collection-group create \
--name $RULE_COLLECTION_GROUP_NAME \
--policy-name $FIREWALL_POLICY_NAME \
--resource-group $RESOURCE_GROUP \
--priority $PRIORITY
Użyj az network firewall policy rule-collection-group collection add-filter-collection , aby utworzyć kolekcję reguł sieciowych.
# Variables
COLLECTION_NAME="spoke-to-internet"
ACTION="Allow"
RULE_NAME="allow-web"
RULE_TYPE="NetworkRule"
SOURCE_ADDRESSES="10.1.0.0/24"
IP_PROTOCOLS="TCP"
DESTINATION_ADDRESSES="*"
DESTINATION_PORTS="*"
COLLECTION_PRIORITY="100"
FIREWALL_POLICY_NAME="firewall-policy"
RESOURCE_GROUP="test-rg"
RULE_COLLECTION_GROUP_NAME="DefaultNetworkRuleCollectionGroup"
az network firewall policy rule-collection-group collection add-filter-collection \
--name $COLLECTION_NAME \
--action $ACTION \
--rule-name $RULE_NAME \
--rule-type $RULE_TYPE \
--source-addresses $SOURCE_ADDRESSES \
--ip-protocols $IP_PROTOCOLS \
--destination-addresses $DESTINATION_ADDRESSES \
--destination-ports $DESTINATION_PORTS \
--collection-priority $COLLECTION_PRIORITY \
--policy-name $FIREWALL_POLICY_NAME \
--resource-group $RESOURCE_GROUP \
--rule-collection-group-name $RULE_COLLECTION_GROUP_NAME
Tworzenie testowej maszyny wirtualnej
Maszyna wirtualna z systemem Ubuntu służy do testowania wychodzącego ruchu internetowego za pośrednictwem bramy translatora adresów sieciowych. Użyj poniższego przykładu, aby utworzyć maszynę wirtualną z systemem Ubuntu.
W portalu wyszukaj i wybierz pozycję Maszyny wirtualne.
W obszarze Maszyny wirtualne wybierz pozycję + Utwórz, a następnie maszynę wirtualną platformy Azure.
Na karcie Podstawy tworzenia maszyny wirtualnej wprowadź lub wybierz następujące informacje:
Ustawienie |
Wartość |
Szczegóły projektu |
|
Subskrypcja |
Wybierz subskrypcję. |
Grupa zasobów |
Wybierz pozycję test-rg. |
Szczegóły wystąpienia |
|
Nazwa maszyny wirtualnej |
Wprowadź wartość vm-spoke. |
Region (Region) |
Wybierz pozycję (USA) Południowo-środkowe stany USA. |
Opcje dostępności |
Wybierz pozycję Brak wymaganej nadmiarowości infrastruktury. |
Typ zabezpieczeń |
Pozostaw wartość domyślną standardu. |
Obraz |
Wybierz pozycję Ubuntu Server 24.04 LTS — x64 Gen2. |
Architektura maszyny wirtualnej |
Pozostaw wartość domyślną x64. |
Rozmiar |
Wybierz rozmiar. |
Konto administratora |
|
Typ uwierzytelniania |
Wybierz pozycję Hasło. |
Nazwa użytkownika |
Wprowadź azureuser. |
Hasło |
Wprowadź hasło. |
Potwierdź hasło |
Wprowadź ponownie hasło. |
Reguły portów przychodzących |
|
Publiczne porty ruchu przychodzącego |
Wybierz pozycję Brak. |
Wybierz kartę Sieć w górnej części strony lub wybierz pozycję Dalej:Dyski, a następnie Pozycję Dalej:Sieć.
Wprowadź lub wybierz następujące informacje na karcie Sieć :
Ustawienie |
Wartość |
Interfejs sieciowy |
|
Sieć wirtualna |
Wybierz pozycję vnet-spoke. |
Podsieć |
Wybierz pozycję subnet-private (10.1.0.0/24). |
Publiczny adres IP |
Wybierz pozycję Brak. |
Sieciowa grupa zabezpieczeń karty sieciowej |
Wybierz opcję Zaawansowane. |
Konfigurowanie sieciowej grupy zabezpieczeń |
Wybierz pozycjęUtwórz nowy.
Wprowadź nazwę nsg-1 .
Pozostaw wartości domyślne pozostałych i wybierz przycisk OK. |
Pozostaw pozostałe ustawienia domyślne i wybierz pozycję Przejrzyj i utwórz.
Przejrzyj ustawienia i wybierz pozycję Utwórz.
Przed przejściem do następnych kroków poczekaj na zakończenie wdrażania maszyny wirtualnej.
Uwaga
Maszyny wirtualne w sieci wirtualnej z hostem bastionu nie wymagają publicznych adresów IP. Usługa Bastion udostępnia publiczny adres IP, a maszyny wirtualne używają prywatnych adresów IP do komunikacji w sieci. Publiczne adresy IP można usunąć ze wszystkich maszyn wirtualnych w sieciach wirtualnych hostowanych w bastionie. Aby uzyskać więcej informacji, zobacz Usuwanie skojarzenia publicznego adresu IP z maszyny wirtualnej platformy Azure.
Użyj polecenia New-AzNetworkSecurityGroup, aby utworzyć grupę zabezpieczeń sieci.
$nsgParams = @{
ResourceGroupName = "test-rg"
Name = "nsg-1"
Location = "southcentralus"
}
New-AzNetworkSecurityGroup @nsgParams
Użyj New-AzNetworkInterface, aby utworzyć interfejs sieciowy.
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-1"
SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-spoke").Subnets[0].Id
NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-1").Id
Location = "southcentralus"
}
New-AzNetworkInterface @nicParams
Użyj Get-Credential, aby ustawić nazwę użytkownika i hasło dla maszyny wirtualnej i zapisać je w zmiennej $cred
.
$cred = Get-Credential
Uwaga
Nazwa użytkownika jest wymagana dla maszyny wirtualnej. Hasło jest opcjonalne i nie jest używane w przypadku ustawienia. Konfiguracja klucza SSH jest zalecana dla maszyn wirtualnych z systemem Linux.
Użyj New-AzVMConfig, aby zdefiniować maszynę wirtualną.
$vmConfigParams = @{
VMName = "vm-spoke"
VMSize = "Standard_DS4_v2"
}
$vmConfig = New-AzVMConfig @vmConfigParams
Użyj polecenia Set-AzVMOperatingSystem i polecenia Set-AzVMSourceImage, aby utworzyć pozostałą część konfiguracji maszyny wirtualnej. Poniższy przykład tworzy maszynę wirtualną z systemem Ubuntu Server:
$osParams = @{
VM = $vmConfig
ComputerName = "vm-spoke"
Credential = $cred
}
$vmConfig = Set-AzVMOperatingSystem @osParams -Linux -DisablePasswordAuthentication
$imageParams = @{
VM = $vmConfig
PublisherName = "Canonical"
Offer = "ubuntu-24_04-lts"
Skus = "server"
Version = "latest"
}
$vmConfig = Set-AzVMSourceImage @imageParams
Użyj polecenia Add-AzVMNetworkInterface , aby dołączyć wcześniej utworzoną kartę sieciową do maszyny wirtualnej.
# Get the network interface object
$nicParams = @{
ResourceGroupName = "test-rg"
Name = "nic-1"
}
$nic = Get-AzNetworkInterface @nicParams
$vmConfigParams = @{
VM = $vmConfig
Id = $nic.Id
}
$vmConfig = Add-AzVMNetworkInterface @vmConfigParams
Użyj New-AzVM, aby utworzyć maszynę wirtualną. Polecenie generuje klucze SSH dla maszyny wirtualnej na potrzeby logowania. Zanotuj lokalizację klucza prywatnego. Klucz prywatny jest potrzebny w kolejnych krokach na potrzeby nawiązywania połączenia z maszyną wirtualną za pomocą usługi Azure Bastion.
$vmParams = @{
VM = $vmConfig
ResourceGroupName = "test-rg"
Location = "southcentralus"
SshKeyName = "ssh-key"
}
New-AzVM @vmParams -GenerateSshKey
Użyj az network nsg create, aby utworzyć grupę zabezpieczeń sieci.
# Variables
RESOURCE_GROUP="test-rg"
NSG_NAME="nsg-1"
LOCATION="southcentralus"
az network nsg create \
--resource-group $RESOURCE_GROUP \
--name $NSG_NAME \
--location $LOCATION
Użyj az network nic create, aby utworzyć interfejs sieciowy.
# Variables
RESOURCE_GROUP="test-rg"
NIC_NAME="vm-spoke-nic"
VNET_SPOKE_NAME="vnet-spoke"
SPOKE_SUBNET_NAME="subnet-private"
NSG_NAME="nsg-1"
az network nic create \
--resource-group $RESOURCE_GROUP \
--name $NIC_NAME \
--vnet-name $VNET_SPOKE_NAME \
--subnet $SPOKE_SUBNET_NAME \
--network-security-group $NSG_NAME
Użyj az vm create, aby utworzyć maszynę wirtualną.
# Variables
RESOURCE_GROUP="test-rg"
VM_NAME="vm-spoke"
LOCATION="southcentralus"
NIC_NAME="vm-spoke-nic"
VM_IMAGE="Ubuntu2204"
ADMIN_USERNAME="azureuser"
az vm create \
--resource-group $RESOURCE_GROUP \
--name $VM_NAME \
--location $LOCATION \
--nics $NIC_NAME \
--image $VM_IMAGE \
--admin-username $ADMIN_USERNAME \
--generate-ssh-keys
Testowanie bramy translatora adresów sieciowych
Połączysz się z maszynami wirtualnymi z systemem Ubuntu utworzonymi w poprzednich krokach, aby sprawdzić, czy wychodzący ruch internetowy opuszcza bramę translatora adresów sieciowych.
Uzyskiwanie publicznego adresu IP bramy translatora adresów sieciowych
Uzyskaj publiczny adres IP bramy translatora adresów sieciowych w celu weryfikacji kroków w dalszej części artykułu.
W polu wyszukiwania w górnej części portalu wprowadź publiczny adres IP. Wybierz pozycję Publiczne adresy IP w wynikach wyszukiwania.
Wybierz pozycję public-ip-nat.
Zanotuj wartość w adresie IP. Przykład używany w tym artykule to 203.0.113.0.25.
Użyj polecenia Get-AzPublicIpAddress aby uzyskać publiczny adres IP bramy NAT.
# Get the public IP address of the NAT gateway
$publicIpNatParams = @{
ResourceGroupName = 'test-rg'
Name = 'public-ip-nat'
}
$publicIpNat = Get-AzPublicIpAddress @publicIpNatParams
$publicIpNat.IpAddress
Użyj az network public-ip show, aby uzyskać publiczny adres IP bramy NAT.
# Variables
RESOURCE_GROUP="test-rg"
NAT_PUBLIC_IP_NAME="public-ip-nat"
az network public-ip show \
--resource-group $RESOURCE_GROUP \
--name $NAT_PUBLIC_IP_NAME \
--query "ipAddress" \
--output tsv
Testowanie bramy translatora adresów sieciowych z szprychy
W polu wyszukiwania w górnej części portalu wprowadź ciąg Maszyna wirtualna. Wybierz pozycję Maszyny wirtualne w wynikach wyszukiwania.
Wybierz pozycję vm-spoke.
W obszarze Przegląd wybierz pozycję Połącz, a następnie pozycję Połącz za pośrednictwem usługi Bastion.
Wybierz pozycję SSH jako typ połączenia. Przekaż plik klucza prywatnego SSH. Wybierz pozycję Połącz.
W wierszu polecenia powłoki bash wprowadź następujące polecenie:
curl ifconfig.me
Sprawdź, czy adres IP zwrócony przez polecenie jest zgodny z publicznym adresem IP bramy translatora adresów sieciowych.
azureuser@vm-1:~$ curl ifconfig.me
203.0.113.0.25
Zamknij połączenie usługi Bastion z maszyną wirtualną-szprychą.
Po zakończeniu korzystania z utworzonych zasobów możesz usunąć grupę zasobów i wszystkie jej zasoby.
W witrynie Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.
Na stronie Grupy zasobów wybierz grupę zasobów test-rg.
Na stronie test-rg wybierz pozycję Usuń grupę zasobów.
Wprowadź ciąg test-rg w polu Wprowadź nazwę grupy zasobów, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.
Użyj az group delete aby usunąć grupę zasobów.
# Variables
RESOURCE_GROUP="test-rg"
az group delete \
--name $RESOURCE_GROUP \
--yes \
--no-wait
Następne kroki
Przejdź do następnego artykułu, aby dowiedzieć się, jak zintegrować bramę translatora adresów sieciowych z usługą Azure Load Balancer: