Tabela NAT

O NAT (Network Address Translation) é o responsável pela cominicação dos host com IPs privados com a internet (IPs Públicos).

Permitindo o encaminhamento de pacotes

# echo 1 > /proc/sys/net/ipv4/ip_forward

ou alterando o arquivo sysctl.conf para

# vim /etc/sysctl.conf
[...]
net.ipv4.ip_forward = 1
[...]

SNAT(source NAT) é usado para traduziros endereços de uma rede privada para um IP público. Compartilhando a Internet para uma Máquina

# iptables -t nat -A POSTROUTING -s 192.168.200.10 -d 0/0 -j SNAT --to 200.100.50.99

Compartilhando a Interno para uma Rede

# iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o eth1 -j SNAT --to 200.100.50.99

Usando o MASQUERADE

# iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o eth1 -j MASQUERADE

Ou direto sem especificar rede

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

DNAT(destination NAT) é responsável por trocar os endereços de destino dos pacotes. Normalmente, as solicitaçõesvêm do meio externo para o firewall, então o firewall, antes de rotear para o destino final.

Fazendo DNAT para um servidor WEB

# iptables -t nat -A PREROUTING -i eth1 -m tcp -p tcp --dport 80 -j DNAT --to 192.168.200.3