我正在使用 iptables 将 Web 和 ssh 的端口从机器重定向14
到25
下图所示:
问题是,当互联网上的任何人访问我的 Web 应用程序时,iptables 会将源 IP 地址更改为其私有地址。因此,我无法知道谁访问了我的 Web 应用程序。
25
如果我的 Web 应用程序也可以向公众访问,那么是否有任何解决方案可以使用 iptables 获取机器上流量的实际源地址?
iptables -t nat -A PREROUTING --dst 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 172.20.16.25
iptables -t nat -A POSTROUTING -p tcp --dst 172.20.16.25 --dport 80 -j SNAT --to-source 172.20.16.14
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING --dst 1.1.1.1 -p tcp --dport 22 -j DNAT --to-destination 172.20.16.25
iptables -t nat -A POSTROUTING -p tcp --dst 172.20.16.25 --dport 22 -j SNAT --to-source 172.20.16.14
iptables -A FORWARD -p tcp --dport 22 -j ACCEPT