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 PREROUTING
na tabela mangle do iptables.
Pelo que eu sei, a decisão de roteamento é feita após a PREROUTING
cadeia.
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