为什么 iptables 会改变传入请求的源地址?

为什么 iptables 会改变传入请求的源地址?

我正在使用 iptables 将 Web 和 ssh 的端口从机器重定向1425下图所示:

图片

问题是,当互联网上的任何人访问我的 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 

相关内容