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 publiques 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 |
Cette r�gle permet aux syst�mes situ�s derri�re le pare-feu / la passerelle d'acc�der au r�seau interne. La passerelle route des paquets depuis un noeud du LAN jusqu'au noeud de destination, tous les paquets traversant son p�riph�rique eth1.
| 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 une 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 |
|
Accepter les paquets retransmis via le p�riph�rique d'IP interne du pare-feu permet aux noeuds du LAN de communiquer entre eux. Cependant, ils ne peuvent toujours 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 |
La r�gle utilise la table de correspondance de paquets de NAT (-t nat) et sp�cifie la cha�ne int�gr�e POSTROUTING pour NAT (-A POSTROUTING) sur le p�riph�rique r�seau externe du pare-feu (-o eth0). POSTROUTING permet aux paquets d'�tre modifi�s lorsqu'ils quittent le p�riph�rique externe du pare-feu. La cible -j MASQUERADE est sp�cifi�e pour masquer l'adresse IP priv�e d'un noeud avec l'adresse IP externe du pare-feu / de la passerelle.
Si vous poss�dez un serveur sur votre r�seau interne que vous souhaitez rendre disponible de mani�re externe, vous pouvez utiliser la cible -j DNAT de la cha�ne PREROUTING dans NAT pour sp�cifier une adresse IP et un port de destination o� les paquets entrants demandant une connexion � votre service interne peuvent �tre retransmis. Par exemple, si vous souhaitez retransmettre des requ�tes HTTP � votre syst�me de Serveur HTTP Apache d�di� sur 172.31.0.23, ex�cutez la commande suivante�:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \
--to 172.31.0.23:80 |
Cette r�gle sp�cifie que la table NAT utilise la cha�ne int�gr�e PREROUTING pour retransmettre les requ�tes HTTP entrantes exclusivement � l'adresse IP de destination list�e de 172.31.0.23.
| Remarque |
---|
| Si vous avez une politique par d�faut DROP dans votre cha�ne FORWARD, vous devez ajouter une r�gle autorisant la retransmission de requ�tes HTTP entrantes afin que le routage NAT de destination soit possible. Pour ce faire, ex�cutez la commande suivante�: iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 172.31.0.23 -j ACCEPT |
Cette r�gle autorise la retransmission de requ�tes HTTP entrantes depuis le pare-feu vers la destination souhait�e sur le Serveur HTTP Apache derri�re le pare-feu. |
7.4.1. DMZ et iptables
Des r�gles iptables peuvent �tre d�finies de fa�on � router le trafic vers certains ordinateurs, comme un serveur HTTP ou FTP d�di�, dans une zone d�militaris�e (DMZ) — un sous-r�seau local sp�cial d�di� � fournir des services sur un porteur public comme l'internet. Par exemple, pour d�finir une r�gle de fa�on � router toutes les requ�tes HTTP entrantes vers un serveur HTTP d�di� � l'adresse IP 10.0.4.2 (en dehors de la plage 192.168.1.0/24 du LAN), la traduction d'adresses r�seau (NAT) fait appel � une table PREROUTING afin de rediriger les paquets vers leur correcte destination�:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \
--to-destination 10.0.4.2:80 |
� l'aide de cette commande, toutes les connexions HTTP vers le port 80 provenant de l'ext�rieur du LAN sont rout�es vers le serveur HTTP sur un r�seau s�par� du reste du r�seau interne. Cette forme de segmentation de r�seau peut s'av�rer plus s�curis�e que le fait d'autoriser des connexions HTTP vers une machine sur le r�seau. Si le serveur HTTP est configur� de fa�on � accepter des connexions s�curis�es, le port 443 doit alors �tre �galement redirig�.