A tűzfalűrlapok TCP-portot kérnek, és a kézenfekvő bejegyzés az 50. Ez a bejegyzés semmit nem engedélyez, mert az ESP az 50-es IP-protokoll, a protokollszámok pedig nem portok. A két névtér csak kis egész számokat oszt meg, semmi mást, és a hiba addig láthatatlan, amíg az IKE be nem fejeződik, és a védett forgalom soha nem érkezik meg.

Két névtér, amely kis számokat oszt meg

Az IP-fejléc protokollmezőt hordoz, amely megnevezi, mi következik: 6 a TCP-hez, 17 az UDP-hez, 1 az ICMP-hez, 50 az ESP-hez, 51 az AH-hoz. A TCP- vagy UDP-fejléc portszámokat hordoz, amelyek folyamatot választanak a célgazdagépen. Az 50-es protokoll és a TCP 50-es port független értékek, de egy párbeszédablak felcserélhetőnek látszathatja őket.

Ezért a porttovábbítási szabály nem tudja kifejezni a natív ESP-t. Nincs ESP-célport, amelyet továbbítani lehetne, és a csak portszabályokat értő eszköznek egyáltalán nincs szókészlete erre a csomagra. A helyes szabály ehelyett az IP-protokollt nevezi meg. Bármely portpárbeszéd rossz eszköz ehhez a csomaghoz.

A zavarnak van egy második fele is. Amikor a csomag titkosított, minden benne átlátszatlan, beleértve az eredeti kapcsolat TCP-fejlécét is. A tűzfal, amely ezen a csomagon portokat vizsgál, a külső fejlécet nézi, amelynek natív esetben nincsenek vizsgálható portjai.

Natív ESP, majd a beágyazott változat

A natív ESP-t közvetlenül IP-protokollként szállítják, ami egyszerre hatékony és kényelmetlen. Hatékony, mert nincs extra fejléc, és kényelmetlen, mert a címet és portot fordító eszközök nem tudják követni. A NAT traversal éppen ezt oldja meg azzal, hogy az ESP-csomagot UDP-be csomagolja, hogy a fordítónak legyenek átírható portjai.

Form on the wireHow it is identifiedWhat the firewall must permit
IKE negotiationUDP with a destination portUDP 500, and 4500 once traversal is detected
Native ESPIP protocol 50 in the outer headerThe protocol itself, with no port to name
ESP inside UDPUDP 4500 carrying an ESP payloadThe UDP port pair, which translation devices can track

A két forma ugyanazon adatcsatorna alternatív telepítése, nem egy csatorna rétegei. A natív ESP engedélyezése nem engedélyezi a beágyazott formát, és az UDP 4500 engedélyezése nem engedélyezi a natív forgalmat, ezért a szabálykészletnek a telepítéshez kell illeszkednie, nem pedig véletlenül mindkettőt lefednie.

Az észlelés itt is számít. A végpontok a tárgyalás során döntenek a formák között, és a váltás általában akkor történik, amikor NAT-ot észlelnek közöttük. Ezért az alagút felállítása után megváltozó útvonal olyan névtérbe viheti a forgalmat, amelyet a szabályai soha nem fedtek le.

Olvassa el, melyik formát használja valójában a kapcsolat

Kérdezze a végpontot ahelyett, hogy a tűzfalból találgatna. Linuxon az állapotbejegyzés jelzi, hogy az együttes UDP-beágyazást használ-e, és mely portok érintettek. Egy csomagrögzítés ugyanerre a kérdésre válaszol a vezetékről, és mindkettő gyorsabb, mint szabálykészletet olvasni és reménykedni.

ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'

Az első parancs beágyazási típust mutat, amikor NAT traversal van használatban, és semmit, amikor nincs. A második megmutatja, melyik forma halad át valójában a csatolón, és ez lezárja a vitákat egy papíron helyesnek látszó konfigurációról.

Az ellenbizonyíték ugyanahhoz a lépéshez tartozik. A nulla egyezést jelentő szabály azt mondja, hogy a csomag soha nem érte el, és ez útválasztási vagy szelektor-kérdés, nem tűzfal-kérdés.

Ezután külön erősítse meg a vezérlőcsatornát. Az IKE-nek saját portjai és saját naplói vannak, és az adat nélkül lezárt tárgyalás pontosan az a szétválás, amelyről ez a cikk szól.

Írja a szabályt a megfelelő névtérbe

A protokollszabály és a portszabály külön utasítások, ezért az eszköznek azt kell kifejeznie, amelyet Ön szeretne. Az nftablesben a protokolleggyezés explicit, és a beágyazott változat saját UDP-szabályt kap. Tartsa a két szabályt egymás mellett, hogy a pár látható legyen az átvizsgáláskor.

nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept

Ne tágítsa egyik szabályt sem egy téves diagnózis kompenzálására. Az ESP-protokoll mindent engedélyezése minden csatolón, vagy az UDP engedélyezése bárhonnan bárhová, tünetet javít és eltávolítja azt a kontrollt, amelyet be akart állítani. A szűk, támogatott folyam szinte mindig elegendő, ha a forma ismert.

Végül, tartsa egyenesen a rétegeket, amikor az alagút működik, az alkalmazás pedig nem. Az átjáróhoz érkező csomagoknak továbbra is kell továbbítás, visszaútvonal és az őket beengedő házirend, és ezek egyikét sem fejezi ki ESP-szabály. A hiányzó port egy konkrét hibát magyaráz, nem minden IPsec-hibát. Tartsa a szabályjavítást és az útválasztás-ellenőrzést két külön következtetésként.

Jegyezze fel a megfigyelt formát, a hozzáadott protokollszabályt és a később látott számlálót. Három sor, és a következő ember egy perc alatt meg tudja különböztetni a névtérhibát az útválasztási hibától egy délután helyett.

Kapcsolódó cikkek