Решение о перенаправлении и маршрутизации TPROXY

Решение о перенаправлении и маршрутизации TPROXY

Я хотел бы спросить, что происходит внутри при перенаправлении с использованием Tproxy.

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

Он находится PREROUTINGв таблице mangle iptables.

Насколько мне известно, решение о маршрутизации принимается после 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.
Кто-нибудь может мне помочь?

Связанный контент