Настройка политики 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-устройствах. Подключения типа "сеть — сеть" не могут быть установлены, если политики несовместимы.
Необходимые условия
Перед началом работы убедитесь, что у вас есть следующие предварительные требования:
- Подписка Azure. Если у вас еще нет подписки Azure, вы можете зарегистрироваться для бесплатной учетной записи.
- Командлеты PowerShell для Azure Resource Manager. Для получения дополнительной информации об установке командлетов PowerShell см. Установка PowerShell для Azure Stack Hub.
Часть 1. Создание и настройка политики IPsec/IKE
В этом разделе описаны действия, необходимые для создания и обновления политики IPsec/IKE в VPN-подключении типа "сеть — сеть":
- Создайте виртуальную сеть и VPN-шлюз.
- Создайте шлюз локальной сети для межсайтового подключения.
- Создайте политику IPsec/IKE с выбранными алгоритмами и параметрами.
- Создайте подключение IPSec с политикой 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, None |
Целостность IPsec | GCMAES256, GCMAES192, GCMAES128, SHA256 |
Группа PFS | PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, Нет |
Срок действия QM SA | (Необязательно: значения по умолчанию используются, если они не указаны) Секунды (целое число; мин. 300/по умолчанию 27000 секунд) KBytes (целое число; мин. 1024/по умолчанию 1024000000 КБ) |
Селектор трафика | Селекторы трафика на основе политик не поддерживаются в Azure Stack Hub. |
Заметка
Слишком короткое время существования QM SA требует ненужного обновления ключей, что может снизить производительность.
Конфигурация локального VPN-устройства должна соответствовать или содержать следующие алгоритмы и параметры, указанные в политике IPsec/IKE Azure:
- Алгоритм шифрования IKE (основной режим или этап 1).
- Алгоритм целостности IKE (основной режим или этап 1).
- Группа DH (основной режим или этап 1).
- Алгоритм шифрования IPsec (быстрый режим или этап 2).
- Алгоритм целостности IPsec (быстрый режим или этап 2).
- Группа PFS (быстрый режим или этап 2).
- Сроки действия SA являются только локальными спецификациями и не обязаны совпадать.
Если GCMAES используется в качестве алгоритма шифрования IPsec, необходимо выбрать тот же алгоритм GCMAES и длину ключа для целостности IPsec; например, использование GCMAES128 для обоих.
В предыдущей таблице:
- IKEv2 соответствует главному режиму или этапу 1.
- IPsec соответствует быстрому режиму или этапу 2.
- Группа DH указывает группу Diffie-Hellmen, используемую в главном режиме или на этапе 1.
- Группа PFS указывает группу Diffie-Hellmen, используемую в быстром режиме или на этапе 2.
Время существования IKEv2 Main Mode SA фиксировано на 28 800 секунд в VPN-шлюзах Azure Stack Hub.
В следующей таблице перечислены соответствующие группы Diffie-Hellman, поддерживаемые настраиваемой политикой:
Группа Diffie-Hellman | DHGroup | PFSGroup | Длина ключа |
---|---|---|---|
1 | DHGroup1 | PFS1 | 768-разрядная MODP |
2 | DHGroup2 | PFS2 | 1024-разрядный MODP |
14 | DHGroup14 DHGroup2048 |
PFS2048 | 2048-разрядный MODP |
19 | ECP256 | ECP256 | 256-разрядный ECP |
20 | ECP384 | ECP384 | 384-разрядный ECP |
24 | DHGroup24 | PFS24 | 2048-разрядный MODP |
Дополнительные сведения см. в RFC3526 и RFC5114.
Часть 3. Создание vpn-подключения типа "сеть — сеть" с помощью политики IPsec/IKE
В этом разделе описаны действия по созданию VPN-подключения типа "сеть — сеть" с политикой IPsec/IKE. Следующие шаги создают подключение, как показано на следующем рисунке:
Более подробные пошаговые инструкции по созданию VPN-подключения типа "сеть — сеть" см. в статье Создание VPN-подключения типа "сеть — сеть".
Шаг 1. Создание виртуальной сети, VPN-шлюза и шлюза локальной сети
Объявление переменных
Для этого упражнения начните с объявления следующих переменных. Обязательно замените значения по умолчанию собственными значениями при настройке для продакшен среды.
$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"
Подключение к подписке и создание новой группы ресурсов
Убедитесь, что вы перейдете в режим PowerShell, чтобы использовать командлеты Resource Manager. Дополнительные сведения см. в статье Подключение к Azure Stack Hub с помощью PowerShell в качестве пользователя.
Откройте консоль PowerShell и подключитесь к учетной записи; Например:
Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1
Создание виртуальной сети, 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
Создание политики IPsec/IKE
В этом примере скрипта создается политика IPsec/IKE со следующими алгоритмами и параметрами:
- IKEv2: AES128, SHA1, DHGroup14
- IPsec: AES256, SHA256, none, срок действия SA 14400 секунд и 102400000 КБ
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000
При использовании GCMAES для IPsec необходимо использовать один и тот же алгоритм GCMAES и длину ключа для шифрования и целостности IPsec.
Создание 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 поддерживается только для Standard и HighPerformance VPN-шлюзов на основе маршрутов. Он не работает с базовой моделью шлюза SKU .
Отображение политики 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.
Добавление или обновление политики 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 по умолчанию
$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
Вы можете использовать тот же сценарий, чтобы проверить, удалена ли политика из подключения.
Дальнейшие действия
- параметры конфигурации VPN-шлюза для Azure Stack Hub