All HowTo's Cyber-Security Linux Redhat, Fedora and CentOS Linux

Sample Port Address Translation with Redhat/CentOS (/etc/sysconfig/iptables)

This is a sample iptables configuration file ‘/etc/sysconfig/iptables’ on a Redhat server where the server has a single interface and is placed in-front of other systems. In this example, this server (the one with the iptables config below) is infront of a web server at ‘10.0.0.2’. Don’t forget to enable IP forwarding.

*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth+ -j MASQUERADE
-A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.2:80
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 10.0.0.2 --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Simply customise the above script to fit your needs.