Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как настроить безопасное зашифрованное подключение между локальной сетью и виртуальными сетями Azure через частное подключение ExpressRoute. Можно использовать пиринг Microsoft для установления IPsec/IKE VPN-туннеля между выбранными локальными сетями и виртуальными сетями Azure. Настройка безопасного туннеля через ExpressRoute позволяет обмениваться данными, обеспечивая конфиденциальность, защиту от повторного воспроизведения, подлинность и целостность.
Примечание
При настройке VPN типа "сеть — сеть" через пиринг Майкрософт взимается плата за VPN-шлюз и исходящий трафик VPN. Для получения дополнительной информации см. цены на шлюз VPN.
В шагах и примерах в этой статье используются модули Az для Azure PowerShell. Чтобы установить модули Az локально на компьютере, см. статью "Установка Azure PowerShell". Чтобы узнать больше о новом модуле Az, см. статью Введение в новый модуль Azure PowerShell Az. Командлеты PowerShell обновляются с высокой частотой. Если вы не используете последнюю версию, применение значений, указанных в инструкциях, может привести к сбою. Чтобы найти установленные в системе версии PowerShell, используйте командлет Get-Module -ListAvailable Az.
Архитектура
Для обеспечения высокой доступности и избыточности можно настроить несколько туннелей через две пары MSEE-PE канала ExpressRoute и включить балансировку нагрузки между туннелями.
VPN-туннели через пиринг Microsoft можно разорвать с помощью VPN-шлюза или соответствующего сетевого виртуального устройства (NVA), доступного через Azure Marketplace. Вы можете обмениваться маршрутами статически или динамически по зашифрованным туннелям, не предоставляя обмен маршрутами базовому пирингу Майкрософт. В примерах этой статьи BGP (отличается от сеанса BGP, используемого для создания пиринга Майкрософт), используется для динамического обмена префиксами по зашифрованным туннелям.
Важно
На стороне локальной инфраструктуры обычно соединение пирингов Microsoft оканчивается в DMZ, а частное соединение пирингов оканчивается в основной сетевой зоне. Две зоны будут разделены с помощью брандмауэров. Если вы настраиваете пиринг Microsoft исключительно для обеспечения безопасного туннелирования через ExpressRoute, не забудьте отфильтровать только те публичные IP-адреса, которые объявляются через пиринг Microsoft.
рабочий процесс
- Настройте пиринг Майкрософт для канала ExpressRoute.
- Объявляйте выбранные региональные общедоступные префиксы Azure в вашей локальной сети через Microsoft Peering.
- Настройка VPN-шлюза и установка туннелей IPsec
- Настройте локальное VPN-устройство.
- Создайте подключение IPsec/IKE между сетями.
- (Необязательно) Настройте брандмауэры или фильтрацию на локальном VPN-устройстве.
- Проверьте и удостоверьтесь в связи IPsec через схему ExpressRoute.
1. Настройка пиринга Майкрософт
Чтобы настроить VPN-подключение типа "сеть — сеть" через ExpressRoute, необходимо использовать пиринг Microsoft ExpressRoute.
Чтобы настроить новый канал ExpressRoute, начните с статьи о предварительных требованиях ExpressRoute , а затем создайте и измените канал ExpressRoute.
Если у вас уже есть канал ExpressRoute, но у вас нет пиринга Майкрософт, настройте пиринг Майкрософт с помощью статьи "Создание и изменение пиринга" для канала ExpressRoute .
После настройки вашего контура и пиринга Microsoft, вы можете легко просмотреть их на странице Обзор портала Azure.
2. Настройка фильтров маршрутов
Фильтр маршрутов позволяет определить службы, которые вы хотите использовать через пиринг Microsoft ExpressRoute. Это, по сути, список разрешений всех значений сообщества BGP.
В этом примере развертывание находится только в регионе Azure West US 2 . Правило фильтра маршрутов добавляется, чтобы разрешить только рекламу региональных префиксов Azure West US 2, которая имеет значение сообщества BGP 12076:51026. Укажите региональные префиксы, которые требуется разрешить, выбрав "Управление правилом".
В фильтре маршрутов также необходимо выбрать каналы ExpressRoute, для которых применяется фильтр маршрутов. Каналы ExpressRoute можно выбрать, выбрав "Добавить канал". На предыдущем рисунке фильтр маршрутов связан с примером канала ExpressRoute.
2.1 Настройка фильтра маршрутов
Настройка фильтра маршрутов. Чтобы ознакомиться с инструкциями, см. раздел Настройка фильтров маршрутов для Microsoft Peering.
2.2 Проверка маршрутов BGP
После успешного создания пиринга Microsoft по каналу ExpressRoute и сопоставления фильтра маршрутов с каналом, вы можете проверить маршруты BGP, полученные от Microsoft Enterprise Edge (MSEE) на устройствах PE, которые осуществляют пиринг с MSEE. Команда проверки варьируется в зависимости от операционной системы устройств PE.
Примеры Cisco
В этом примере используется команда Cisco IOS-XE. В этом примере экземпляр виртуальной маршрутизации и пересылки (VRF) используется для изоляции пирингового трафика.
show ip bgp vpnv4 vrf 10 summary
Следующие частичные выходные данные показывают, что 68 префиксов были получены от соседа *.243.229.34 с номером автономной системы (ASN) 12076 (MSEE):
...
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
X.243.229.34 4 12076 17671 17650 25228 0 0 1w4d 68
Чтобы просмотреть список префиксов, полученных от соседа, используйте следующий пример:
sh ip bgp vpnv4 vrf 10 neighbors X.243.229.34 received-routes
Чтобы убедиться, что вы получаете правильный набор префиксов, можно выполнить перекрестную проверку. В выводе следующих команд Azure PowerShell перечислены префиксы, рекламируемые через пиринг Microsoft для каждой службы и каждого региона Azure:
Get-AzBgpServiceCommunity
3. Настройка VPN-шлюза и туннелей IPsec
В этом разделе создаются vpn-туннели IPsec между VPN-шлюзом Azure и локальным VPN-устройством. В примерах используются VPN-устройства Cisco Cloud Service Router (CSR1000).
На следующей схеме показаны туннели VPN IPsec, установленные между локальным VPN-устройством 1 и парой экземпляра VPN-шлюза Azure. Два туннеля VPN IPsec, установленные между локальным VPN-устройством 2 и парой экземпляра VPN-шлюза Azure, не показаны на схеме. Сведения о конфигурации не перечислены. Однако при наличии более VPN-туннелей улучшается высокий уровень доступности.
Через IPsec туннельную пару устанавливается сеанс eBGP для обмена маршрутами частной сети. На следующей схеме показан сеанс eBGP, установленный через пару туннелей IPsec:
На следующей схеме показан абстрактный обзор примера сети:
О примерах шаблонов Azure Resource Manager
В примерах VPN-шлюз и завершение туннеля IPsec настраиваются с помощью шаблона Azure Resource Manager. Если вы не знакомы с использованием шаблонов Resource Manager или хотите понять основные сведения о шаблонах Resource Manager, ознакомьтесь с статьей "Общие сведения о структуре и синтаксисе шаблонов Azure Resource Manager". Шаблон в этом разделе создает зеленую среду Azure (виртуальную сеть). Однако если у вас есть существующая виртуальная сеть, вы можете ссылаться на нее в шаблоне. Если вы не знакомы с конфигурациями VPN-шлюза IPsec/IKE типа "сеть — сеть", см. статью "Создание подключения типа "сеть — сеть".
Примечание
Для создания этой конфигурации не требуется использовать шаблоны Azure Resource Manager. Эту конфигурацию можно создать с помощью портала Azure или PowerShell.
3.1 Объявление переменных
В этом примере объявления переменных соответствуют примеру сети. При объявлении переменных измените этот раздел, чтобы отразить среду.
- Переменная localAddressPrefix — это массив локальных IP-адресов для завершения туннелей IPsec.
- ШлюзSku определяет пропускную способность VPN. Дополнительные сведения о gatewaySku и vpnType см. в разделе "Параметры конфигурации VPN-шлюза". Сведения о ценах см. в разделе о ценах НА VPN-шлюз.
- Установите vpnType на RouteBased.
"variables": {
"virtualNetworkName": "SecureVNet", // Name of the Azure VNet
"azureVNetAddressPrefix": "10.2.0.0/24", // Address space assigned to the VNet
"subnetName": "Tenant", // subnet name in which tenants exists
"subnetPrefix": "10.2.0.0/25", // address space of the tenant subnet
"gatewaySubnetPrefix": "10.2.0.224/27", // address space of the gateway subnet
"localGatewayName": "localGW1", // name of remote gateway (on-premises)
"localGatewayIpAddress": "X.243.229.110", // public IP address of the on-premises VPN device
"localAddressPrefix": [
"172.16.0.1/32", // termination of IPsec tunnel-1 on-premises
"172.16.0.2/32" // termination of IPsec tunnel-2 on-premises
],
"gatewayPublicIPName1": "vpnGwVIP1", // Public address name of the first VPN gateway instance
"gatewayPublicIPName2": "vpnGwVIP2", // Public address name of the second VPN gateway instance
"gatewayName": "vpnGw", // Name of the Azure VPN gateway
"gatewaySku": "VpnGw1AZ", // Azure VPN gateway SKU (AZ-redundant; use VpnGw1 for regions without availability zone support)
"vpnType": "RouteBased", // type of VPN gateway
"sharedKey": "string", // shared secret needs to match with on-premises configuration
"asnVpnGateway": 65000, // BGP Autonomous System number assigned to the VPN Gateway
"asnRemote": 65010, // BGP Autonomous System number assigned to the on-premises device
"bgpPeeringAddress": "172.16.0.3", // IP address of the remote BGP peer on-premises
"connectionName": "vpn2local1",
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
"gatewaySubnetRef": "[concat(variables('vnetID'),'/subnets/','GatewaySubnet')]",
"subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
"api-version": "2024-05-01"
},
3.2. Создание виртуальной сети (виртуальная сеть)
Если вы связываете существующую виртуальную сеть с VPN-туннелями, можно пропустить этот шаг.
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/virtualNetworks",
"name": "[variables('virtualNetworkName')]",
"location": "[resourceGroup().location]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[variables('azureVNetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[variables('subnetName')]",
"properties": {
"addressPrefix": "[variables('subnetPrefix')]"
}
},
{
"name": "GatewaySubnet",
"properties": {
"addressPrefix": "[variables('gatewaySubnetPrefix')]"
}
}
]
},
"comments": "Create a Virtual Network with Subnet1 and Gatewaysubnet"
},
3.3. Назначение общедоступных IP-адресов экземплярам VPN-шлюза
Назначьте общедоступный IP-адрес для каждого экземпляра VPN-шлюза.
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[variables('gatewayPublicIPName1')]",
"location": "[resourceGroup().location]",
"properties": {
"publicIPAllocationMethod": "Static"
},
"comments": "Public IP for the first instance of the VPN gateway"
},
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[variables('gatewayPublicIPName2')]",
"location": "[resourceGroup().location]",
"properties": {
"publicIPAllocationMethod": "Static"
},
"comments": "Public IP for the second instance of the VPN gateway"
},
3.4. Укажите завершение локального VPN-туннеля (локальный сетевой шлюз)
Локальные VPN-устройства называются шлюзом локальной сети. Следующий фрагмент json также описывает детали удалённого однорангового соединения BGP.
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/localNetworkGateways",
"name": "[variables('localGatewayName')]",
"location": "[resourceGroup().location]",
"properties": {
"localNetworkAddressSpace": {
"addressPrefixes": "[variables('localAddressPrefix')]"
},
"gatewayIpAddress": "[variables('localGatewayIpAddress')]",
"bgpSettings": {
"asn": "[variables('asnRemote')]",
"bgpPeeringAddress": "[variables('bgpPeeringAddress')]",
"peerWeight": 0
}
},
"comments": "Local Network Gateway (referred to your on-premises location) with IP address of remote tunnel peering and IP address of remote BGP peer"
},
3.5 Создание VPN-шлюза
Этот раздел шаблона конфигурирует VPN-шлюз с необходимыми настройками для активно-активной конфигурации. Помните о следующих требованиях:
- Создайте VPN-шлюз с помощью VpnType "RouteBased". Этот параметр является обязательным, если требуется включить маршрутизацию BGP между VPN-шлюзом и локальной сетью VPN.
- Чтобы установить VPN-туннели между двумя экземплярами VPN-шлюза и заданным локальным устройством в активно-активном режиме, параметр activeActive имеет значение true в шаблоне Resource Manager. Дополнительные сведения о высокодоступных VPN-шлюзах см. в статье "Высокодоступное подключение VPN-шлюза".
- Чтобы настроить сеансы eBGP между VPN-туннелями, необходимо указать два разных ASN на обеих сторонах. Предпочтительнее указать частные номера ASN. Дополнительные сведения см. в статье "Общие сведения о BGP и VPN-шлюзах Azure".
{
"apiVersion": "[variables('api-version')]",
"type": "Microsoft.Network/virtualNetworkGateways",
"name": "[variables('gatewayName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName1'))]",
"[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName2'))]",
"[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]"
],
"properties": {
"ipConfigurations": [
{
"properties": {
"privateIPAllocationMethod": "Static",
"subnet": {
"id": "[variables('gatewaySubnetRef')]"
},
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName1'))]"
}
},
"name": "vnetGtwConfig1"
},
{
"properties": {
"privateIPAllocationMethod": "Static",
"subnet": {
"id": "[variables('gatewaySubnetRef')]"
},
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName2'))]"
}
},
"name": "vnetGtwConfig2"
}
],
"sku": {
"name": "[variables('gatewaySku')]",
"tier": "[variables('gatewaySku')]"
},
"gatewayType": "Vpn",
"vpnType": "[variables('vpnType')]",
"enableBgp": true,
"activeActive": true,
"bgpSettings": {
"asn": "[variables('asnVpnGateway')]"
}
},
"comments": "VPN Gateway in active-active configuration with BGP support"
},
3.6. Установка туннелей IPsec
Последнее действие скрипта создает туннели IPsec между VPN-шлюзом Azure и локальным VPN-устройством.
{
"apiVersion": "[variables('api-version')]",
"name": "[variables('connectionName')]",
"type": "Microsoft.Network/connections",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Network/virtualNetworkGateways/', variables('gatewayName'))]",
"[concat('Microsoft.Network/localNetworkGateways/', variables('localGatewayName'))]"
],
"properties": {
"virtualNetworkGateway1": {
"id": "[resourceId('Microsoft.Network/virtualNetworkGateways', variables('gatewayName'))]"
},
"localNetworkGateway2": {
"id": "[resourceId('Microsoft.Network/localNetworkGateways', variables('localGatewayName'))]"
},
"connectionType": "IPsec",
"routingWeight": 0,
"sharedKey": "[variables('sharedKey')]",
"enableBGP": "true"
},
"comments": "Create a Connection type site-to-site (IPsec) between the Azure VPN Gateway and the VPN device on-premises"
}
4. Настройка локального VPN-устройства
VPN-шлюз Azure совместим с множеством VPN-устройств от разных поставщиков. Сведения о конфигурации и устройствах, проверенных для работы с VPN-шлюзом, см. в разделе "Сведения о VPN-устройствах".
При настройке VPN-устройства вам потребуется следующее:
- Общий ключ. Это значение совпадает с общим ключом, указанным при создании VPN-подключения типа "сеть — сеть". В примерах используется базовый общий ключ. Рекомендуется создать более сложный ключ для использования.
- Общедоступный IP-адрес VPN-шлюза. Общедоступный IP-адрес можно просмотреть с помощью портала Azure, PowerShell или CLI. Чтобы найти общедоступный IP-адрес VPN-шлюза с помощью портала Azure, перейдите к шлюзам виртуальной сети, а затем выберите имя шлюза.
Обычно одноранговые узлы eBGP подключаются напрямую (часто через подключение к глобальной сети). Однако при настройке eBGP по каналам VPN IPsec через пиринг Microsoft ExpressRoute существует несколько доменов маршрутизации между одноранговыми узлами eBGP. Используйте команду ebgp-multihop , чтобы установить связь соседа eBGP между двумя не напрямую подключенными одноранговых узлами. Целое число, следующее за командой ebgp-multihop, указывает время жизни (TTL) в пакетах BGP. Команда maximum-paths eibgp 2 обеспечивает балансировку нагрузки трафика между двумя путями BGP.
Пример CSR1000 Cisco
В следующем примере показана конфигурация для Cisco CSR1000 на виртуальной машине Hyper-V в качестве локального VPN-устройства:
!
crypto ikev2 proposal az-PROPOSAL
encryption aes-cbc-256 aes-cbc-128
integrity sha256
group 14
!
crypto ikev2 policy az-POLICY
proposal az-PROPOSAL
!
crypto ikev2 keyring key-peer1
peer azvpn1
address 52.175.253.112
pre-shared-key secret*1234
!
!
crypto ikev2 keyring key-peer2
peer azvpn2
address 52.175.250.191
pre-shared-key secret*1234
!
!
!
crypto ikev2 profile az-PROFILE1
match address local interface GigabitEthernet1
match identity remote address 52.175.253.112 255.255.255.255
authentication remote pre-share
authentication local pre-share
keyring local key-peer1
!
crypto ikev2 profile az-PROFILE2
match address local interface GigabitEthernet1
match identity remote address 52.175.250.191 255.255.255.255
authentication remote pre-share
authentication local pre-share
keyring local key-peer2
!
crypto ikev2 dpd 10 2 on-demand
!
!
crypto ipsec transform-set az-IPSEC-PROPOSAL-SET esp-aes 256 esp-sha-hmac
mode tunnel
!
crypto ipsec profile az-VTI1
set transform-set az-IPSEC-PROPOSAL-SET
set ikev2-profile az-PROFILE1
!
crypto ipsec profile az-VTI2
set transform-set az-IPSEC-PROPOSAL-SET
set ikev2-profile az-PROFILE2
!
!
interface Loopback0
ip address 172.16.0.3 255.255.255.255
!
interface Tunnel0
ip address 172.16.0.1 255.255.255.255
ip tcp adjust-mss 1350
tunnel source GigabitEthernet1
tunnel mode ipsec ipv4
tunnel destination 52.175.253.112
tunnel protection ipsec profile az-VTI1
!
interface Tunnel1
ip address 172.16.0.2 255.255.255.255
ip tcp adjust-mss 1350
tunnel source GigabitEthernet1
tunnel mode ipsec ipv4
tunnel destination 52.175.250.191
tunnel protection ipsec profile az-VTI2
!
interface GigabitEthernet1
description External interface
ip address x.243.229.110 255.255.255.252
negotiation auto
no mop enabled
no mop sysid
!
interface GigabitEthernet2
ip address 10.0.0.1 255.255.255.0
negotiation auto
no mop enabled
no mop sysid
!
router bgp 65010
bgp router-id interface Loopback0
bgp log-neighbor-changes
network 10.0.0.0 mask 255.255.255.0
network 10.1.10.0 mask 255.255.255.128
neighbor 10.2.0.228 remote-as 65000
neighbor 10.2.0.228 ebgp-multihop 5
neighbor 10.2.0.228 update-source Loopback0
neighbor 10.2.0.228 soft-reconfiguration inbound
neighbor 10.2.0.228 filter-list 10 out
neighbor 10.2.0.229 remote-as 65000
neighbor 10.2.0.229 ebgp-multihop 5
neighbor 10.2.0.229 update-source Loopback0
neighbor 10.2.0.229 soft-reconfiguration inbound
maximum-paths eibgp 2
!
ip route 0.0.0.0 0.0.0.0 10.1.10.1
ip route 10.2.0.228 255.255.255.255 Tunnel0
ip route 10.2.0.229 255.255.255.255 Tunnel1
!
5. Настройка фильтрации VPN-устройств и брандмауэров (необязательно)
Настройте брандмауэр и фильтрацию в соответствии с вашими требованиями.
6. Тестирование и проверка туннеля IPsec
Состояние туннелей IPsec можно проверить в VPN-шлюзе Azure с помощью команд PowerShell:
Get-AzVirtualNetworkGatewayConnection -Name vpn2local1 -ResourceGroupName myRG | Select-Object ConnectionStatus,EgressBytesTransferred,IngressBytesTransferred | fl
Пример выходных данных:
ConnectionStatus : Connected
EgressBytesTransferred : 17734660
IngressBytesTransferred : 10538211
Чтобы проверить состояние туннелей в экземплярах VPN-шлюза Azure независимо, используйте следующий пример:
Get-AzVirtualNetworkGatewayConnection -Name vpn2local1 -ResourceGroupName myRG | Select-Object -ExpandProperty TunnelConnectionStatus
Пример выходных данных:
Tunnel : vpn2local1_52.175.250.191
ConnectionStatus : Connected
IngressBytesTransferred : 4877438
EgressBytesTransferred : 8754071
LastConnectionEstablishedUtcTime : 11/04/2017 17:03:30
Tunnel : vpn2local1_52.175.253.112
ConnectionStatus : Connected
IngressBytesTransferred : 5660773
EgressBytesTransferred : 8980589
LastConnectionEstablishedUtcTime : 11/04/2017 17:03:13
Вы также можете проверить состояние туннеля на локальном VPN-устройстве.
Пример CSR1000 Cisco:
show crypto session detail
show crypto ikev2 sa
show crypto ikev2 session detail
show crypto ipsec sa
Пример выходных данных:
csr1#show crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect
Interface: Tunnel1
Profile: az-PROFILE2
Uptime: 00:52:46
Session status: UP-ACTIVE
Peer: 52.175.250.191 port 4500 fvrf: (none) ivrf: (none)
Phase1_id: 52.175.250.191
Desc: (none)
Session ID: 3
IKEv2 SA: local 10.1.10.50/4500 remote 52.175.250.191/4500 Active
Capabilities:DN connid:3 lifetime:23:07:14
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 279 drop 0 life (KB/Sec) 4607976/433
Outbound: #pkts enc'ed 164 drop 0 life (KB/Sec) 4607992/433
Interface: Tunnel0
Profile: az-PROFILE1
Uptime: 00:52:43
Session status: UP-ACTIVE
Peer: 52.175.253.112 port 4500 fvrf: (none) ivrf: (none)
Phase1_id: 52.175.253.112
Desc: (none)
Session ID: 2
IKEv2 SA: local 10.1.10.50/4500 remote 52.175.253.112/4500 Active
Capabilities:DN connid:2 lifetime:23:07:17
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 668 drop 0 life (KB/Sec) 4607926/437
Outbound: #pkts enc'ed 477 drop 0 life (KB/Sec) 4607953/437
Протокол линии в интерфейсе виртуального туннеля (VTI) не изменяется на "вверх" до завершения этапа IKE 2. Следующая команда проверяет связь безопасности:
csr1#show crypto ikev2 sa
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
2 10.1.10.50/4500 52.175.253.112/4500 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/3277 sec
Tunnel-id Local Remote fvrf/ivrf Status
3 10.1.10.50/4500 52.175.250.191/4500 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/3280 sec
IPv6 Crypto IKEv2 SA
csr1#show crypto ipsec sa | inc encaps|decaps
#pkts encaps: 177, #pkts encrypt: 177, #pkts digest: 177
#pkts decaps: 296, #pkts decrypt: 296, #pkts verify: 296
#pkts encaps: 554, #pkts encrypt: 554, #pkts digest: 554
#pkts decaps: 746, #pkts decrypt: 746, #pkts verify: 746
Проверьте наличие сквозного подключения между локальной сетью на месте и виртуальной сетью Azure
Если туннели IPsec активны и статические маршруты правильно заданы, вы должны иметь возможность пинговать IP-адрес удаленного однорангового узла BGP:
csr1#ping 10.2.0.228
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0.228, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/5 ms
#ping 10.2.0.229
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.2.0.229, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/6 ms
Проверка сеансов BGP по протоколу IPsec
В VPN-шлюзе Azure проверьте состояние однорангового узла BGP:
Get-AzVirtualNetworkGatewayBGPPeerStatus -VirtualNetworkGatewayName vpnGtw -ResourceGroupName SEA-C1-VPN-ER | ft
Пример выходных данных:
Asn ConnectedDuration LocalAddress MessagesReceived MessagesSent Neighbor RoutesReceived State
--- ----------------- ------------ ---------------- ------------ -------- -------------- -----
65010 00:57:19.9003584 10.2.0.228 68 72 172.16.0.10 2 Connected
65000 10.2.0.228 0 0 10.2.0.228 0 Unknown
65000 07:13:51.0109601 10.2.0.228 507 500 10.2.0.229 6 Connected
Чтобы проверить список сетевых префиксов, полученных через eBGP из локальной концентратора VPN, можно отфильтровать по атрибуту Origin:
Get-AzVirtualNetworkGatewayLearnedRoute -VirtualNetworkGatewayName vpnGtw -ResourceGroupName myRG | Where-Object Origin -eq "EBgp" |ft
В примере выходных данных ASN 65010 — это номер автономной системы BGP в локальной сети VPN.
AsPath LocalAddress Network NextHop Origin SourcePeer Weight
------ ------------ ------- ------- ------ ---------- ------
65010 10.2.0.228 10.1.10.0/25 172.16.0.10 EBgp 172.16.0.10 32768
65010 10.2.0.228 10.0.0.0/24 172.16.0.10 EBgp 172.16.0.10 32768
Чтобы просмотреть список объявленных маршрутов, выполните указанные ниже действия.
Get-AzVirtualNetworkGatewayAdvertisedRoute -VirtualNetworkGatewayName vpnGtw -ResourceGroupName myRG -Peer 10.2.0.228 | ft
Пример выходных данных:
AsPath LocalAddress Network NextHop Origin SourcePeer Weight
------ ------------ ------- ------- ------ ---------- ------
10.2.0.229 10.2.0.0/24 10.2.0.229 Igp 0
10.2.0.229 172.16.0.10/32 10.2.0.229 Igp 0
10.2.0.229 172.16.0.5/32 10.2.0.229 Igp 0
10.2.0.229 172.16.0.1/32 10.2.0.229 Igp 0
65010 10.2.0.229 10.1.10.0/25 10.2.0.229 Igp 0
65010 10.2.0.229 10.0.0.0/24 10.2.0.229 Igp 0
Пример для локальной CSR1000 Cisco:
csr1#show ip bgp neighbors 10.2.0.228 routes
BGP table version is 7, local router ID is 172.16.0.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.2.0.0/24 10.2.0.228 0 65000 i
r> 172.16.0.1/32 10.2.0.228 0 65000 i
r> 172.16.0.2/32 10.2.0.228 0 65000 i
r> 172.16.0.3/32 10.2.0.228 0 65000 i
Total number of prefixes 4
Список сетей, объявляемых из локального Cisco CSR1000 в VPN-шлюз Azure, можно получить с помощью следующей команды:
csr1#show ip bgp neighbors 10.2.0.228 advertised-routes
BGP table version is 7, local router ID is 172.16.0.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 10.0.0.0/24 0.0.0.0 0 32768 i
*> 10.1.10.0/25 0.0.0.0 0 32768 i
Total number of prefixes 2