Udostępnij za pośrednictwem


Konfigurowanie zasad protokołu IPsec/IKE dla połączeń międzylokacyjnej sieci VPN

W tym artykule opisano kroki konfigurowania zasad protokołu IPsec/IKE dla połączeń sieci VPN typu lokacja-lokacja (S2S) w usłudze Azure Stack Hub.

Parametry zasad protokołu IPsec i IKE dla bram sieci VPN

Standard protokołu IPsec i IKE obsługuje szeroką gamę algorytmów kryptograficznych w różnych kombinacjach. Aby sprawdzić, które parametry są obsługiwane w usłudze Azure Stack Hub, aby spełnić wymagania dotyczące zgodności lub zabezpieczeń, zobacz Parametry protokołu IPsec/IKE.

Ten artykuł zawiera instrukcje dotyczące tworzenia i konfigurowania zasad protokołu IPsec/IKE oraz stosowania ich do nowego lub istniejącego połączenia.

Zagadnienia do rozważenia

Podczas korzystania z tych zasad należy zwrócić uwagę na następujące ważne kwestie:

  • Zasady protokołu IPsec/IKE działają tylko na jednostkach SKU bramy standardowej iwysokiej wydajności (opartej na trasach).

  • Można określić tylko jedną kombinację zasad dla danego połączenia.

  • Należy określić wszystkie algorytmy i parametry dla protokołu IKE (tryb główny) i protokołu IPsec (tryb szybki). Określenie zasad częściowych nie jest dozwolone.

  • Zapoznaj się ze specyfikacjami dostawcy urządzeń sieci VPN, aby upewnić się, że zasady są obsługiwane na lokalnych urządzeniach sieci VPN. Nie można ustanowić połączeń typu lokacja-lokacja, jeśli zasady są niezgodne.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące wymagania wstępne:

Część 1 . Tworzenie i ustawianie zasad protokołu IPsec/IKE

W tej sekcji opisano kroki wymagane do utworzenia i zaktualizowania zasad protokołu IPsec/IKE w połączeniu sieci VPN typu lokacja-lokacja:

  1. Utwórz sieć wirtualną i bramę sieci VPN.

  2. Utwórz bramę sieci lokalnej na potrzeby połączenia obejmującego wiele lokalizacji.

  3. Utwórz zasady protokołu IPsec/IKE z wybranymi algorytmami i parametrami.

  4. Utwórz połączenie IPSec z zasadami protokołu IPsec/IKE.

  5. Dodaj/zaktualizuj/usuń zasady protokołu IPsec/IKE dla istniejącego połączenia.

Instrukcje przedstawione w tym artykule ułatwiają konfigurowanie i konfigurowanie zasad protokołu IPsec/IKE, jak pokazano na poniższej ilustracji:

Konfigurowanie i konfigurowanie zasad protokołu IPsec/IKE

Część 2. Obsługiwane algorytmy kryptograficzne i mocne strony klucza

W poniższej tabeli wymieniono obsługiwane algorytmy kryptograficzne i siły kluczy konfigurowalne przez usługę Azure Stack Hub:

IPsec/IKEv2 Opcje
Szyfrowanie IKEv2 AES256, AES192, AES128, DES3, DES
Integralność IKEv2 SHA384, SHA256, SHA1, MD5
Grupa DH ECP384, DHGroup14, DHGroup2, DHGroup1, ECP256*, DHGroup24*
Szyfrowanie IPsec GCMAES256, GCMAES192, GCMAES128, AES256, AES192, AES128, DES3, DES, Brak
Integralność IPsec GCMAES256, GCMAES192, GCMAES128, SHA256
Grupa PFS PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, None
Okres istnienia skojarzeń zabezpieczeń QM (Opcjonalnie: wartości domyślne są używane, jeśli nie zostaną określone)
Sekundy (liczba całkowita; min. 300/wartość domyślna 27 000 sekund)
KB (liczba całkowita; min. 1024/wartość domyślna to 102 400 000 KB)
Selektor ruchu Selektory ruchu oparte na zasadach nie są obsługiwane w usłudze Azure Stack Hub.

Uwaga

Ustawienie okresu istnienia skojarzenia zabezpieczeń QM za niskie wymaga niepotrzebnego ponownego klucza, co może obniżyć wydajność.

