IKE oor TCP 4500: kontroleer albei kante voor die poortreël
TCP-inkapseling word deur albei kante onderhandel, nie deur 'n firewallreël toegestaan nie. Voer die luisteraarkontrole, die opname en die vier aanvaardingstadia in volgorde uit.
Steuntikette kom dikwels in met die firewallverandering reeds goedgekeur en die tonnel wat steeds weier om op te kom. Dit is die verwagte uitkoms wanneer net een kant die funksie het: RFC 9329 se TCP-inkapseling moet aan albei kante geïmplementeer en ingestel word, en die ooreenkoms vind binne die verbinding plaas voordat enige beskermde verkeer kan beweeg. Om 'n poort oop te maak, adverteer 'n luisteraar wat dalk nie bestaan nie, en 'n luisteraar sonder 'n ooreenstemmende opset aan die ander kant aanvaar 'n verbinding en raak dan stil. Die volgorde hieronder plaas die goedkoop kontroles eerste.
Weet wat die opsie werklik byvoeg
Inheemse IPsec dra versleutelde loonvragte as IP-protokol 50, met geen poortnommer om toe te laat nie. NAT-traversal verpak daardie pakkette in UDP na poort 4500, en dit is waarom so baie firewallreëls daardie poort noem. RFC 9329 voeg 'n stroomvoorstelling by: IKE- en IPsec-pakkette reis albei binne een TCP-verbinding, gewoonlik na poort 4500.
Die stroom is nie 'n webdiens nie. 'n TCP-verbinding na 4500 sê niks oor HTTP, TLS of proxy-vriendelikheid nie, en 'n HTTP-proxy in die pad sal gewoonlik die raamwerk breek eerder as om dit te dra.
Voorkontrole voordat jy aan die firewall raak
Die standaard plaas TCP as 'n terugval vir netwerke wat die UDP-pad laat val, nie as 'n vervanging daarvoor nie. Kry twee feite by elke verskaffer: die presiese funksienaam en die weergawe wat RFC 9329 implementeer eerder as 'n eie variant. Etikette soos IPsec over TCP is vir onverwante ontwerpe gebruik, so vra vir die dokumentverwysing en die opsiesleutel wat dit aanskakel. Sonder albei antwoorde, moet jy niks oor draadversoenbaarheid aanneem nie.
Bewys dit in 'n laboratorium waar albei kante joune is. 'n Gateway wat op TCP 4500 antwoord maar nooit IKE voltooi nie, is die kenmerk van 'n luisteraar sonder die ooreenstemmende inkapseling aan die ander kant, en dit is baie goedkoper om daar te ontdek as tydens 'n veranderingsvenster.
Op die reaksiekant: of daar iets luister
Begin met die sok. ss -ltnp | grep 4500 wys of daar 'n TCP-luisteraar bestaan en watter proses dit besit. Die afwesigheid van 'n lyn beëindig die ondersoek by die gateway-opset eerder as by die netwerk.
As die sok daar is, kyk na die handdruk eerder as om van die kliëntkant te raai: tcpdump -ni any 'tcp port 4500'. 'n Voltooide drieweg-handdruk gevolg deur stilte beteken die stroom is aanvaar en die IKE-uitruiling daarin het misluk, terwyl 'n SYN sonder antwoord op filtering of die verkeerde adres dui.
Vergelyk met die UDP-pad in dieselfde opnamevenster sodat die twee nie verwar word nie: tcpdump -ni any 'udp port 4500 or proto 50'. Verkeer op protokol 50 of UDP-poort 4500 terwyl jy glo TCP word gebruik, beteken die eweknieë het nooit oor die terugval ooreengekom nie. Maak ook op die gateway 'n opname as jy kan, want 'n opname aan die kliëntkant kan nie wys wat die ander kant gestuur het nie.
Aanvaar in vier afsonderlike stadiums
Behandel die opbou as vier resultate. Elkeen kan om 'n ander rede misluk, en 'n enkele slaag of mislukking verberg watter een dit was, so stop by die eerste stadium wat misluk en begin weer van bo.
| Stage | What you check | What it proves |
|---|---|---|
| 1 | TCP connection established to 4500 | A listener exists and the path permits it |
| 2 | IKE_SA authenticated in the gateway log | Both peers agreed on the encapsulation |
| 3 | CHILD_SA installed, visible with ip xfrm state | Keys exist for the protected traffic |
| 4 | A new application exchange succeeds | The data path works, not just the control path |
Stadium vier is die een wat oorgeslaan word. 'n Bestaande sessie kan op gekaste toestand aanhou werk, so maak 'n nuwe verbinding na 'n gasheer agter die gateway oop voordat jy die verandering sluit. As stadium twee misluk terwyl stadium een slaag, sit die verskil in die voorstel of in die inkapselingsinstelling, nie in die firewall nie.
Terugrol, en die koste om dit aan te hou
Beplan die ongedaanmaking voor die verandering: skakel die inkapselingsopsie aan albei kante af en bevestig die tonnel keer oor UDP terug. Hou die TCP-reël vir een hersieningsiklus ingeval die terugval weer nodig is, en verwyder dit dan. 'n Ongebruikte luisteraar op 4500 is oppervlak sonder enige operasionele waarde.
Let op die prestasiekenmerk sodra dit werklike werk dra. TCP binne TCP voeg erkenningslae by wat by 'n enkele verlies vasval, en strome wat een verbinding deel kan mekaar blokkeer, so meet die toepassing wat die tonnel gaan gebruik eerder as om 'n ping te doen.
Aanvaardingslys
Bevestig die funksienaam en weergawe aan albei kante, die luisteraar op die reaksiekant, die opname wat 'n voltooide handdruk wys, en die vier stadiums wat met tydstempels aangeteken is. Voeg die rede vir die terugval by die veranderingsrekord sodat die volgende ingenieur weet waarom TCP daar is. Oefen die terugrol voordat jy dit nodig het.
As enige stadium misluk, herstel net daardie stadium. Om die cipher suite of die identiteitsinstellings te verander om 'n vervoerprobleem na te jaag, voeg gewoonlik 'n tweede, onverwante fout bo-op die eerste by.