IKE over TCP 4500: kontrollér begge ender før portreglen
TCP-indkapsling forhandles af begge ender, den tildeles ikke af en firewallregel. Kør lytterkontrollen, optagelsen og de fire accepttrin i rækkefølge.
Supportbilletter kommer ofte med firewallændringen allerede godkendt og tunnelen, der stadig nægter at komme op. Det er det forventede resultat, når kun den ene ende har funktionen: TCP-indkapsling efter RFC 9329 skal implementeres og konfigureres i begge ender, og aftalen sker inde i forbindelsen, før nogen beskyttet trafik kan flytte sig. At åbne en port annoncerer en lytter, der måske ikke findes, og en lytter uden den matchende konfiguration i den anden ende accepterer en forbindelse og bliver derefter tavs. Rækkefølgen nedenfor sætter de billige kontroller først.
Ved, hvad indstillingen faktisk tilføjer
Indbygget IPsec transporterer krypterede nyttelaster som IP-protokol 50, uden et portnummer at tillade. NAT-traversal pakker disse pakker ind i UDP til port 4500, og derfor nævner så mange firewallregler den port. RFC 9329 tilføjer en strømrepræsentation: IKE- og IPsec-pakker rejser begge inde i én TCP-forbindelse, normalt til port 4500.
Strømmen er ikke en webtjeneste. En TCP-forbindelse til 4500 siger intet om HTTP, TLS eller proxyvenlighed, og en HTTP-proxy på vejen vil normalt bryde indramningen i stedet for at bære den.
Forhåndskontrol, før du rører firefallen
Standarden placerer TCP som en tilbagefaldsløsning for netværk, der dropper UDP-vejen, ikke som en erstatning for den. Få to fakta fra hver leverandør: det præcise funktionsnavn og den version, der implementerer RFC 9329 i stedet for en proprietær variant. Betegnelser som IPsec over TCP er blevet brugt til urelaterede designs, så bed om dokumentreferencen og den konfigurationsnøgle, der slår den til. Uden begge svar bør du ikke antage noget om kompatibilitet på kablet.
Bevis det i et laboratorium, hvor begge ender er dine. En gateway, der svarer på TCP 4500, men aldrig fuldfører IKE, er signaturen på en lytter uden den matchende indkapsling i den anden ende, og det er meget billigere at opdage der end under et ændringsvindue.
På responder-siden: er der noget, der lytter
Start med soklen. ss -ltnp | grep 4500 viser, om der findes en TCP-lytter, og hvilken proces der ejer den. Fraværet af en linje afslutter undersøgelsen ved gateway-konfigurationen i stedet for ved netværket.
Hvis soklen er der, så se på håndtrykket i stedet for at gætte fra klientsiden: tcpdump -ni any 'tcp port 4500'. Et fuldført trevejshåndtryk efterfulgt af tavshed betyder, at strømmen blev accepteret, og at IKE-udvekslingen inde i den mislykkedes, mens et SYN uden svar peger på filtrering eller på den forkerte adresse.
Sammenlign med UDP-vejen i samme optagelsesvindue, så de to ikke forveksles: tcpdump -ni any 'udp port 4500 or proto 50'. Trafik på protokol 50 eller UDP-port 4500, mens du tror, at TCP bruges, betyder, at parterne aldrig blev enige om tilbagefaldet. Optag også på gatewayen, hvis du kan, fordi en optagelse på klientsiden ikke kan vise, hvad den fjerne ende sendte.
Acceptér i fire separate trin
Behandl opstarten som fire resultater. Hvert kan fejle af en anden grund, og et enkelt bestået eller fejlet skjuler hvilket, så stop ved det første trin, der fejler, og start forfra fra toppen.
| 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 |
Trin fire er det, der bliver sprunget over. En eksisterende session kan fortsætte på cachet tilstand, så åbn en ny forbindelse til en vært bag gatewayen, før du lukker ændringen. Hvis trin to fejler, mens trin et består, ligger uenigheden i forslaget eller i indkapslingsindstillingen, ikke i firefallen.
Tilbagerulning og prisen for at lade det være tændt
Planlæg fortrydelsen før ændringen: slå indkapslingsindstillingen fra i begge ender, og bekræft at tunnelen vender tilbage over UDP. Behold TCP-reglen i én gennemgangscyklus, hvis tilbagefaldet bliver nødvendigt igen, og fjern den derefter. En ubrugt lytter på 4500 er angrebsflade uden driftsmæssig værdi.
Hold øje med ydelsessignaturen, når den bærer rigtigt arbejde. TCP inde i TCP tilføjer bekræftelseslag, der går i stå ved et enkelt tab, og strømme, der deler én forbindelse, kan blokere hinanden, så mål den applikation, der skal bruge tunnelen, i stedet for et ping.
Acceptliste
Bekræft funktionsnavn og version i begge ender, lytteren på responder-siden, optagelsen der viser et fuldført håndtryk, og de fire trin registreret med tidsstempler. Føj årsagen til tilbagefaldet til ændringsregistreringen, så den næste ingeniør ved, hvorfor TCP er der. Øv tilbagerulningen, før du får brug for den.
Hvis et trin fejler, så ret kun det trin. At ændre cipher suite eller identitetsindstillingerne for at jage et transportproblem tilføjer normalt en anden, urelateret fejl oven på den første.