Obie strony obsługują AES, obie akceptują SHA-256, a tunel nadal nie wstaje. Propozycja zawiodła na składniku, którego nikt nie porównał, zwykle na grupie wymiany kluczy. Ten przewodnik czyta rzeczywistą wymianę, zanim cokolwiek zostanie zmienione, stosuje jedną ograniczoną politykę i pozostawia wycofanie, które przywraca poprzednie parametry.

Przeczytaj błąd, zanim zmienisz grupę

„Błąd dopasowania polityki” to podsumowanie, nie diagnoza. Oznacza, że nie znaleziono wzajemnie akceptowalnej propozycji, i nic nie mówi o tym, który składnik został odrzucony. Traktuj go jako początek dochodzenia, a nie jako dowód dotyczący konkretnej grupy.

Odpowiedź zwykle znajduje się po stronie serwera. Dziennik strongSwan na odpowiednim poziomie wymienia propozycję otrzymaną od klienta i propozycję, którą jest skonfigurowany przyjmować, a różnica między obiema listami wskazuje składnik, który zawiódł.

Nie zakładaj, że klient oferuje to, co twierdzi stary post na forum. Aktywny profil i jego zainstalowana polityka decydują o oferowanej liście, a zaktualizowana kompilacja Windows może zaproponować inny zestaw niż ten na zrzucie ekranu, z którego kopiujesz.

Zapisz obie listy. Cztery pozycje transformacji i jedna grupa to krótka lista, a porównywanie jej wiersz po wierszu zajmuje mniej czasu niż jakikolwiek eksperyment. Cztery pozycje łatwo utrzymać w polu widzenia. Pliku dziennika nie.

Porównaj każdą transformację, a nie jedną znaną nazwę

Propozycja IKE to zbiór wyborów, które wszystkie muszą się zgadzać. Szyfrowanie chroni negocjacje, integralność lub PRF je uwierzytelnia, a grupa Diffie-Hellmana tworzy świeży materiał klucza. Propozycja zgodna w dwóch pierwszych i różna w trzeciej nadal jest nieakceptowalna dla obu stron.

Dwa pola Windows, które tutaj się mylą, należą do różnych faz. DHGroup dotyczy wymiany kluczy IKE, a PfsGroup dotyczy asocjacji potomnej, która chroni ruch. Zmiana drugiego nie naprawi błędu w pierwszym.

Nazwy grup różnią się między implementacjami i jest to osobne źródło zamieszania. strongSwan zapisuje modp2048 i ecp256, a Windows używa nazw wyliczeniowych, takich jak Group14 i ECP256, więc porównanie musi najpierw przetłumaczyć. Prowadź notatkę w dwóch kolumnach z obiema nazwami. Następna niezgodność zostanie wtedy sklasyfikowana w kilka sekund.

TransformWindows parameterstrongSwan nameFailure it causes
EncryptionCipherTransformConstantsaes, aes256gcm and similarNo common proposal at all
Integrity or PRFAuthenticationTransformConstantssha256, sha512 and similarProposal rejected after encryption matches
Key-exchange groupDHGroupmodp2048, ecp256Exchange fails during key establishment
Child SA protectionPfsGroupesp proposal groupsTunnel negotiates, data association does not

Zastosuj jedną pełną i ograniczoną politykę

Obsługiwanym narzędziem dla natywnego profilu IKEv2 jest polityka IPsec dla połączenia, ustawiana jako jeden obiekt, a nie pole po polu. Najpierw ją podejrzyj, potem zastosuj, a poprzednie parametry zachowaj w zapisie zmian.

Set-VpnConnectionIPsecConfiguration -ConnectionName "Northwind IKEv2" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup ECP256 -PfsGroup ECP256 -WhatIf

Przełącznik -WhatIf pokazuje lokalną zmianę w podglądzie i niczego nie stosuje. To jest przydatne i jednocześnie częstą pułapką, ponieważ podgląd dowodzi tylko, że parametry są składniowo akceptowalne dla lokalnego polecenia cmdlet. Nie mówi nic o tym, czy brama przyjmie wynikową propozycję.

Przy okazji dopasuj także zakres. Połączenie w magazynie wszystkich użytkowników potrzebuje odpowiedniego parametru dla wszystkich użytkowników, a edycja profilu dla użytkownika o tej samej nazwie wyświetlanej zmienia inny obiekt, którego tunel nie używa.

Następnie przed testem ustaw stronę strongSwan na ten sam zestaw. Skoordynowana zmiana na obu końcach to jedyny wariant, który zbiega się; zmiana jednej strony i wielokrotne ponawianie daje dziennik pełen tych samych odrzuceń.

Sprawdź wymianę i odświeżenie kluczy osobno

Udane połączenie to jedna obserwacja, a odświeżenie kluczy to druga. Początkowe negocjacje IKE używają jednego zestawu parametrów, a asocjacja potomna, która przenosi ruch, może później zostać wynegocjowana ponownie z własną polityką. Konfiguracja, która łączy się, a potem po chwili pada, to zwykle drugi przypadek.

ipsec statusall | grep -A6 "Northwind"
Get-VpnConnection -Name "Northwind IKEv2" | Format-List *

Pierwsze polecenie pokazuje widok serwera na ustanowione asocjacje, w tym asocjację potomną i jej pozostały czas życia. Drugie pokazuje, co profil klienta ma teraz, i to jedyny sposób, by potwierdzić, że ustawiona polityka jest polityką obowiązującą.

Obserwuj pełne odświeżenie kluczy, zanim ogłosisz sukces. To znaczy zostawić połączenie włączone wystarczająco długo, by asocjacja potomna została zastąpiona, a następnie potwierdzić, że ruch trwa. Większość niezgodności polityk kryje się właśnie w tym kroku, ponieważ początkowe negocjacje mogą się udać z zestawem, którego odświeżenie nie akceptuje.

Wycofanie to poprzedni zestaw parametrów, a nie pobłażliwy wariant zapasowy. Jeśli klient oferował tylko słabą starą grupę, odpowiedzią jest poprawa wspólnej polityki klienta i serwera, a nie dodanie tej grupy do bramy, gdzie każda przyszła strona może wynegocjować obniżenie do niej.

Zapisz cztery parametry, grupę, zakres połączenia i wynik odświeżenia kluczy. To krótka notatka i to ona jest różnicą między przewodnikiem a opowieścią o tym, jak tunel kiedyś wstał.

Powiązane artykuły