Az IKEv2 UDP 500-at és 4500-at használ: melyik viszi az adatokat?
Az első csere és az adatokat vivő útvonal nem ugyanaz a folyam. Ellenőrizze mindkét portot, és ne feledje: a natív ESP protokollszám, nem port.
Az UDP 500 megnyitása a tűzfalon lehetővé teszi az alagút egyeztetését, majd a kapcsolat abbahagyja a forgalom átengedését. A portlista hiányos volt, nem hibás. Az IKEv2 egy socketen indul, és sok valós telepítésben egy másikon folytatódik, miközben a hasznos teher egyáltalán nem is port. A szakaszok sorrendben való olvasása megmagyarázza, melyik szabály hiányzik.
Két port, két feladat
Az IKEv2 kulcscserével indul az UDP 500-on, ahol a felek hitelesítik magukat, és biztonsági társulást hoznak létre az alagúthoz. A következő adatútvonal külön kérdés: lehet natív ESP, ami IP-protokollszám és nem port, vagy UDP-be csomagolt forgalom a 4500-on. Ezek szétválasztása egy tűzfal-átvizsgálásban a különbség az egyeztető és a működő alagút között. Az egyik socket a vezérlést viszi, a másik a hasznos terhet.
Ezért a csak 500-at engedélyező szabály okozza a legzavarbaejtőbb tünetet az egész protokollcsaládban: az egyeztetés sikerül, és semmi hasznos nem következik. Az állapot egy partnert mutat, a napló egy felépített IKE SA-t mutat, az alkalmazás mégis időtúllépést kap. A hiányzó engedély más folyamathoz tartozik, mint amelyik épp most sikerült.
Miért létezik egyáltalán a 4500
Sok NAT-eszköz nem tud TCP-n vagy UDP-n kívüli protokollt továbbítani, és némelyik úgy írja át a címeket, hogy az megtöri az ESP integritásellenőrzését. Az ESP UDP-be csomagolása mindkét problémát megoldja, egy plusz fejléc és egy engedélyezendő második port árán. Ez a csomagolás az oka annak, hogy a második port egyáltalán létezik.
Amint a NAT észlelhető, maga az IKE is átvált a 4500-ra, hogy minden forgalom egy útvonalat osszon meg a fordítón keresztül. Egy négybájtos, nem ESP jelölő különbözteti meg a vezérlőüzeneteket az adatoktól azon a socketen. A váltás protokoll-döntés, nem adminisztrátori preferencia.
Hol változik a forrásport
A fordító átírhatja az ügyfél forrásportját, így a szerveren látott tuple nem egyezik az ügyfélen lévő tuple-lel. Nézze meg minden NAT-ugrás mindkét oldalát, mielőtt arra jutna, hogy egy szabályt figyelmen kívül hagynak. A csak az ügyfélen végzett hibakeresés olyan szabályt adhat, amely helyesnek tűnik, és mégis meghiúsul.
A MOBIKE-képes megvalósítások NAT észlelése nélkül is átválthatnak a 4500-ra, és egyes telepítések szándékosan kényszerítik ezt az útvonalat. A 4500 látványa tehát egy döntés bizonyítéka, nem az otthoni router bizonyítéka.
Mindkét folyamot ellenőrizze minden határon
Járja végig a három határt: az ügyfél hálózatát, bármely köztes tűzfalat és a szervert. Mindegyiknek a telepítés által dokumentált folyamokra van szüksége, nem egy másik esetről szóló cikk folyamaira.
sudo swanctl --list-sas
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
sudo iptables -S | grep -E '500|4500|esp'
ip xfrm state
A tűzfallistán szereplő ESP-sor protokoll-egyezés, ezért egy portszabály soha nem fedi le. Ha az üzemeltető egyedi portot használ, kövesse a dokumentált konfigurációt mindkét végén, mert az ügyfél nem hozhat létre figyelőt a szerveren egy ismerős szám kiválasztásával.
Jegyezze fel, hol állt le az egyeztetés, és hogy telepítettek-e gyermek biztonsági társulást, mert ez a pár választja el a blokkolt útvonalat egy hitelesítési vagy házirend-hibától. Ezután ismételje meg a tesztet bekapcsolt szerverellenőrzéssel, mert az elérhetőség nem hitelesítés. Ez az utolsó lépés választja el az engedélyezett portot a megbízható partnertől.