Konfigurowanie zasad protokołu IPsec/IKE dla połączeń sieci VPN typu lokacja-lokacja
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 dotyczące
Podczas korzystania z tych zasad należy pamiętać o następujących ważnych kwestiach:
- Zasady protokołu IPsec/IKE działają tylko na bramach Standard i HighPerformance SKU (trasowanych).
- Dla danego połączenia można określić tylko jedną kombinację zasad.
- Należy określić wszystkie algorytmy i parametry dla protokołu IKE (tryb główny) i IPsec (tryb szybki). Częściowa specyfikacja zasad nie jest dozwolona.
- 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.
Warunki wstępne
Przed rozpoczęciem upewnij się, że masz następujące wymagania wstępne:
- Subskrypcja platformy Azure. Jeśli nie masz jeszcze subskrypcji platformy Azure, możesz zarejestrować się w celu uzyskania bezpłatnego konta .
- Polecenia cmdlet PowerShell dla Azure Resource Manager. Aby uzyskać więcej informacji na temat instalowania poleceń cmdlet programu PowerShell, zobacz Install PowerShell for Azure Stack Hub.
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:
- Utwórz sieć wirtualną i bramę sieci VPN.
- Utwórz bramę sieci lokalnej na potrzeby połączenia obejmującego wiele lokalizacji.
- Utwórz zasady IPsec/IKE z wybranymi algorytmami i parametrami.
- Utwórz połączenie IPSec z polityką IPsec/IKE.
- 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:
Część 2 . Obsługiwane algorytmy kryptograficzne i mocne strony klucza
W poniższej tabeli wymieniono obsługiwane algorytmy kryptograficzne i mocne strony klucza 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, None |
Integralność IPsec | GCMAES256, GCMAES192, GCMAES128, SHA256 |
Grupa PFS | PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, None |
Okres istnienia programu QM SA | (Opcjonalnie: wartości domyślne są używane, jeśli nie zostaną określone) Sekundy (liczba całkowita; min. 300/domyślna 27000 sekund) KBytes (liczba całkowita; min. 1024/domyślnie 102400000 KBytes) |
Selektor ruchu | Selektory ruchu oparte na zasadach nie są obsługiwane w usłudze Azure Stack Hub. |
Notatka
Ustawienie zbyt niskiego czasu życia skojarzenia zabezpieczeń QM wymaga niepotrzebnego ponownego generowania kluczy, co może obniżyć wydajność.
Konfiguracja lokalnego urządzenia sieci VPN musi być zgodna z następującymi algorytmami i parametrami określonymi w zasadach protokołu IPsec/IKE platformy Azure:
- 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 życia SA są tylko specyfikacjami lokalnymi i nie muszą być zgodne.
Jeśli GCMAES jest używany jako algorytm szyfrowania IPsec, musisz wybrać ten sam algorytm GCMAES i długość klucza dla integralności IPsec; na przykład użycie GCMAES128 dla obu.
W poprzedniej tabeli:
- Protokół IKEv2 odpowiada trybowi głównemu lub fazie 1.
- Protokół IPsec odpowiada trybowi szybkiemu lub 2.
- Grupa DH określa grupę Diffie-Hellmen używaną w Trybie Głównym lub Fazie 1.
- Grupa PFS precyzuje grupę Diffie-Hellmen używaną w trybie szybkim lub w Faza 2.
Okres istnienia skojarzenia zabezpieczeń trybu głównego 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-Hellman | 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 | 256-bitowy ECP |
20 | ECP384 | ECP384 | 384-bitowa usługa ECP |
24 | DHGroup24 | PFS24 | MODP 2048-bitowy |
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 opisano kroki tworzenia połączenia sieci VPN typu lokacja-lokacja z zasadami protokołu IPsec/IKE. Poniższe kroki umożliwiają utworzenie połączenia, jak pokazano na poniższym rysunku:
zasada lokalizacja-lokalizacja
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
Deklarowanie zmiennych
W tym ćwiczeniu zacznij od zadeklarowania następujących zmiennych. Pamiętaj, aby zastąpić wartości domyślne własnymi wartościami przy konfiguracji ś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"
Nawiązywanie połączenia z subskrypcją i tworzenie nowej grupy zasobów
Upewnij się, że przełączysz się do trybu programu PowerShell, aby użyć poleceń cmdlet usługi Resource Manager. Aby uzyskać więcej informacji, zobacz Połącz się z Azure Stack Hub za pomocą 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
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 dokładnie określić nazwę podsieci bramki GatewaySubnet. Jeśli nadasz mu inną nazwę, tworzenie 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
Tworzenie zasad protokołu IPsec/IKE
Ten przykładowy skrypt tworzy zasady IPsec/IKE z następującymi algorytmami i parametrami:
- IKEv2: AES128, SHA1, DHGroup14
- IPsec: AES256, SHA256, none, SA Lifetime 14400 sekund i 102400000 KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000
Jeśli używasz GCMAES dla protokołu IPsec, musisz użyć tego samego algorytmu GCMAES i długości klucza dla szyfrowania i integralności protokołu IPsec.
Tworzenie połączenia sieci VPN typu lokacja-lokacja przy użyciu zasad 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żny
Po określeniu zasad protokołu IPsec/IKE dla połączenia brama sieci VPN platformy Azure wysyła lub akceptuje propozycję protokołu IPsec/IKE z określonymi algorytmami kryptograficznymi i określoną siłą kluczy dla tego konkretnego połączenia. 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 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.
Notatka
Zasady protokołu IPsec/IKE są obsługiwane tylko w bramach sieci VPN opartych na trasach typu Standard i HighPerformance. Nie działa na bramie Podstawowa SKU.
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.
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 zostanie przywrócona do domyślnej propozycji protokołu IPsec/IKEi renegocjacji za pomocą 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.