A TPROXY-számláló növekedhet, miközben az alkalmazás semmit sem kap. A szabály illeszkedett, de a helyi kézbesítés továbbra is a házirend-alapú útválasztástól és egy kompatibilis fogadó sockettől függ.

A Linux TPROXY a forgalmat a cél átírása nélkül is elkaphatja, ellentétben a DNAT-tal. Ezért a nem helyi célcímre küldött csomagoknak el kell jutniuk egy megfelelő helyi sockethez.

Kövesse a kézbesítési útvonalat

  1. A forgalom a szándékolt interfészen és címcsaládon érkezik az elfogó hoszthoz.
  2. Az elfogási szabály és a csomagjelölés azonosítja a helyi kézbesítési házirendet.
  3. Egy illeszkedő házirend-szabály olyan útvonalat választ, amely helyben kézbesíti a csomagokat.
  4. A proxy a szükséges socket-beállítással rendelkező támogatott átlátszó figyelőt használ.

A kernel IPv4-példánya az alkalmazás IP_TRANSPARENT-támogatását igényli. Egy szokásos figyelő ugyanazon a porton, vagy egy globális nem helyi kötési beállítás, nem bizonyítja ezt a támogatást.

MegfigyelésKövetkező ellenőrzés
Nincsenek releváns bejövő csomagokForgalmi útvonal és bemeneti interfész
A csomagok megérkeznek; az elfogási számláló nem mozdulCímcsalád, lánc és illesztési feltételek
A szabály illeszkedik; a helyi kézbesítés meghiúsulJelölés és házirend-útvonal választása
A socket figyel; az alkalmazás semmit sem látÁtlátszó socket képessége és a figyelő tulajdonosa
A kérés elindul; a későbbi válaszok meghiúsulnakLétrejött socket illesztése és visszaútvonalak

Minden megfigyelésnél őrizze meg a betöltött konfigurációt és a hálózati névteret. Egy későbbi szabály felülírhat egy jelölést, vagy másik útvonalat választhat. Ha az elfogás a hoszton történik, miközben a figyelő konténerben fut, egy érvényes helyi hosztútvonal nem kézbesít automatikusan abba a konténerbe.

Számoljon a későbbi csomagokkal

A kernel példánya tartalmazza a socket-illesztést és egy DIVERT-útvonalat, amely megjelöli az átlátszó socketekhez tartozó csomagokat. Ha ezt kihagyja, a későbbi forgalom más útvonalon maradhat, még akkor is, ha az első elfogás sikerül.

Használja az alkalmazás által támogatott átlátszó módot és a megfelelő kerneldokumentációt minden címcsaládhoz. Az IPv4 helyi útvonalra vonatkozó parancs nem állítja be az IPv6-ot, és az egyik családban nyújtott támogatás nem bizonyítja a másik socket-viselkedését.

A TPROXY SOCKS-tárgyalást sem hoz létre. Az átlátszóból SOCKS-ba vivő komponensnek továbbra is fel kell fedeznie a célt, és tárgyalnia kell a felsőbb féllel.

Áttérés REDIRECT-ről

Jegyezze fel, hogyan szerzi meg a meglévő alkalmazás az eredeti célt. A REDIRECT megváltoztatja a célt, és a megfelelő helyreállítási mechanizmusra támaszkodik; a TPROXY-nak saját átlátszó socketre és útválasztási elrendezésre van szüksége. Az alkalmazás és a forrás-címházirend szerint válasszon.

Az elfogási módok váltása előtt kapcsolja össze a számlálókat a választott útvonallal, a socket képességével és az alkalmazás naplójával. Egy olyan disztribúción, amely biztosítja a szükséges eszközöket, a hiányzó kézbesítési lépés jobb kiindulópont, mint a kernel újrafordítása.

Kapcsolódó cikkek