Поделиться через


Настройка политики IPsec/IKE для VPN-подключений типа "сеть — сеть" или "виртуальная сеть — виртуальная сеть"

В этой статье описаны действия по настройке политики IPsec/IKE для VPN-подключений типа "сеть — сеть" (S2S) в Azure Stack Hub.

Параметры политики IPsec и IKE для VPN-шлюзов

Стандарт протоколов IPsec и IKE поддерживает широкий набор алгоритмов шифрования в разных комбинациях. Сведения о параметрах, поддерживаемых в Azure Stack Hub, приведены в разделе Параметры IPsec/IKE. Эти параметры помогут выполнить требования к обеспечению безопасности или соответствия.

В этой статье показано, как создать и настроить политику IPsec/IKE, а затем применить ее к новому или существующему подключению.

Рекомендации

Учитывайте следующие рекомендации при использовании этих политик:

  • Политика IPsec/IKE поддерживается только номерами SKU шлюзов уровня Стандартный и Высокопроизводительный (на основе маршрутов).

  • Можно указать только одну комбинацию политик для каждого подключения.

  • Вам следует указать все алгоритмы и параметры для IKE (основной режим) и IPsec (быстрый режим). Указать частичную политику нельзя.

  • Ознакомьтесь со спецификациями поставщиков VPN-устройств, чтобы убедиться, что политика поддерживается на локальных VPN-устройствах. Если политики несовместимы, невозможно будет установить VPN-подключение типа "сеть — сеть".

Предварительные требования

Прежде чем приступить к работе, убедитесь, что у вас есть следующие необходимые компоненты.

Часть 1. Создание и настройка политики IPsec/IKE

В этом разделе показано, как создать и обновить политику IPsec/IKE для VPN-подключений типа "сеть — сеть".

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

  2. Создание шлюза локальной сети для распределенного подключения.

  3. Создание политики IPsec/IKE с выбранными алгоритмами и параметрами.

  4. Создание VPN-подключения типа "сеть — сеть" с использованием политики IPsec/IKE.

  5. Добавление, обновление и удаление политики IPsec/IKE для существующего подключения.

Инструкции из этой статьи помогут установить и настроить политики IPsec/IKE, как показано на рисунке.

Установка и настройка политик IPsec/IKE

Часть 2. Поддерживаемые алгоритмы шифрования и уровни надежности ключей

В таблице ниже перечислены поддерживаемые алгоритмы шифрования и уровни надежности ключей, настраиваемые в Azure Stack Hub.

IPsec/IKEv2 Параметры
Шифрование IKEv2 AES256, AES192, AES128, DES3, DES
Проверка целостности IKEv2 SHA384, SHA256, SHA1, MD5
Группа DH ECP384, DHGroup14, DHGroup2, DHGroup1, ECP256*, DHGroup24*
Шифрование IPsec GCMAES256, GCMAES192, GCMAES128, AES256, AES192, AES128, DES3, DES, нет
Целостность IPsec GCMAES256, GCMAES192, GCMAES128, SHA256
Группа PFS PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, нет
Время существования QM SA (Необязательно — используются значения по умолчанию, если не заданы другие значения.)
Секунды (целое число, минимум 300, по умолчанию — 27 000 с)
Килобайты (целое число, минимум 1024, по умолчанию — 102 400 000 КБ)
Селектор трафика Селекторы трафика на основе политик не поддерживаются в Azure Stack Hub.

Примечание

Слишком низкое время существования QM SA требует ненужного повторного ключа, что может снизить производительность.

