Создание VPN-шлюза на основе маршрутов с помощью PowerShell

Эта статья поможет быстро создать VPN-шлюз Azure на основе маршрутов, используя PowerShell. VPN-шлюз используется при создании VPN-подключения к локальной сети. Также вы можете использовать VPN-шлюз для подключения виртуальных сетей.

VPN-шлюз — это лишь одна часть архитектуры подключения, помогая безопасно обращаться к ресурсам в виртуальной сети.

Схема с виртуальной сетью и VPN-шлюзом.

  • В левой части схемы показана виртуальная сеть и VPN-шлюз, создаваемый с помощью действий, описанных в этой статье.
  • Позже можно добавить различные типы подключений, как показано в правой части схемы. Например, можно создавать подключения типа "сеть — сеть" и "точка — сеть". Чтобы просмотреть различные архитектуры проектирования, которые можно создать, см . проект VPN-шлюза.

Подготовка к работе

Инструкции в этой статье позволяют создать виртуальную сеть, подсеть, подсеть шлюза и VPN-шлюз на основе маршрутов (шлюз виртуальной сети). Создав шлюз, можно создавать подключения. Для этих действий требуется подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Работа с Azure PowerShell

В этой статье используются командлеты PowerShell. Для запуска командлетов можно использовать Azure Cloud Shell. Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, просто выберите Open Cloudshell в правом верхнем углу блока кода. Кроме того, Cloud Shell можно открыть в отдельной вкладке браузера. Для этого перейдите на страницу https://shell.azure.com/powershell. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте их в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить код.

Кроме того, вы можете установить и запускать командлеты Azure PowerShell локально на компьютере. Командлеты PowerShell часто обновляются. Если вы не установили последнюю версию, значения, указанные в инструкциях, могут завершиться ошибкой. Чтобы узнать, какая версия Azure PowerShell установлена на вашем компьютере, используйте командлет Get-Module -ListAvailable Az. Если необходимо выполнить установку или обновление, см. статью об установке модуля Azure PowerShell.

Создание или изменение группы ресурсов

Создайте группу ресурсов Azure с помощью командлета New-AzResourceGroup. Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими. Если модуль PowerShell запущен локально, откройте консоль PowerShell с более высоким уровнем привилегий и подключитесь к Azure с помощью команды Connect-AzAccount.

New-AzResourceGroup -Name TestRG1 -Location EastUS

Создание виртуальной сети

Создайте виртуальную сеть с помощью командлета New-AzVirtualNetwork. В следующем примере создается виртуальная сеть с именем VNet1 в расположении EastUS.

$virtualNetwork = New-AzVirtualNetwork `
  -ResourceGroupName TestRG1 `
  -Location EastUS `
  -Name VNet1 `
  -AddressPrefix 10.1.0.0/16

Создайте конфигурацию подсети с помощью командлета New-AzVirtualNetworkSubnetConfig.

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Frontend `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualNetwork

Задайте конфигурацию подсети для виртуальной сети с помощью командлета Set-AzVirtualNetwork.

$virtualNetwork | Set-AzVirtualNetwork

добавить подсеть шлюза;

Подсеть шлюза содержит зарезервированные IP-адреса, используемые службами шлюза виртуальной сети. Используйте следующие примеры для добавления подсети шлюза:

Задайте переменную для виртуальной сети.

$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1

Создайте подсеть шлюза с помощью командлета Add-AzVirtualNetworkSubnetConfig.

Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet

Задайте конфигурацию подсети для виртуальной сети с помощью командлета Set-AzVirtualNetwork.

$vnet | Set-AzVirtualNetwork

Запрос общедоступного IP-адреса

VPN-шлюз должен иметь выделенный общедоступный IP-адрес. При создании подключения к шлюзу VPN это — IP-адрес, который вы указываете. Используйте следующий пример, чтобы запросить общедоступный IP-адрес. Обратите внимание, что если вы хотите создать VPN-шлюз с помощью номера SKU шлюза "Базовый", используйте следующие значения при запросе общедоступного IP-адреса: -AllocationMethod Dynamic -Sku Basic

$gwpip = New-AzPublicIpAddress -Name "VNet1GWIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static

Создание конфигурации IP-адреса шлюза

Конфигурация шлюза определяет используемые подсеть и общедоступный IP-адрес. Используйте следующий пример, чтобы создать конфигурацию шлюза:

$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
$gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gwpip.Id

Создание VPN-шлюза

Создание шлюза часто занимает 45 минут и более, в зависимости от выбранного SKU шлюза. Когда шлюз будет готов, можно создать подключение между вашей и другой виртуальной сетью. Также можно создать подключение между виртуальной сетью и локальным расположением. Создайте VPN-шлюз с помощью командлета New-AzVirtualNetworkGateway.

New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig -GatewayType "Vpn" `
-VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"

Просмотр VPN-шлюза

Просмотреть VPN-шлюз можно с помощью командлета Get-AzVirtualNetworkGateway.

Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1

Просмотр общедоступного IP-адреса

Чтобы просмотреть общедоступный IP-адрес VPN-шлюза, используйте командлет Get-AzPublicIpAddress.

Get-AzPublicIpAddress -Name VNet1GWIP -ResourceGroupName TestRG1

Очистка ресурсов

Когда созданные ресурсы станут не нужны, удалите группу ресурсов с помощью командлета Remove-AzResourceGroup. При этом удаляется группа ресурсов и все содержащиеся в ней ресурсы.

Remove-AzResourceGroup -Name TestRG1

Следующие шаги

Создав шлюз, можно создать подключение между вашей и другой виртуальной сетью. Также можно создать подключение между виртуальной сетью и локальным расположением.