Estou usando o iptables para redirecionar portas para web e ssh da máquina 14
para 25
, conforme mostrado no diagrama a seguir:
O problema é quando alguém da internet acessa meu aplicativo da web, o iptables altera o endereço IP de origem com seu endereço particular. Devido a isso, não posso saber quem acessa meu aplicativo da web.
Existe alguma solução para obter o endereço de origem real do tráfego na máquina 25
usando iptables, desde que meu aplicativo da web também seja acessível ao público?
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
Tags networking iptables firewall linux