我有一个客户端和服务器。在服务器上,我有一个重定向规则,将所有传入流量重定向到端口 15006。
Client IP: 10.20.3.53
ServerIP : 10.20.3.63
我在服务器(10.20.3.63)上有以下iptables规则:
# iptables -t nat -nvL PREROUTING
Chain PREROUTING (policy ACCEPT 581 packets, 34860 bytes)
pkts bytes target prot opt in out source destination
19191 1160K ISTIO_INBOUND tcp -- * * 0.0.0.0/0 0.0.0.0/0
# iptables -t nat -nvL ISTIO_INBOUND
Chain ISTIO_INBOUND (1 references)
pkts bytes target prot opt in out source destination
0 0 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
19188 1151K RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:15020
10 9630 ISTIO_IN_REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0
# iptables -t nat -nvL ISTIO_IN_REDIRECT
Chain ISTIO_IN_REDIRECT (2 references)
pkts bytes target prot opt in out source destination
10 9630 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 redir ports 15006
因此,当我从客户端(10.20.3.53)向服务器(10.20.3.63)执行 curl 时
我无法在 conntrack 表中看到重定向的流,下面是 conntrack 表流:
[NEW] tcp 6 120 SYN_SENT src=10.20.3.53 dst=10.20.3.63 sport=41876 dport=9080 [UNREPLIED] src=10.20.3.63 dst=10.20.3.53 sport=15006 dport=41876
[UPDATE] tcp 6 60 SYN_RECV src=10.20.3.53 dst=10.20.3.63 sport=41876 dport=9080 src=10.20.3.63 dst=10.20.3.53 sport=15006 dport=41876
[UPDATE] tcp 6 86400 ESTABLISHED src=10.20.3.53 dst=10.20.3.63 sport=41876 dport=9080 src=10.20.3.63 dst=10.20.3.53 sport=15006 dport=41876 [ASSURED]
[UPDATE] tcp 6 86400 src=10.20.3.53 dst=10.20.3.63 sport=41876 dport=9080 src=10.20.3.63 dst=10.20.3.53 sport=15006 dport=41876 [ASSURED] mark=61167
我总是看到具有 dport 9080 的原始流量,为什么我看不到具有 dport 15006 的重定向流量。
请问有人能帮助我理解如何从 conntrack 获取重定向流吗?