Å følge en TPROXY-pakke helt til socketen
Kontroller den mottakende socketen, pakkemerket og den lokale policy-ruten som én leveringsvei for en transparent proxy.
En TPROXY-teller kan øke mens applikasjonen ikke mottar noe. Regelen traff, men lokal levering avhenger fortsatt av policy-ruting og en kompatibel mottakende socket.
Linux TPROXY kan fange trafikk uten å skrive om destinasjonen slik DNAT gjør. Pakker adressert til en ikke-lokal destinasjon må derfor nå en egnet lokal socket.
Følg leveringsveien
- Trafikken når avfangstverten på det tiltenkte grensesnittet og adressefamilien.
- Avfangstregelen og pakkemerket angir policyen for lokal levering.
- En samsvarende policy-regel velger en rute som leverer pakkene lokalt.
- Proxyen bruker en støttet transparent lytter med det nødvendige socket-alternativet.
Kjernens IPv4-eksempel krever applikasjonsstøtte for IP_TRANSPARENT. En vanlig lytter på samme port, eller en global ikke-lokal bind-innstilling, beviser ikke den støtten.
| Observasjon | Neste kontroll |
|---|---|
| Ingen relevante inngående pakker | Trafikkvei og inngangsgrensesnitt |
| Pakker ankommer; avfangstellingen står stille | Adressefamilie, kjede og samsvarsbetingelser |
| Regelen samsvarer; lokal levering mislykkes | Merke og valg av policy-rute |
| Socketen lytter; applikasjonen ser ingenting | Transparent socket-evne og lytterens eier |
| Forespørselen starter; senere svar mislykkes | Samsvar for etablert socket og returruter |
Ta vare på den lastede konfigurasjonen og nettverksnavnerommet sammen med hver observasjon. En senere regel kan overskrive et merke eller velge en annen rute. Hvis avfangsten skjer på verten mens lytteren kjører i en container, leverer ikke en gyldig vertslokal rute automatisk inn i den containeren.
Regn med senere pakker
Kjernens eksempel inneholder socket-samsvar og en DIVERT-vei som merker pakker som tilhører transparente sockets. Utelates den, kan senere trafikk bli værende på en annen vei selv når den første avfangsten lykkes.
Bruk applikasjonens støttede transparente modus og den samsvarende kjernedokumentasjonen for hver adressefamilie. En IPv4-kommando for lokal rute konfigurerer ikke IPv6, og støtte i én familie beviser ikke socket-atferden i den andre.
TPROXY genererer heller ikke SOCKS-forhandling. En komponent fra transparent til SOCKS må fortsatt finne destinasjonen og forhandle med oppstrøms.
Gå over fra REDIRECT
Noter hvordan den eksisterende applikasjonen får den opprinnelige destinasjonen. REDIRECT endrer destinasjonen og er avhengig av riktig gjenopprettingsmekanisme; TPROXY trenger sin transparente socket og ruteoppsett. Velg etter applikasjonen og kildeadressepolicyen.
Koble tellere til den valgte ruten, socket-evnen og applikasjonsloggen før du bytter avfangstmodus. På en distribusjon som leverer de nødvendige fasilitetene, er et manglende leveringstrinn et bedre utgangspunkt enn å kompilere kjernen på nytt.