Ein TPROXY-teljar kan auke medan applikasjonen ikkje mottek noko. Regelen trefte, men lokal levering er framleis avhengig av policy-ruting og ein kompatibel mottakande socket.

Linux TPROXY kan fange trafikk utan å skrive om destinasjonen slik DNAT gjer. Pakkar adresserte til ein ikkje-lokal destinasjon må difor nå ein eigna lokal socket.

Følg leveringsvegen

  1. Trafikken når avfangstverten på det tiltenkte grensesnittet og adressefamilien.
  2. Avfangstregelen og pakkemerket fastset policyen for lokal levering.
  3. Ein samsvarande policy-regel vel ei rute som leverer pakkane lokalt.
  4. Proxyen brukar ein støtta transparent lyttar med det nødvendige socket-alternativet.

IPv4-dømet i kjernen krev applikasjonsstøtte for IP_TRANSPARENT. Ein vanleg lyttar på same port, eller ei global ikkje-lokal bind-innstilling, provar ikkje den støtta.

ObservasjonNeste kontroll
Ingen relevante inngåande pakkarTrafikkveg og inngangsgrensesnitt
Pakkar kjem; avfangsteljaren står stilleAdressefamilie, kjede og samsvarsvilkår
Regelen samsvarar; lokal levering mislukkastMerke og val av policy-rute
Socketen lyttar; applikasjonen ser ingentingTransparent socket-evne og eigaren av lyttaren
Førespurnaden startar; seinare svar mislukkastSamsvar for etablert socket og returruter

Ta vare på den lasta konfigurasjonen og nettverksnamnerommet saman med kvar observasjon. Ein seinare regel kan skrive over eit merke eller velje ei anna rute. Om avfangsten skjer på verten medan lyttaren køyrer i ein container, leverer ikkje ei gyldig vertslokal rute automatisk inn i den containeren.

Rekn med seinare pakkar

Dømet i kjernen inneheld socket-samsvar og ein DIVERT-veg som merkar pakkar som høyrer til transparente sockets. Vert han utelaten, kan seinare trafikk bli verande på ein annan veg sjølv når den første avfangsten lukkast.

Bruk den støtta transparente modusen til applikasjonen og den samsvarande kjernedokumentasjonen for kvar adressefamilie. Ein IPv4-kommando for lokal rute konfigurerer ikkje IPv6, og støtte i éin familie provar ikkje socket-åtferda i den andre.

TPROXY genererer heller ikkje SOCKS-forhandling. Ein komponent frå transparent til SOCKS må framleis finne destinasjonen og forhandle med oppstraumen.

Gå over frå REDIRECT

Noter korleis den eksisterande applikasjonen får den opphavlege destinasjonen. REDIRECT endrar destinasjonen og er avhengig av rett attopprettingsmekanisme; TPROXY treng si transparente socket og ruteoppsett. Vel etter applikasjonen og kjeldadressepolicyen.

Kople teljarar til den valde ruta, socket-evna og applikasjonsloggen før du byter avfangstmodus. På ein distribusjon som leverer dei nødvendige fasilitetane, er eit manglande leveringstrinn eit betre utgangspunkt enn å kompilere kjernen på nytt.

Relaterte artiklar