* Эти параметры доступны только в сборках 2002 и более поздних версий.

  • Ваша конфигурация локальных VPN-устройств должна совпадать со следующими алгоритмами и параметрами, указанными в политике Azure IPsec/IKE, или содержать их.

    • Алгоритм шифрования IKE (основной режим или фаза 1).
    • Алгоритм обеспечения целостности IKE (основной режим или фаза 1).
    • Группа DH (основной режим или фаза 1).
    • Алгоритм шифрования IPsec (основной режим или фаза 2).
    • Алгоритм обеспечения целостности IPsec (быстрый режим или фаза 2).
    • Группа PFS (быстрый режим или фаза 2).
    • Время существования SA указывается исключительно в локальных спецификациях. Эти значения не обязательно должны совпадать.
  • Если для шифрования IPsec используется алгоритм GCMAES, необходимо указать одинаковую длину алгоритма и ключа для проверки целостности IPsec (например, GCMAES128 в обоих случаях).

  • В приведенной выше таблице:

    • IKEv2 соответствует основному режиму или фазе 1;
    • IPsec соответствует быстрому режиму или фазе 2;
    • группа DH определяет группу Диффи — Хеллмана, которая используется в основном режиме или фазе 1;
    • группа PFS определяет группу Диффи — Хеллмана, которая используется в быстром режиме или фазе 2.
  • Время существования SA основного режима IKEv2 составляет 28 800 секунд на VPN-шлюзах Azure Stack Hub.

В следующей таблице перечислены соответствующие группы Диффи — Хеллмана, поддерживаемые пользовательскими политиками.

Группа Диффи — Хелмана DHGroup PFSGroup Длина ключа
1 DHGroup1 PFS1 MODP (768 бит)
2 DHGroup2 PFS2 MODP (1024 бит)
14 DHGroup14
DHGroup2048
PFS2048 MODP (2048 бит)
19 ECP256* ECP256 ECP (256 бит)
20 ECP384 ECP384 ECP (384 бит)
24 DHGroup24* PFS24 MODP (2048 бит)

* Эти параметры доступны только в сборках 2002 и более поздних версий.

Дополнительные сведения см. на страницах RFC 3526 и RFC 5114.

Часть 3. Создание нового подключения VPN типа "сеть — сеть" с использованием политики IPsec/IKE

В этом разделе описаны действия по созданию VPN-подключения типа "сеть — сеть" с использованием политики IPsec/IKE. С помощью приведенных ниже инструкций вы сможете создать подключение, как показано на следующем рисунке.

Политика

См. дополнительные сведения о создании виртуальной сети с VPN-подключением типа "сеть — сеть".

Шаг 1. Создание виртуальной сети, VPN-шлюза и шлюза локальной сети

1. Объявление переменных

Этот пример начнем с объявления переменных. Обязательно замените заполнители своими значениями при настройке для рабочей среды.

$Sub1 = "<YourSubscriptionName>"
$RG1 = "TestPolicyRG1"
$Location1 = "East US 2"
$VNetName1 = "TestVNet1"
$FESubName1 = "FrontEnd"
$BESubName1 = "Backend"
$GWSubName1 = "GatewaySubnet"
$VNetPrefix11 = "10.11.0.0/16"
$VNetPrefix12 = "10.12.0.0/16"
$FESubPrefix1 = "10.11.0.0/24"
$BESubPrefix1 = "10.12.0.0/24"
$GWSubPrefix1 = "10.12.255.0/27"
$DNS1 = "8.8.8.8"
$GWName1 = "VNet1GW"
$GW1IPName1 = "VNet1GWIP1"
$GW1IPconf1 = "gw1ipconf1"
$Connection16 = "VNet1toSite6"
$LNGName6 = "Site6"
$LNGPrefix61 = "10.61.0.0/16"
$LNGPrefix62 = "10.62.0.0/16"
$LNGIP6 = "131.107.72.22"

2. Подключение к подписке Azure и создание группы ресурсов

Для работы с командлетами диспетчера ресурсов необходимо перейти в режим PowerShell. См. дополнительные сведения о подключении к Azure Stack Hub в роли пользователя с помощью PowerShell.

Откройте консоль PowerShell и подключитесь к своей учетной записи, например так:

Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1

3. Создание виртуальной сети, VPN-шлюза и шлюза локальной сети

В следующем примере создается виртуальная сеть TestVNet1 с тремя подсетями и VPN-шлюзом. При замене значений важно присвоить подсети шлюза точное имя GatewaySubnet. Если вы используете другое имя, создание шлюза завершится сбоем.

$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1

New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1

$gw1pip1 = New-AzPublicIpAddress -Name $GW1IPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic

$vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1