* Te parametry są dostępne tylko w kompilacjach 2002 i nowszych.

  • Konfiguracja lokalnego urządzenia sieci VPN musi być zgodna z następującymi algorytmami (lub je zawierać) oraz z następującymi parametrami określonymi w zasadach protokołu IPsec/IKE platformy Azure (lub je zawierać):

    • Algorytm szyfrowania IKE (tryb główny/faza 1).
    • Algorytm integralności IKE (tryb główny/faza 1).
    • Grupa DH (tryb główny/faza 1).
    • Algorytm szyfrowania IPsec (tryb szybki/faza 2).
    • Algorytm integralności IPsec (tryb szybki/faza 2).
    • Grupa PFS (tryb szybki/faza 2).
    • Okresy istnienia skojarzeń zabezpieczeń są tylko specyfikacjami lokalnymi i nie muszą być zgodne.
  • Jeśli GCMAES jest używany jako algorytm szyfrowania IPsec, należy wybrać ten sam algorytm GCMAES i długość klucza dla integralności IPsec; na przykład użycie GCMAES128 dla obu.

  • W powyższej tabeli:

    • Protokół IKEv2 odpowiada trybowi głównemu lub fazie 1.
    • Protokół IPsec odpowiada trybowi szybkiemu lub fazie 2.
    • Grupa DH określa grupę Diffie-Hellmen używaną w trybie głównym lub 1.
    • Grupa PFS określa grupę Diffie-Hellmen używaną w trybie szybkim lub 2.
  • Okres istnienia skojarzenia zabezpieczeń trybu głównego protokołu IKEv2 jest stały na poziomie 28 800 sekund w bramach sieci VPN usługi Azure Stack Hub.

W poniższej tabeli wymieniono odpowiednie grupy Diffie-Hellman obsługiwane przez zasady niestandardowe:

Grupa Diffie’ego-Hellmana DHGroup PFSGroup Długość klucza
1 DHGroup1 PFS1 MODP, 768-bitowy
2 DHGroup2 PFS2 MODP, 1024-bitowy
14 DHGroup14
DHGroup2048
PFS2048 MODP, 2048-bitowy
19 ECP256* ECP256 ECP, 256-bitowy
20 ECP384 ECP384 ECP, 384-bitowy
24 DHGroup24* PFS24 MODP, 2048-bitowy

* Te parametry są dostępne tylko w kompilacjach 2002 i nowszych.

Aby uzyskać więcej informacji, zobacz RFC3526 i RFC5114.

Część 3 . Tworzenie nowego połączenia sieci VPN typu lokacja-lokacja z zasadami protokołu IPsec/IKE

W tej sekcji przedstawiono kroki tworzenia połączenia sieci VPN typu lokacja-lokacja z zasadami protokołu IPsec/IKE. Poniższe kroki tworzą połączenie, jak pokazano na poniższej ilustracji:

zasady typu lokacja-lokacja

Aby uzyskać bardziej szczegółowe instrukcje krok po kroku dotyczące tworzenia połączenia sieci VPN typu lokacja-lokacja, zobacz Tworzenie połączenia sieci VPN typu lokacja-lokacja.

Krok 1. Tworzenie sieci wirtualnej, bramy sieci VPN i bramy sieci lokalnej

1. Deklarowanie zmiennych

W tym ćwiczeniu zacznij od zadeklarowania następujących zmiennych. Pamiętaj, aby zastąpić symbole zastępcze własnymi wartościami podczas konfigurowania dla środowiska produkcyjnego:

$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. Połącz się z subskrypcją i utwórz nową grupę zasobów

Upewnij się, że program PowerShell został przełączony do trybu umożliwiającego korzystanie z poleceń cmdlet usługi Resource Manager. Aby uzyskać więcej informacji, zobacz Connect to Azure Stack Hub with PowerShell as a user (Nawiązywanie połączenia z usługą Azure Stack Hub przy użyciu programu PowerShell jako użytkownik).

Otwórz konsolę programu PowerShell i połącz się z kontem; na przykład:

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

3. Tworzenie sieci wirtualnej, bramy sieci VPN i bramy sieci lokalnej

Poniższy przykład tworzy sieć wirtualną TestVNet1 wraz z trzema podsieciami i bramą sieci VPN. Podczas zastępowania wartości ważne jest, aby nazwać podsieć bramy Podsieć GatewaySubnet. W przypadku nadania jej innej nazwy proces tworzenia bramy zakończy się niepowodzeniem.

