TPROXY 重定向和路由決策

TPROXY 重定向和路由決策

我想問一下使用 Tproxy 重定向時內部會發生什麼。

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

它位於PREROUTINGiptables 的 mangle 表中。

據我所知,路由決策是在PREROUTING鏈之後做出的。

當使用 Tproxy 進行重定向時,如上所述。

數據包通過ip rule& routing table?還是直接到本地40001埠?

答案1

我也有同樣的問題。
我想知道發生了什麼,因為我發現如果我使用 TPROXY,路由表看起來不起作用。

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

有fwmark 1之類的路由表

local default dev lo scope host

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

我發現資料包沒有通過表1,因為我無法透過tcpdump捕獲它。
任何人都可以幫助我

相關內容