$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" `
-VirtualNetwork $vnet1

$gw1ipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GW1IPconf1 `
-Subnet $subnet1 -PublicIpAddress $gw1pip1

New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
-Location $Location1 -IpConfigurations $gw1ipconf1 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw1

New-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1 `
-Location $Location1 -GatewayIpAddress $LNGIP6 -AddressPrefix `
$LNGPrefix61,$LNGPrefix62

Шаг 2. Создание VPN-подключения типа "сеть — сеть" с использованием политики IPsec/IKE

1. Создайте политику IPsec/IKE

Этот пример скрипта создает политику IPsec/IKE со следующими алгоритмами и параметрами:

  • IKEv2: AES128, SHA1, DHGroup14
  • IPsec: AES256, SHA256, нет, срок действия SA (14 400 секунд и 102 400 000 КБ).
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

Если для IPsec используется алгоритм GCMAES, необходимо указать одинаковую длину ключа и алгоритма для шифрования и целостности данных IPsec.

2. Создайте подключение VPN типа "сеть — сеть" с использованием политики IPsec/IKE

Создайте VPN-подключение типа "сеть — сеть" и примените политику IPsec/IKE, созданную на предыдущем шаге.

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$lng6 = Get-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1

New-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng6 -Location $Location1 -ConnectionType IPsec -IpsecPolicies $ipsecpolicy6 -SharedKey 'Azs123'

Важно!

После указания для подключения политики IPsec/IKE VPN-шлюз Azure будет отправлять и принимать предложения IPsec/IKE с определенными алгоритмами шифрования и уровнями стойкости ключей для этого подключения. Локальное VPN-устройство для подключения должно использовать или принимать точную комбинацию политик. В противном случае VPN-туннель типа "сеть — сеть" не удастся создать.

Часть 4. Обновление политики IPsec/IKE для подключения

В предыдущем разделе было показано, как управлять политикой IPsec/IKE для существующего подключения типа "сеть — сеть". В этом разделе описаны следующие операции в отношении подключения:

  • Отображение политики подключения IPsec/IKE.
  • Добавление или обновление политики IPsec/IKE для подключения.
  • Удаление политики IPsec/IKE для подключения.

Примечание

Политика IPsec/IKE поддерживается только для стандартных и высокопроизводительных VPN-шлюзов на основе маршрутов. Она не поддерживается номером SKU Базовый.

1. Отображение политики подключения IPsec/IKE

В примере ниже показано, как получить настроенную для подключения политику IPsec/IKE. Скрипты также продолжают работу с предыдущими упражнениями.

$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies

Последняя команда отображает текущую политику IPsec/IKE, настроенную для подключения, если она есть. Далее приводится пример выходных данных для подключения:

SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None

Если настроенная политика IPsec/IKE отсутствует, команда $connection6.policy возвращает пустые выходные данные. Это не значит, что для подключения не настроена политика IPsec/IKE. Это значит, что отсутствует настраиваемая политика IPsec/IKE. Фактическое подключение использует политику по умолчанию, согласованную между локальным VPN-устройством и VPN-шлюзом Azure.

2. Добавление или обновление политики IPsec/IKE для подключения

Действия по добавлению новой политики для подключения или обновлению существующей аналогичны — создайте политику, а затем примените ее к подключению.

$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1

$newpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup None -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

$connection6.SharedKey = "AzS123"

Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6 -IpsecPolicies $newpolicy6

Можно еще раз получить сведения о подключении, чтобы проверить, обновилась ли политика.

$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies

В последней строке вы должны увидеть следующие выходные данные:

SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None

3. Удаление политики IPsec/IKE из подключения

После удаления настраиваемой политики из подключения VPN-шлюз Azure возвращается к списку предложений IPsec/IKE по умолчанию и возобновляет согласование для локального VPN-устройства.

$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.SharedKey = "AzS123"
$currentpolicy = $connection6.IpsecPolicies[0]
$connection6.IpsecPolicies.Remove($currentpolicy)

Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6

Вы снова можете использовать тот же скрипт, чтобы проверить, удалена ли политика из подключения.

Дальнейшие действия