← retour aux snippets

iptables: NAT sortant avec MASQUERADE

Activer le partage de connexion (NAT) pour un réseau LAN vers Internet.

objectif

Permettre à un sous-réseau privé de sortir via l’interface WAN.

code minimal

# activer le forward IP
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward >/dev/null

# NAT sur l'interface WAN (ex: eth0)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# allow forwarding LAN -> WAN (ex: lan0)
sudo iptables -A FORWARD -i lan0 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o lan0 -m state --state ESTABLISHED,RELATED -j ACCEPT

utilisation

# persister avec iptables-save
sudo sh -c 'iptables-save > /etc/iptables.rules'

variante(s) utile(s)

# nftables équivalent (table nat)
# table ip nat { chain postrouting { type nat hook postrouting priority 100; oifname "eth0" masquerade } }

notes

  • préférez nftables sur systèmes modernes.
  • sécurisez la chaîne FORWARD selon besoin.