1

Я использую iptables для перенаправления портов для web и ssh с компьютера с 14 по 25 как показано на следующей диаграмме:

картина

Проблема в том, что когда кто-то из Интернета обращается к моему веб-приложению, iptables меняет исходный IP-адрес на свой частный адрес. Из-за этого я не могу знать, кто обращается к моему веб-приложению.

Есть ли какое-либо решение для получения фактического исходного адреса трафика на машине 25 с использованием 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 

0