Tikety podpory často prichádzajú s už schválenou zmenou firewallu a tunelom, ktorý stále odmieta naskočiť. To je očakávaný výsledok, keď funkciu má len jeden koniec: TCP zapuzdrenie podľa RFC 9329 treba implementovať a nakonfigurovať na oboch koncoch a dohoda sa odohráva vo vnútri spojenia, skôr než sa pohne akýkoľvek chránený provoz. Otvorenie portu inzeruje poslucháča, ktorý nemusí existovať, a poslucháč bez zodpovedajúcej konfigurácie na druhej strane prijme spojenie a potom stíchne. Poradie nižšie dáva lacné kontroly na prvé miesto.

Vedzte, čo možnosť skutočne pridáva

Natívny IPsec prenáša šifrované užitočné zaťaženia ako IP protokol 50, bez čísla portu, ktoré by sa malo povoliť. NAT traversal zabalí tie pakety do UDP na port 4500, a preto toľko pravidiel firewallu spomína tento port. RFC 9329 pridáva reprezentáciu toku: pakety IKE aj IPsec cestujú vnútri jedného TCP spojenia, zvyčajne na port 4500.

Tok nie je webová služba. TCP spojenie na 4500 nehovorí nič o HTTP, TLS ani vľúdnosti k proxy a HTTP proxy v ceste zvyčajne rámovanie rozbije, namiesto toho aby ho preniesla.

Predbežná kontrola, skôr než sa dotknete firewallu

Štandard stavia TCP ako záložnú cestu pre siete, ktoré zahadzujú UDP cestu, nie ako jej náhradu. Získajte dva fakty od každého dodávateľa: presný názov funkcie a verziu, ktorá implementuje RFC 9329, nie proprietárnu variantu. Označenia ako IPsec over TCP sa používali pre nesúvisiace návrhy, preto si vyžiadajte odkaz na dokument a konfiguračný kľúč, ktorý ju zapína. Bez oboch odpovedí nič nepredpokladajte o kompatibilite na drôte.

Dokážte to v laboratóriu, kde sú oba konce vaše. Brána, ktorá odpovedá na TCP 4500, ale nikdy nedokončí IKE, je podpisom poslucháča bez zodpovedajúceho zapuzdrenia na druhej strane, a odhaliť to tam je oveľa lacnejšie než počas okna zmeny.

Na strane odpovedajúceho: počúva niečo

Začnite socketom. ss -ltnp | grep 4500 ukazuje, či existuje TCP poslucháč a ktorý proces ho vlastní. Neprítomnosť riadku ukončuje vyšetrovanie pri konfigurácii brány, nie pri sieti.

Ak socket existuje, sledujte handshake, namiesto toho aby ste hádali zo strany klienta: tcpdump -ni any 'tcp port 4500'. Dokončený trojcestný handshake nasledovaný tichom znamená, že tok bol prijatý a výmena IKE v ňom zlyhala, zatiaľ čo SYN bez odpovede ukazuje na filtrovanie alebo na zlú adresu.

Porovnajte s UDP cestou v tom istom okne zachytenia, aby sa obe nemýlili: tcpdump -ni any 'udp port 4500 or proto 50'. Provoz na protokole 50 alebo UDP porte 4500, keď veríte, že sa používa TCP, znamená, že strany sa nikdy nedohodli na záložnej ceste. Zachyťte aj na bráne, ak môžete, pretože zachytenie na strane klienta nemôže ukázať, čo poslal vzdialený koniec.

Prijímajte v štyroch samostatných fázach

Berte nabehnutie ako štyri výsledky. Každý môže zlyhať z iného dôvodu a jediné prešlo či neprešlo skrýva, ktorý to bol, preto sa zastavte pri prvej fáze, ktorá zlyhá, a začnite znova od začiatku.

StageWhat you checkWhat it proves
1TCP connection established to 4500A listener exists and the path permits it
2IKE_SA authenticated in the gateway logBoth peers agreed on the encapsulation
3CHILD_SA installed, visible with ip xfrm stateKeys exist for the protected traffic
4A new application exchange succeedsThe data path works, not just the control path

Štvrtá fáza je tá, ktorá sa preskakuje. Existujúca relácia môže ďalej fungovať na kešovanom stave, preto pred uzavretím zmeny otvorte nové spojenie k hostiteľovi za bránou. Ak druhá fáza zlyhá, zatiaľ čo prvá prejde, nezhoda je v návrhu alebo v nastavení zapuzdrenia, nie vo firewalle.

Vrátenie späť a cena za to, že to necháte zapnuté

Naplánujte odvolanie pred zmenou: vypnite možnosť zapuzdrenia na oboch koncoch a potvrďte, že tunel sa vracia cez UDP. Pravidlo TCP ponechajte jeden revízny cyklus pre prípad, že záložná cesta bude znova potrebná, a potom ho odstráňte. Nevyužitý poslucháč na 4500 je povrch bez prevádzkovej hodnoty.

Sledujte výkonnostný podpis, keď ponesie skutočnú prácu. TCP v TCP pridáva vrstvy potvrdenia, ktoré sa zaseknú pri jedinej strate, a toky zdieľajúce jedno spojenie sa môžu navzájom blokovať, preto merajte aplikáciu, ktorá tunel bude používať, namiesto ping.

Zoznam prijatia

Potvrďte názov a verziu funkcie na oboch koncoch, poslucháča na strane odpovedajúceho, zachytenie s dokončeným handshake a štyri fázy zaznamenané s časovými značkami. Pridajte dôvod záložnej cesty do záznamu zmeny, aby ďalší inženýr vedel, prečo tam TCP je. Nacvičte vrátenie späť, kým ho budete potrebovať.

Ak niektorá fáza zlyhá, opravte len tú fázu. Zmena šifrovacej sady alebo nastavení identity pri naháňaní transportného problému zvyčajne pridá druhý, nesúvisiaci problém navrch prvého.

Súvisiace články