Ping verkar, SSH verkar, ei lita side blir lasta, og så heng kvart stort svar til tida renn ut. Det klassiske mønsteret peikar på pakkestorleik og ikkje på tilgjenge: vegen ber handtrykket og dei første kilobyta, deretter forsvinn eit segment i full storleik. På ein Linux IPsec-gateway er ein TCP MSS-regel ofte løysinga, men berre viss du forstår kva han endrar og kvar pakken han rører faktisk er. Rekkjefølgja nedanfor følgjer pakken frå symptomet til plasseringa av regelen, slik at du kan stoppe så snart forklaringa sluttar å passe.

Symptomet som tyder på MSS

TCP forhandlar om ein maksimal segmentstorleik i handtrykket. Viss denne verdien er større enn det vegen kan bera etter innkapsling, held sendaren fram med å lage segment som aldri kjem fram, og sambandet heng etter den første runden. Små svar passar; store gjer det ikkje.

ICMP-tilbakemelding kan redde sambandet gjennom oppdaging av MTU-en til vegen, og ein brannmur som droppar desse meldingane gjer henget til eit stille svart hòl. Derfor verkar den same tunnelen for éin applikasjon og feilar for ein annan utan nokon openberr skilnad i konfigurasjonen.

Kva ein TCPMSS-regel gjer, og kva han ikkje gjer

Regelen skriv om MSS-alternativet i TCP-handtrykkspakkar medan dei passerer. Han set ikkje MTU-en til tunellgrensesnittet, han endrar ikkje IPsec-policyen, og på noverande kjernar senkar han berre ein annonsert verdi i staden for å heve ein som allereie er mindre. Han rører òg berre TCP; UDP-nyttelaster, DNS-åtferd og dei forhandla trafikkveljarane ligg utanfor rekkevidda hans.

Fordi endringa skjer under handtrykket, held eit eksisterande samband som vart oppretta før regelen, på den gamle verdien sin. Test med eit nytt samband, og vent at det første forsøket etter endringa er det som fortel deg noko. Ingenting i regelen når eit samband som allereie er ope. Derfor kan ei retting som blir brukt midt i ei hending, sjå ut som om ho ikkje gjorde noko som helst.

Set regelen på den indre TCP-vegen

På ein policybasert Linux-gateway ser den vidaresende pakken framleis ut som vanleg TCP når brannmuren ser han. IPsec-policyen avgjer at pakken skal vernast; brannmuren ser ingen ESP-header for den indre flyten, så matching på ESP her skildrar ein heilt annan pakke. Det misforholdet er grunnen til at nokre reglar ser rette ut og aldri matcher.

I iptables-termar høyrer regelen til mangle-tabellen på vidaresendingsvegen, avgrensa til handtrykkspakkar: iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1270. Talet er eit døme, ikkje ein universell konstant; leid det ut frå innkapslingskostnaden og den reelle MTU-en til vegen. Ein nftables-ekvivalent set den maksimale segmentstorleiken i ein forward- eller postrouting-kjede.

Hald dei ytre lyttande reglane for IKE og ESP skilde frå dei indre vidaresendingsreglane. Éin einaste regel som prøver å autorisere både applikasjonsflyten og den ytre protokollen, endar med å ikkje matche nokon av dei påliteleg.

Respekter eigaren av brannmuren og NAT-rekkjefølgja

Viss UFW eig brannmuren til verten, legg til mangle- og vidaresendingsendringane gjennom den støtta permanente konfigurasjonen hans i staden for å skrive inn ein kommando som forsvinn ved neste innlasting. Ein regel som blir sett inn i feil tabell eller etter ein terminal regel, har ingen effekt, og den levande tabellen gøymer det for deg.

Kjeldeomsetjing er ei separat avgjerd som ofte spelar saman med denne. Eit unntak plassert før ein generell masquerade-regel hindrar verna trafikk i å miste kjelda som policyen krev; det reparerer ikkje eit storleiksproblem, og ein storleiksregel reparerer ikkje eit omsetjingsproblem.

Verifiser snevert, og stopp så

Opne eit nytt samband til tenesta som feilar, og følg med på både applikasjonen og regelteljarane. Viss henget forsvinn, har du bevis om den TCP-vegen med den innkapslinga. Du har ikkje bevis for at kvar VPN-protokoll passar, at kvar UDP-applikasjon er retta, eller at ei bestemt oppstraums teneste var den opphavlege årsaka.

Lat ICMP-storleikstilbakemelding verke der policyen tillèt det, og handsam automatisk justering basert på rute-MTU med varsemd når den ytre IPsec-vegen ikkje er representert av den indre ruta. Jo snevrare konklusjonen er, jo lettare er den neste hendinga å diagnostisere.

Relaterte artiklar