如何使用“iptables”模拟 NAT 反射失败?

如何使用“iptables”模拟 NAT 反射失败?

假设:

  • 我的工作站 LAN IP 是 192.168.0.101
  • 我的 WAN IP 是 12.34.56.78。
  • 我的消费级路由器正在将 WAN:80 端口转发到 192.168.0.101:8080
  • NAT 反射/发夹结构正在工作

因此,如果我在工作站上收听 8080...

nc -l -p 8080

我从本身,通过它的外部 IP,它可以工作......

echo 'Hello World' | nc 12.34.56.78 80

如果杀死并重复nc -l -p 8080并从外部网络、通过互联网与其对话,它也会起作用......

echo 'Hello World' | nc 12.34.56.78 80

但 ...

我想要模拟发夹弯故障

  • 我的工作站人为地 不能通过 WAN IP 与自身对话
  • 互联网上的一些东西仍然谈论它

我如何使用iptables来创建一个规则来模拟 NAT 发夹故障,但继续允许真的外部流量?

答案1

添加一个普通的“DROP”规则,阻止从路由器 IP 地址到此端口的“INPUT”数据包。

由于发夹式连接“解决”了底层问题的方式,所有发夹式连接看起来都好像来自网关(并且无法区分您自己的连接和 LAN 中其他人的连接),但不应该非发夹式连接将会发生这种情况——它们将保留其原始的互联网源 IP 地址。

相关内容