Узнайте, как создать и удалить ресурс шлюза NAT из подсети виртуальной сети. Шлюз NAT обеспечивает исходящее подключение для ресурсов в виртуальная сеть Azure. Вы можете изменить общедоступные IP-адреса и префиксы общедоступных IP-адресов, связанные с шлюзом NAT после развертывания.
В этой статье объясняется, как управлять следующими аспектами шлюза NAT:
Создайте шлюз NAT и свяжите его с существующей подсетью.
Удалите шлюз NAT из существующей подсети и удалите шлюз NAT.
Добавьте или удалите общедоступный IP-адрес или префикс общедоступного IP-адреса.
Пример виртуальной сети, используемой в этой статье, называется виртуальной сетью-1.
Пример подсети называется подсетью-1.
Пример шлюза NAT называется nat-gateway.
Чтобы использовать Azure PowerShell для этой статьи, вам потребуется:
Локальная установка Azure PowerShell или Azure Cloud Shell.
Чтобы установить и использовать PowerShell локально, для работы с этой статьей вам понадобится модуль Azure PowerShell 5.4.1 или более поздней версии. Выполните командлет Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell.
При локальном запуске PowerShell необходимо также запустить Connect-AzAccount для создания подключения к Azure.
Убедитесь, что модуль Az.Network равен 4.3.0 или более поздней версии. Чтобы проверить установленный модуль, используйте команду Get-InstalledModule -Name "Az.Network". Если для модуля требуется обновление, используйте команду Update-Module -Name Az.Network.
Войдите в Azure PowerShell и выберите подписку, которую вы хотите использовать. Дополнительные сведения см. в статье Вход с помощью Azure PowerShell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
В поле поиска в верхней части портал Azure введите шлюз NAT. В результатах поиска выберите NAT-шлюзы.
Выберите + Создать.
Введите или выберите следующие сведения на вкладке "Основные сведения" шлюза создания сетевых адресов (NAT).
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите группу ресурсов или нажмите кнопку "Создать" , чтобы создать новую группу ресурсов.
Сведения об экземпляре
Имя шлюза NAT
Введите nat-gateway.
Область/регион
Выберите свой регион. В этом примере используется восточная часть США 2.
Availability zone
Выберите "Нет зоны". Дополнительные сведения о доступности шлюза NAT см. в разделе "Шлюз NAT" и "Зоны доступности".
Время ожидания простоя TCP (минуты)
Выберите значение по умолчанию 4.
Выберите вкладку Исходящий IP-адрес или нажмите кнопку Далее: исходящий IP-адрес.
Можно выбрать существующий общедоступный IP-адрес или префикс или оба, чтобы связаться с шлюзом NAT и включить исходящее подключение.
Чтобы создать общедоступный IP-адрес для шлюза NAT, выберите "Создать новый общедоступный IP-адрес". Введите public-ip-nat в name. Нажмите ОК.
Чтобы создать новый префикс общедоступного IP-адреса для шлюза NAT, выберите "Создать новый префикс общедоступного IP-адреса". Введите public-ip-prefix-nat в name. Выберите размер префикса. Нажмите ОК.
Перейдите на вкладку "Подсеть" или нажмите кнопку "Далее".
Выберите свою виртуальную сеть. В этом примере выберите vnet-1 в раскрывающемся списке.
Установите флажок рядом с подсетью-1.
Выберите Review + create (Просмотреть и создать).
Нажмите кнопку создания.
Общедоступный IP-адрес
Чтобы создать шлюз NAT с общедоступным IP-адресом, выполните следующие команды PowerShell.
# Specify the resource group and NAT gateway name
$resourceGroupName = "test-rg"
# Specify the virtual network name and subnet name
$virtualNetworkName = "vnet-1"
$subnetName = "subnet-1"
# Get the virtual network
$vnet = @{
Name = $virtualNetworkName
ResourceGroupName = $resourceGroupName
}
$virtualNetwork = Get-AzVirtualNetwork @vnet
# Get the subnet
$subnet = $virtualNetwork.Subnets | Where-Object {$_.Name -eq $subnetName}
# Remove the NAT gateway association from the subnet
$subnet.NatGateway = $null
# Update the subnet configuration
$subConfig = @{
Name = $subnetName
VirtualNetwork = $virtualNetwork
AddressPrefix = $subnet.AddressPrefix
}
Set-AzVirtualNetworkSubnetConfig @subConfig
# Update the virtual network
Set-AzVirtualNetwork -VirtualNetwork $virtualNetwork
В поле поиска в верхней части портал Azure введите общедоступный IP-адрес. В результатах поиска выберите элемент Общедоступный IP-адрес.
Нажмите кнопку создания.
Введите следующие сведения в разделе "Создание общедоступного IP-адреса".
Параметр
Значение
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите группу ресурсов. В примере используется test-rg.
Область/регион
выберите регион. В этом примере используется восточная часть США 2.
Имя.
Введите public-ip-nat2.
Версия протокола IP-адресов
Выберите IPv4.
номер SKU
Выберите Стандартное.
Availability zone
Выберите значение по умолчанию, избыточное между зонами.
Уровень
Выберите Региональный.
Выберите Просмотр и создание, а затем нажмите кнопку Создать.
В поле поиска в верхней части портал Azure введите шлюз NAT. В результатах поиска выберите NAT-шлюзы.
Выберите nat-gateway.
В разделе "Параметры" выберите исходящий IP-адрес.
Отображаются IP-адреса и префиксы, связанные с шлюзом NAT. Рядом с общедоступными IP-адресами нажмите кнопку "Изменить".
Рядом с общедоступными IP-адресами выберите раскрывающийся список для IP-адресов. Выберите IP-адрес, созданный для добавления в шлюз NAT. Чтобы удалить адрес, удалите его.
Нажмите ОК.
Выберите Сохранить.
Добавление общедоступного IP-адреса
Чтобы добавить общедоступный IP-адрес в шлюз NAT, добавьте его в объект массива вместе с текущими IP-адресами. Командлеты PowerShell заменяют все адреса.
В этом примере существующий IP-адрес, связанный с шлюзом NAT, называется public-ip-nat. Замените это значение массивом, который содержит как общедоступный IP-nat, так и новый IP-адрес. Если у вас уже настроено несколько IP-адресов, необходимо также добавить их в массив.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
}
New-AzPublicIpAddress @ip
Используйте Set-AzNatGateway , чтобы добавить общедоступный IP-адрес в шлюз NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the public IP address you created previously into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPaddress @ip
## Place the public IP address variables into an array. ##
$pipArray = $publicIP1,$publicIP2
## Add the IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
Удаление общедоступного IP-адреса
Чтобы удалить общедоступный IP-адрес из шлюза NAT, создайте объект массива, который не содержит IP-адрес, который требуется удалить. Например, у вас есть шлюз NAT, настроенный с двумя общедоступными IP-адресами. Вы хотите удалить один из IP-адресов. IP-адреса, связанные со шлюзом NAT, называются public-ip-nat и public-ip-nat2. Чтобы удалить public-ip-nat2, создайте объект массива для команды PowerShell, содержащей только public-ip-nat. При применении команды массив повторно применяется к шлюзу NAT, а общедоступный IP-адрес — единственный связанный общедоступный IP-адрес.
Используйте Set-AzNatGateway , чтобы удалить общедоступный IP-адрес из шлюза NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP address associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
}
$publicIP1 = Get-AzPublicIPaddress @ip
## Place the second public IP address into a variable. ##
$ip = @{
Name = 'public-ip-nat2'
ResourceGroupName = 'test-rg'
}
$publicIP2 = Get-AzPublicIPAddress @ip
## Place ONLY the public IP you wish to keep in the array. ##
$pipArray = $publicIP1
## Add the public IP address to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpAddress = $pipArray
}
Set-AzNatGateway @nt
Добавление общедоступного IP-адреса
В этом примере существующий общедоступный IP-адрес, связанный с шлюзом NAT, называется public-ip-nat.
az network public-ip create \
--resource-group test-rg \
--location eastus2 \
--name public-ip-nat2 \
--sku standard
Используйте az network nat gateway update , чтобы добавить общедоступный IP-адрес, созданный в шлюз NAT. Команда Azure CLI заменяет значения. Он не добавляет новое значение. Чтобы добавить новый IP-адрес в шлюз NAT, необходимо также включить любые другие IP-адреса, связанные с шлюзом NAT.
Используйте az network nat gateway update , чтобы удалить общедоступный IP-адрес из шлюза NAT. Команда Azure CLI заменяет значения. Он не удаляет значение. Чтобы удалить общедоступный IP-адрес, добавьте любой IP-адрес в команду, которую вы хотите сохранить. Опустите значение, которое нужно удалить. Например, у вас есть шлюз NAT, настроенный с двумя общедоступными IP-адресами. Вы хотите удалить один из IP-адресов. IP-адреса, связанные со шлюзом NAT, называются public-ip-nat и public-ip-nat2. Чтобы удалить public-ip-nat2, опустите имя IP-адреса из команды. Команда повторно применяет IP-адреса, перечисленные в команде, к шлюзу NAT. Он удаляет любой IP-адрес, не указанный.
Выберите размер префикса. В этом примере используется /28 (16 адресов).
Выберите Проверить и создать, а затем выберите Создать.
В поле поиска в верхней части портал Azure введите шлюз NAT. В результатах поиска выберите NAT-шлюзы.
Выберите nat-gateway.
В разделе "Параметры" выберите исходящий IP-адрес.
На странице отображаются IP-адреса и префиксы, связанные с шлюзом NAT. Рядом с префиксами общедоступного IP-адреса нажмите кнопку "Изменить".
Рядом с префиксами общедоступного IP-адреса выберите раскрывающийся список. Выберите префикс IP-адреса, созданный для добавления префикса в шлюз NAT. Чтобы удалить префикс, удалите его.
Нажмите ОК.
Выберите Сохранить.
Добавление префикса общедоступного IP-адреса
Чтобы добавить префикс общедоступного IP-адреса в шлюз NAT, добавьте его в объект массива вместе с текущими префиксами IP-адресов. Командлеты PowerShell заменяют все префиксы IP-адресов.
В этом примере существующий префикс общедоступного IP-адреса, связанный со шлюзом NAT, называется public-ip-prefix-nat. Замените это значение массивом, который содержит префикс public-ip-prefix-nat и новый префикс IP-адреса. Если у вас уже настроено несколько префиксов IP-адресов, их также необходимо добавить в массив.
Используйте New-AzPublicIpPrefix , чтобы создать новый префикс общедоступного IP-адреса для шлюза NAT.
## Create public IP prefix for NAT gateway ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
PrefixLength = '29'
}
New-AzPublicIpPrefix @ip
Используйте Set-AzNatGateway , чтобы добавить префикс общедоступного IP-адреса в шлюз NAT.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the public IP prefix you created previously into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place the public IP address variables into an array. ##
$preArray = $prefixIP1,$prefixIP2
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
Удаление префикса общедоступного IP-адреса
Чтобы удалить префикс общедоступного IP-адреса из шлюза NAT, создайте объект массива, который не содержит префикс IP-адреса, который требуется удалить. Например, у вас есть шлюз NAT, настроенный с двумя префиксами общедоступного IP-адреса. Необходимо удалить один из префиксов IP. Префиксы IP-адресов, связанные со шлюзом NAT, называются public-ip-prefix-nat и public-ip-prefix-nat2. Чтобы удалить public-ip-prefix-nat2, создайте объект массива для команды PowerShell, содержащей только public-ip-prefix-nat. При применении команды массив повторно применяется к шлюзу NAT, а общедоступный ip-префикс-nat является единственным префиксом.
## Place NAT gateway into a variable. ##
$ng = @{
Name = 'nat-gateway'
ResourceGroupName = 'test-rg'
}
$nat = Get-AzNatGateway @ng
## Place the existing public IP prefix associated with the NAT gateway into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat'
ResourceGroupName = 'test-rg'
}
$prefixIP1 = Get-AzPublicIPPrefix @ip
## Place the secondary public IP prefix into a variable. ##
$ip = @{
Name = 'public-ip-prefix-nat2'
ResourceGroupName = 'test-rg'
}
$prefixIP2 = Get-AzPublicIPprefix @ip
## Place ONLY the prefix you wish to keep in the array. DO NOT ADD THE SECONDARY VARIABLE ##
$preArray = $prefixIP1
## Add the IP address prefix to the NAT gateway. ##
$nt = @{
NatGateway = $nat
PublicIpPrefix = $preArray
}
Set-AzNatGateway @nt
Добавление префикса общедоступного IP-адреса
В этом примере существующий префикс общедоступного IP-адреса, связанный со шлюзом NAT, называется public-ip-prefix-nat.
Используйте az network nat gateway update , чтобы добавить префикс общедоступного IP-адреса, созданный в шлюз NAT. Команда Azure CLI заменяет значения. Он не добавляет значение. Чтобы добавить новый префикс IP-адреса в шлюз NAT, необходимо также включить любые другие префиксы IP-адресов, связанные с шлюзом NAT.
Используйте az network nat gateway update , чтобы удалить префикс общедоступного IP-адреса из шлюза NAT. Команда Azure CLI заменяет значения. Он не удаляет значение. Чтобы удалить префикс общедоступного IP-адреса, добавьте любой префикс в команду, которую вы хотите сохранить. Опустите тот, который вы хотите удалить. Например, у вас есть шлюз NAT, настроенный с двумя префиксами общедоступного IP-адреса. Вы хотите удалить один из префиксов. Префиксы IP-адресов, связанные со шлюзом NAT, называются public-ip-prefix-nat и public-ip-prefix-nat2. Чтобы удалить общедоступный ip-префикс-nat2, опустите имя префикса IP из команды. Команда повторно применяет префиксы IP-адресов, перечисленные в команде, к шлюзу NAT. Он удаляет любой IP-адрес, не указанный.