Počítadlo TPROXY môže rásť, aj keď aplikácia nič neprijíma. Pravidlo zodpovedalo, ale lokálne doručenie stále závisí od smerovania podľa politiky a kompatibilného prijímajúceho socketu.

Linux TPROXY dokáže zachytiť prevádzku bez prepísania cieľa, ako to robí DNAT. Pakety adresované na nelokálnu destináciu preto musia doraziť do vhodného lokálneho socketu.

Sledujte cestu doručenia

  1. Prevádzka dorazí k hostiteľovi zachytávania cez zamýšľané rozhranie a rodinu adries.
  2. Pravidlo zachytávania a značka paketu určujú politiku lokálneho doručenia.
  3. Zodpovedajúce pravidlo politiky vyberie trasu, ktorá pakety doručí lokálne.
  4. Proxy používa podporovaný transparentný poslucháč s požadovanou voľbou socketu.

Príklad IPv4 v jadre vyžaduje podporu aplikácie pre IP_TRANSPARENT. Bežný poslucháč na tom istom porte alebo globálne nastavenie nelokálneho viazania túto podporu nepreukazuje.

PozorovanieĎalšia kontrola
Žiadne relevantné prichádzajúce paketyCesta prevádzky a vstupné rozhranie
Pakety dorazia; počítadlo zachytávania sa nemeníRodina adries, reťazec a podmienky zhody
Pravidlo zodpovedá; lokálne doručenie zlyhávaZnačka a výber trasy politiky
Socket počúva; aplikácia nič nevidíSchopnosť transparentného socketu a vlastník poslucháča
Požiadavka sa začne; neskoršie odpovede zlyhávajúZhoda nadviazaného socketu a spätné trasy

Pri každom pozorovaní si uchovajte načítanú konfiguráciu a sieťový menný priestor. Neskoršie pravidlo môže prepísať značku alebo vybrať inú trasu. Ak k zachytávaniu dochádza na hostiteľovi, zatiaľ čo poslucháč beží v kontajneri, platná lokálna trasa hostiteľa automaticky nedoručuje do tohto kontajnera.

Rátajte s neskoršími paketmi

Príklad jadra obsahuje zhodu socketu a cestu DIVERT, ktorá označuje pakety transparentných socketov. Ak ju vynecháte, neskoršia prevádzka môže zostať na inej ceste, aj keď prvotné zachytenie uspeje.

Použite transparentný režim podporovaný aplikáciou a zodpovedajúcu dokumentáciu jadra pre každú rodinu adries. Príkaz lokálnej trasy IPv4 nenastavuje IPv6 a podpora v jednej rodine nepreukazuje správanie socketu v druhej.

TPROXY tiež nevytvára vyjednávanie SOCKS. Komponent z transparentného na SOCKS stále musí zistiť destináciu a vyjednať so svojím nadradeným serverom.

Prechod z REDIRECT

Zaznamenajte, ako existujúca aplikácia získava pôvodnú destináciu. REDIRECT mení destináciu a spolieha sa na príslušný mechanizmus obnovy; TPROXY potrebuje svoj transparentný socket a usporiadanie smerovania. Vyberajte podľa aplikácie a politiky zdrojovej adresy.

Pred zmenou režimu zachytávania spojte počítadlá s vybranou trasou, schopnosťou socketu a záznamom aplikácie. Na distribúcii, ktorá poskytuje potrebné prostriedky, je chýbajúci krok doručenia lepším východiskom než rekompilácia jadra.

Súvisiace články