Decisión de enrutamiento y redireccionamiento de TPROXY

Decisión de enrutamiento y redireccionamiento de TPROXY

Me gustaría preguntar qué sucede internamente al redirigir usando Tproxy.

iptables -t mangle -A PREROUTING -p tcp --dport 443 -j TPROXY --tproxy-mark 1 --on-port 40001

Se ubicó PREROUTINGen la mesa mangle de iptables.

Hasta donde yo sé, la decisión de enrutamiento se toma después de la PREROUTINGcadena.

Al redirigir usando Tproxy como se indica arriba.

¿Paquete a través de ip rule& routing table? ¿O va directamente al puerto local 40001?

Respuesta1

Tengo el mismo problema.
Quiero saber qué pasó porque encuentro que si uso TPROXY, la tabla de enrutamiento parece no funcionar.

Chain PREROUTING (policy ACCEPT 887 packets, 200K bytes)
 pkts bytes target     prot opt in     out     source               destination
  20M 4462M TPROXY_SRV_eth3.1  all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain TPROXY_SRV_eth3.1 (1 references)
 pkts bytes target     prot opt in     out     source               destination
  225 14048 TPROXY     tcp  --  eth3.1 *       0.0.0.0/0            172.168.2.0/24       tcp dpt:8000 TPROXY redirect 172.168.2.3:8000 mark 0x1/0x1

La tabla de rutas con fwmark 1 como

local default dev lo scope host

La regla de propiedad intelectual es

0:  from all lookup local
1:  from all fwmark 0x1 lookup 1
10: from all fwmark 0x29 lookup 41
10: from all fwmark 0xc lookup test
32766:  from all lookup main
32767:  from all lookup default

Descubrí que el paquete no pasa por la tabla 1 porque no puedo capturarlo mediante tcpdump.
alguien puede ayudarme

información relacionada