我在 docker 容器中运行 VPN 客户端。我正在尝试通过端口 8080 从主机连接到在 docker 容器中运行的 Web 服务器。当我尝试连接时,我通过 tcpdump 看到端口 8080 上的传入数据包,但 Web 服务器从未看到它。我为数据包的所有可能状态转换添加了 iptables '-j LOG' 规则,以尝试对其进行跟踪。我在以下位置看到数据包:
然后……什么都没有。经过一小段延迟后,重新发送数据包,我看到新数据包通过 PREROUTING。mangle INPUT 或 mangle FORWARD 链上从未出现任何内容 - 据我所知这是不可能的 - 它必须击中其中之一。有没有办法让数据包通过 PREROUTING,但没有点击 INPUT 或 FORWARD?我的 iptables 如下:
root@87ff7ad8e4f9:/# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
NFLOG tcp -- anywhere anywhere tcp spt:http-alt nflog-prefix "raw pre-route Src incoming packet"
NFLOG tcp -- anywhere anywhere tcp dpt:http-alt …Run Code Online (Sandbox Code Playgroud)