7.4. Règles FORWARD et NAT
La plupart des organisations possèdent un nombre limité d'adresses IP routables de l'extérieur provenant de leur ISP. De ce fait, les administrateurs doivent trouver d'autres moyens créatifs pour partager l'accès aux services Internet sans donner d'adresses IP limitées à chaque noeud sur le LAN. L'utilisation d'adresses IP privées est la manière courante de permettre à tous les noeuds sur un LAN d'accéder correctement aux services du réseau de façon interne et externe. Les routeurs de bord (comme les pare-feu) peuvent recevoir des transmissions entrantes provenant de l'internet et router des paquets vers le noeud du LAN souhaité ; en même temps, les pare-feu / passerelles peuvent également router les requêtes sortantes provenant d'un noeud du LAN vers le service Internet à distance. Cette retransmission de trafic réseau peut parfois devenir dangereuse, surtout avec la disponibilité d'outils de piratage modernes qui peuvent usurper les adresses IP internes et ainsi, faire en sorte que la machine de l'agresseur distant agisse en tant que noeud sur votre LAN. Afin d'éviter cette situation, iptables fournit des politiques de routage et de retransmission qui peuvent être implémentées pour empêcher l'utilisation aberrante de ressources réseau.
La politique FORWARD permet à un administrateur de contrôler où les paquets peuvent être routés au sein d'un LAN. Par exemple, pour autoriser la retransmission du LAN entier (en supposant que le pare-feu / la passerelle a une adresse IP interne sur eth1), les règles suivantes peuvent être définies :
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -A FORWARD -o eth1 -j ACCEPT |
 | Remarque |
---|
| Par défaut, la politique IPv4 des noyaux Red Hat Enterprise Linux désactive la prise en charge de la redirection d'IP qui empêche les ordinateurs exécutant Red Hat Enterprise Linux de fonctionner comme des routeurs de bord dédiés. Pour activer la redirection d'IP, exécutez la commande suivante : sysctl -w net.ipv4.ip_forward=1 |
Si cette commande est exécutée via l'invite du shell, le paramètre est alors oublié après un redémarrage. Vous pouvez définir la retransmission de façon permanente en éditant le fichier /etc/sysctl.conf. Trouvez et modifiez la ligne suivante, en remplaçant 0 par 1 : Exécutez la commande suivante pour activer les changements dans le fichier sysctl.conf : sysctl -p /etc/sysctl.conf |
|
Cela permet aux noeuds du LAN de communiquer entre eux ; cependant, ils ne peuvent pas communiquer vers l'extérieur (par exemple, vers l'internet). Pour permettre aux noeuds du LAN avec des adresses IP privées de communiquer avec les réseaux public externes, configurez le pare-feu pour le masquage d'IP, qui masque les requêtes provenant des noeuds du LAN avec l'adresse IP du périphérique externe du pare-feu (dans ce cas, eth0) :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |