Redirecionamento TPROXY e decisão de roteamento

Redirecionamento TPROXY e decisão de roteamento

Gostaria de perguntar o que acontece internamente ao redirecionar usando Tproxy.

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

Ele está localizado PREROUTINGna tabela mangle do iptables.

Pelo que eu sei, a decisão de roteamento é feita após a PREROUTINGcadeia.

Ao redirecionar usando Tproxy como acima.

Pacote através de ip rule& routing table? Ou vai diretamente para a porta 40001 local?

Responder1

Eu tenho o mesmo problema.
Quero saber o que aconteceu porque descobri que, se usar TPROXY, a tabela de roteamento parece não 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

A tabela de rotas com fwmark 1 como

local default dev lo scope host

A regra de IP é

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

Descobri que o pacote não passa pela tabela 1 porque não consigo capturá-lo pelo tcpdump.
Alguém pode me ajudar

informação relacionada