Настройка принудительного туннелирования с помощью сайта по умолчанию для подключений типа "сеть — сеть"
Действия, описанные в этой статье, помогут настроить принудительное туннелирование для подключений IPsec типа "сеть — сеть" (S2S), указав сайт по умолчанию. Сведения о методах конфигурации для принудительного туннелирования, включая настройку принудительного туннелирования через BGP, см. в разделе "Сведения о принудительном туннелирование для VPN-шлюз".
По умолчанию трафик, привязанный к Интернету, из виртуальных машин передается непосредственно в Интернет. Если вы хотите принудительно принудить весь интернет-трафик через VPN-шлюз к локальному сайту для проверки и аудита, это можно сделать, настроив принудительное туннелирование. После настройки принудительного туннелирования при необходимости можно направлять трафик, привязанный к Интернету, напрямую в Интернет для указанных подсетей с помощью пользовательских определяемых пользователем маршрутов (определяемых пользователем).
Следующие действия помогут настроить сценарий принудительного туннелирования, указав сайт по умолчанию. При необходимости с помощью пользовательского UDR можно маршрутизировать трафик, указав, что трафик, привязанный к Интернету, из подсети Frontend напрямую переходит в Интернет, а не на локальный сайт.
- Созданная виртуальная сеть имеет три подсети: frontend, Mid-tier и Backend с четырьмя локальными подключениями: DefaultSiteHQ и тремя ветвями.
- Вы указываете сайт по умолчанию для VPN-шлюза с помощью PowerShell, который заставляет весь интернет-трафик вернуться в локальное расположение. Не удается настроить сайт по умолчанию с помощью портал Azure.
- Интерфейсная подсеть назначается UDR для отправки интернет-трафика непосредственно в Интернет, обходя VPN-шлюз. Другой трафик обычно направляется.
- Подсети среднего уровня и серверной части продолжают туннелировать интернет-трафик обратно на локальный сайт через VPN-шлюз, так как указан сайт по умолчанию.
Создание виртуальной сети и подсетей
Сначала создайте тестовую среду. Вы можете использовать Azure Cloud Shell или запустить PowerShell локально. Подробнее: Установка и настройка Azure PowerShell.
Примечание.
Вы можете увидеть предупреждение "Тип выходного объекта этого командлета будет изменен в будущих версиях". Это ожидаемое поведение, и такие предупреждения можно смело игнорировать.
Создайте группу ресурсов с помощью командлета New-AzResourceGroup.
New-AzResourceGroup -Name "TestRG1" -Location "EastUS"
Создайте виртуальную сеть с помощью New-AzVirtualNetwork.
$vnet = New-AzVirtualNetwork ` -ResourceGroupName "TestRG1" ` -Location "EastUS" ` -Name "VNet1" ` -AddressPrefix 10.1.0.0/16
Создайте подсети с помощью New-AzVirtualNetworkSubnetConfig. Создание интерфейсных, средних и внутренних подсетей и подсети шлюза (которые должны называться GatewaySubnet).
$subnetConfigFrontend = Add-AzVirtualNetworkSubnetConfig ` -Name Frontend ` -AddressPrefix 10.1.0.0/24 ` -VirtualNetwork $vnet $subnetConfigMid-tier = Add-AzVirtualNetworkSubnetConfig ` -Name Mid-tier ` -AddressPrefix 10.1.1.0/24 ` -VirtualNetwork $vnet $subnetConfigBackend = Add-AzVirtualNetworkSubnetConfig ` -Name Backend ` -AddressPrefix 10.1.2.0/24 ` -VirtualNetwork $vnet $subnetConfigGW = Add-AzVirtualNetworkSubnetConfig ` -Name GatewaySubnet ` -AddressPrefix 10.1.200.0/27 ` -VirtualNetwork $vnet
Запишите конфигурацию подсети в виртуальную сеть с помощью командлета Set-AzVirtualNetwork, который создает подсети в виртуальной сети:
$vnet | Set-AzVirtualNetwork
Создание шлюзов локальной сети
В этом разделе описано, как создать шлюзы локальной сети для сайтов с помощью New-AzLocalNetworkGateway. Существует небольшая пауза между каждой командой при создании каждого шлюза локальной сети. В этом примере -GatewayIpAddress
значения являются заполнителями. Чтобы сделать подключение, необходимо заменить эти значения общедоступными IP-адресами соответствующих локальных VPN-устройств.
$lng1 = New-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.111" -AddressPrefix "192.168.1.0/24"
$lng2 = New-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.112" -AddressPrefix "192.168.2.0/24"
$lng3 = New-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.113" -AddressPrefix "192.168.3.0/24"
$lng4 = New-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1" -Location "EastUS" -GatewayIpAddress "111.111.111.114" -AddressPrefix "192.168.4.0/24"
Создание VPN-шлюза
В этом разделе описан запрос общедоступного IP-адреса и создание VPN-шлюза, связанного с объектом общедоступного IP-адреса. Общедоступный IP-адрес используется при подключении локального или внешнего VPN-устройства к VPN-шлюзу для межсайтовых подключений.
Запросите общедоступный IP-адрес для VPN-шлюза с помощью New-AzPublicIpAddress.
$gwpip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard
Создайте конфигурацию IP-адреса шлюза с помощью New-AzVirtualNetworkGatewayIpConfig. Эта конфигурация ссылается при создании VPN-шлюза.
$vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet $gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $gwsubnet.Id -PublicIpAddressId $gwpip.Id
Создайте шлюз виртуальной сети с типом "VPN" с помощью New-AzVirtualNetworkGateway. Создание шлюза может занять 45 минут или более в зависимости от выбранного номера SKU шлюза.
В этом примере используется номер SKU vpnGw2 поколения 2. Если вы получаете сообщение об ошибке ValidateSet в значении GatewaySKU, убедитесь, что установлена последняя версия командлетов PowerShell. Последняя версия содержит новые проверенные значения для последних номеров SKU шлюза.
New-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" -Location "EastUS" -IpConfigurations $gwipconfig -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"
Настройка принудительного туннелирования — сайт по умолчанию
Настройте принудительное туннелирование, назначив сайту по умолчанию шлюзу виртуальной сети. Если вы не укажете сайт по умолчанию, интернет-трафик не принудительно выполняется через VPN-шлюз и будет проходить непосредственно через Интернет для всех подсетей (по умолчанию).
Чтобы назначить сайт по умолчанию для шлюза, используйте параметр -GatewayDefaultSite . Не забудьте правильно назначить это.
Сначала объявите переменные, указывающие сведения о шлюзе виртуальной сети и шлюз локальной сети для сайта по умолчанию, в данном случае DefaultSiteHQ.
$LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" $VirtualGateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
Затем задайте сайт по умолчанию шлюза виртуальной сети с помощью Set-AzVirtualNetworkGatewayDefaultSite.
Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
На этом этапе весь трафик, привязанный к Интернету, теперь настроен принудительно туннелироваться в DefaultSiteHQ. Локальное VPN-устройство необходимо настроить для использования диапазона адресов 0.0.0.0/0 в качестве селекторов трафика.
- Если вы хотите настроить только принудительное туннелирование и не направлять интернет-трафик непосредственно в Интернет для определенных подсетей, можно перейти к разделу "Установить Подключение ions" этой статьи, чтобы создать подключения.
- Если вам нужны определенные подсети для отправки трафика, привязанного к Интернету, перейдите к следующим разделам, чтобы настроить пользовательские определяемые пользователем маршруты и назначить маршруты.
Маршрутизация трафика, привязанного к Интернету для определенных подсетей
Если вы хотите, чтобы трафик, привязанный к Интернету, отправляется непосредственно в Интернет для определенных подсетей (а не в локальную сеть), выполните следующие действия. Эти действия применяются к принудительному туннелирование, настроенное либо путем указания сайта по умолчанию, либо настройки с помощью BGP.
Создание таблиц маршрутов и маршрутов
Чтобы указать, что трафик, связанный с Интернетом, должен перейти непосредственно в Интернет, создайте необходимую таблицу маршрутов и маршрут. Позже вы назначите таблицу маршрутов подсети Frontend.
Создайте таблицы маршрутов с помощью New-AzRouteTable.
$routeTable1 = New-AzRouteTable ` -Name 'RouteTable1' ` -ResourceGroupName "TestRG1" ` -location "EastUS"
Создайте маршруты с помощью следующих командлетов: GetAzRouteTable, Add-AzRouteConfig и Set-AzRouteConfig. Создайте маршрут для типа следующего прыжка "Интернет" в RouteTable1. Этот маршрут назначается позже подсети Frontend.
Get-AzRouteTable ` -ResourceGroupName "TestRG1" ` -Name "RouteTable1" ` | Add-AzRouteConfig ` -Name "ToInternet" ` -AddressPrefix 0.0.0.0/0 ` -NextHopType "Internet" ` | Set-AzRouteTable
Назначение маршрутов
В этом разделе вы назначите таблицу маршрутов и маршруты подсети Frontend с помощью следующих команд PowerShell: GetAzRouteTable, Set-AzRouteConfig и Set-AzVirtualNetwork.
Назначьте подсеть Frontend в RouteTable1 с маршрутом ToInternet, указав 0.0.0.0/0/0 с помощью следующего прыжка в Интернете.
$vnet = Get-AzVirtualNetwork -Name "VNet1" -ResourceGroupName "TestRG1" $routeTable1 = Get-AzRouteTable ` -ResourceGroupName "TestRG1" ` -Name "RouteTable1" Set-AzVirtualNetworkSubnetConfig ` -VirtualNetwork $vnet ` -Name 'Frontend' ` -AddressPrefix 10.1.0.0/24 ` -RouteTable $routeTable1 | ` Set-AzVirtualNetwork
Установка VPN-подключений S2S
Используйте New-AzVirtualNetworkGateway Подключение ion, чтобы установить подключения S2S.
Объявите переменные.
$gateway = Get-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1" $lng1 = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "TestRG1" $lng2 = Get-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "TestRG1" $lng3 = Get-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "TestRG1" $lng4 = Get-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "TestRG1"
Создайте подключения.
New-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng1 -ConnectionType IPsec -SharedKey "preSharedKey" New-AzVirtualNetworkGatewayConnection -Name "Connection2" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng2 -ConnectionType IPsec -SharedKey "preSharedKey" New-AzVirtualNetworkGatewayConnection -Name "Connection3" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng3 -ConnectionType IPsec -SharedKey "preSharedKey" New-AzVirtualNetworkGatewayConnection -Name "Connection4" -ResourceGroupName "TestRG1" -Location "EastUS" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng4 -ConnectionType IPsec -SharedKey "preSharedKey"
Чтобы просмотреть подключение, используйте следующий пример. Измените все необходимые значения, чтобы указать соединение, которое требуется просмотреть.
Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "TestRG1"
Следующие шаги
Дополнительные сведения о VPN-шлюз см. в VPN-шлюз часто задаваемых вопросов.