$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

Krok 2. Tworzenie połączenia sieci VPN typu lokacja-lokacja z zasadami protokołu IPsec/IKE

1. Tworzenie zasad protokołu IPsec/IKE

Ten przykładowy skrypt tworzy zasady protokołu IPsec/IKE z następującymi algorytmami i parametrami:

  • IKEv2: AES128, SHA1, DHGroup14
  • IPsec: AES256, SHA256, none, SA Lifetime 14400 sekund i 10240000 KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

Jeśli używasz protokołu GCMAES dla protokołu IPsec, musisz użyć tego samego algorytmu GCMAES i długości klucza zarówno dla szyfrowania IPsec, jak i integralności.

2. Utwórz połączenie sieci VPN typu lokacja-lokacja z zasadami protokołu IPsec/IKE

Utwórz połączenie sieci VPN typu lokacja-lokacja i zastosuj utworzone wcześniej zasady protokołu 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'

Ważne

Po określeniu zasad protokołu IPsec/IKE w połączeniu brama sieci VPN platformy Azure wysyła lub akceptuje propozycję protokołu IPsec/IKE z określonymi algorytmami kryptograficznymi i mocnymi kluczami w tym konkretnym połączeniu. Upewnij się, że lokalne urządzenie sieci VPN dla połączenia używa lub akceptuje dokładną kombinację zasad, w przeciwnym razie nie można ustanowić tunelu VPN typu lokacja-lokacja.

Część 4 . Aktualizowanie zasad protokołu IPsec/IKE dla połączenia

W poprzedniej sekcji pokazano, jak zarządzać zasadami protokołu IPsec/IKE dla istniejącego połączenia typu lokacja-lokacja. W tej sekcji przedstawiono następujące operacje na połączeniu:

  • Pokaż zasady protokołu IPsec/IKE połączenia.
  • Dodaj lub zaktualizuj zasady protokołu IPsec/IKE do połączenia.
  • Usuń zasady protokołu IPsec/IKE z połączenia.

Uwaga

Zasady protokołu IPsec/IKE są obsługiwane tylko w przypadku bram sieci VPN opartych na trasach w warstwie Standardowa i HighPerformance . Nie działa on w jednostce SKU bramy Podstawowej .

1. Pokaż zasady protokołu IPsec/IKE połączenia

W poniższym przykładzie pokazano, jak skonfigurować zasady protokołu IPsec/IKE na połączeniu. Skrypty są również kontynuowane z poprzednich ćwiczeń.

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

Ostatnie polecenie zawiera listę bieżących zasad protokołu IPsec/IKE skonfigurowanych w połączeniu, jeśli istnieje. Poniższy przykład to przykładowe dane wyjściowe połączenia:

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

Jeśli nie skonfigurowano żadnych zasad protokołu IPsec/IKE, polecenie $connection6.policy otrzyma pusty zwrot. Nie oznacza to, że protokół IPsec/IKE nie jest skonfigurowany w połączeniu; Oznacza to, że nie ma niestandardowych zasad protokołu IPsec/IKE. Rzeczywiste połączenie używa domyślnych zasad wynegocjowanych między lokalnym urządzeniem sieci VPN a bramą sieci VPN platformy Azure.

2. Dodawanie lub aktualizowanie zasad protokołu IPsec/IKE dla połączenia

Kroki dodawania nowych zasad lub aktualizowania istniejących zasad w połączeniu są takie same: utwórz nowe zasady, a następnie zastosuj nowe zasady do połączenia:

$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

Możesz ponownie pobrać połączenie, aby sprawdzić, czy zasady zostały zaktualizowane:

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

Powinny zostać wyświetlone dane wyjściowe z ostatniego wiersza, jak pokazano w poniższym przykładzie:

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

3. Usuwanie zasad protokołu IPsec/IKE z połączenia

Po usunięciu zasad niestandardowych z połączenia brama sieci VPN platformy Azure powróci do domyślnej propozycji protokołu IPsec/IKE i renegocjacji przy użyciu lokalnego urządzenia sieci 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

Możesz użyć tego samego skryptu, aby sprawdzić, czy zasady zostały usunięte z połączenia.

Następne kroki