Støttebilletter kommer ofte inn når brannmur-endringen allerede er godkjent og tunnelen fortsatt nekter å komme opp. Det er det forventede resultatet når bare én ende har funksjonen: TCP-innkapsling etter RFC 9329 må implementeres og konfigureres i begge ender, og avtalen skjer inne i forbindelsen før noen beskyttet trafikk kan flytte seg. Å åpne en port annonserer en lytter som kanskje ikke finnes, og en lytter uten den matchende konfigurasjonen i den andre enden godtar en forbindelse og blir deretter stille. Rekkefølgen nedenfor setter de billige sjekkene først.

Vit hva alternativet faktisk tilfører

Innebygd IPsec transporterer krypterte nyttelaster som IP-protokoll 50, uten et portnummer som må tillates. NAT-traversal pakker disse pakkene inn i UDP til port 4500, og derfor nevner så mange brannmurregler den porten. RFC 9329 tilfører en strømsrepresentasjon: IKE- og IPsec-pakker reiser begge inne i én TCP-forbindelse, vanligvis til port 4500.

Strømmen er ikke en webtjeneste. En TCP-forbindelse til 4500 sier ingenting om HTTP, TLS eller proxyvennlighet, og en HTTP-proxy på veien vil vanligvis bryte innrammingen i stedet for å bære den.

Forhåndssjekk før du rører brannmuren

Standarden plasserer TCP som en fallback for nettverk som dropper UDP-veien, ikke som en erstatning for den. Skaff to fakta fra hver leverandør: det nøyaktige funksjonsnavnet og versjonen som implementerer RFC 9329 i stedet for en proprietær variant. Etiketter som IPsec over TCP er brukt for urelaterte design, så be om dokumentreferansen og konfigurasjonsnøkkelen som slår den på. Uten begge svarene bør du ikke anta noe om kabelkompatibilitet.

Bevis det i et laboratorium der begge ender er dine. En gateway som svarer på TCP 4500, men aldri fullfører IKE, er signaturen på en lytter uten den matchende innkapslingen i den andre enden, og det er mye billigere å oppdage der enn under et endringsvindu.

På respondersiden: er det noe som lytter

Start med sokkelen. ss -ltnp | grep 4500 viser om det finnes en TCP-lytter og hvilken prosess som eier den. Fraværet av en linje avslutter undersøkelsen ved gateway-konfigurasjonen i stedet for ved nettverket.

Hvis sokkelen er der, se på håndtrykket i stedet for å gjette fra klientsiden: tcpdump -ni any 'tcp port 4500'. Et fullført treveis håndtrykk etterfulgt av stillhet betyr at strømmen ble godtatt og IKE-utvekslingen inne i den mislyktes, mens et SYN uten svar peker på filtrering eller på feil adresse.

Sammenlign med UDP-veien i samme opptaksvindu slik at de to ikke forveksles: tcpdump -ni any 'udp port 4500 or proto 50'. Trafikk på protokoll 50 eller UDP-port 4500 mens du tror TCP er i bruk, betyr at partene aldri ble enige om fallbacken. Ta opp på gatewayen også hvis du kan, fordi et opptak på klientsiden ikke kan vise hva den fjerne enden sendte.

Godta i fire separate trinn

Behandle oppstarten som fire resultater. Hvert kan feile av ulik grunn, og én enkelt bestått eller feilet skjuler hvilket det var, så stopp ved det første trinnet som feiler og start på nytt fra toppen.

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

Trinn fire er det som hoppes over. En eksisterende økt kan fortsette å virke på bufret tilstand, så åpne en ny forbindelse til en vert bak gatewayen før du lukker endringen. Hvis trinn to feiler mens trinn én består, ligger uenigheten i forslaget eller i innkapslingsinnstillingen, ikke i brannmuren.

Tilbakerulling, og kostnaden ved å la det stå på

Planlegg angreningen før endringen: slå av innkapslingsalternativet i begge ender og bekreft at tunnelen kommer tilbake over UDP. Behold TCP-regelen i én gjennomgangssyklus i tilfelle fallbacken trengs igjen, og fjern den deretter. En ubrukt lytter på 4500 er angrepsflate uten driftsmessig verdi.

Følg med på ytelsessignaturen når den bærer ekte arbeid. TCP inne i TCP legger til bekreftelseslag som stopper ved ett enkelt tap, og strømmer som deler én forbindelse kan blokkere hverandre, så mål applikasjonen som skal bruke tunnelen i stedet for en ping.

Akseptliste

Bekreft funksjonsnavn og versjon i begge ender, lytteren på respondersiden, opptaket som viser et fullført håndtrykk, og de fire trinnene registrert med tidsstempler. Legg årsaken til fallbacken i endringsloggen slik at neste ingeniør vet hvorfor TCP er der. Øv på tilbakerullingen før du trenger den.

Hvis et trinn feiler, reparer bare det trinnet. Å endre chifferpakken eller identitetsinnstillingene for å jage et transportproblem legger vanligvis til en annen, urelatert feil oppå den første.

Relaterte artikler