Tproxy를 사용하여 리디렉션할 때 내부적으로 어떤 일이 발생하는지 묻고 싶습니다.
iptables -t mangle -A PREROUTING -p tcp --dport 443 -j TPROXY --tproxy-mark 1 --on-port 40001
PREROUTING
iptables의 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
tcpdump로 패킷을 캡처할 수 없기 때문에 패킷이 테이블 1을 통과하지 못하는 것을 발견했습니다.
누구든지 나를 도와줄 수 있어요