Voici les trois sites officiels :
Vous pouvez tous les atteindre en utilisant le DNS de type Round-Robin via http://www.netfilter.org/ et http://www.iptables.org/
Pour la liste de diffusion officielle de Netfilter : Liste de Netfilter.
Normalement, les paquets sur un réseau voyagent de leur source (par exemple, votre ordinateur de bureau) à leur destination (par exemple, www.gnumonks.org) en traversant différents liens : dans mon cas, environ 19 d'où je suis en Australie. Aucun de ces liens ne modifie vraiment votre paquet : ils le renvoient juste plus loin.
Si l'un de ces liens effectuait du NAT, alors il modifierait l'adresse source ou destination du paquet au moment où il passe. Comme on peut l'imaginer, le système n'a pas été prévu pour fonctionner comme ça, et le NAT est toujours quelque-chose de bancal. Généralement, le lien effectuant du NAT mémorise comment il a modifié un paquet, et quand une réponse arrive dans l'autre sens, il effectue la modification inverse sur ce paquet de réponse, pour que tout fonctionne bien.
Dans un monde parfait, vous n'en auriez pas besoin. Néanmoins, voici les raisons principales :
La plupart des FAI (Fournisseurs d'Accès à Internet) vous donnent une seule adresse IP quand vous vous connectez chez eux. De ce fait, vous pouvez envoyer des paquets avec l'adresse source que vous voulez, mais seules vous seront envoyées les réponses aux paquets avec l'adresse IP source qui vous a été attribuée. Si vous voulez utiliser plusieurs machines différentes (comme dans un réseau personnel) pour vous connecter à Internet à travers ce lien unique, vous avez besoin du NAT.
C'est de loin l'utilisation la plus fréquente du NAT de nos jours, généralement connue sous le nom de camouflage d'adresse IP (`masquerading') dans le monde Linux. J'appelle ça du SNAT, parce que vous changez l'adresse source du premier paquet.
Parfois, vous voulez changer la direction des paquets arrivant dans votre réseau. C'est souvent parce que vous n'avez qu'une seule adresse IP (comme ci-dessus), mais vous voulez quand même qu'on puisse accéder aux machines qui se trouvent derrière celle avec l'adresse IP `réelle'. Vous pouvez le faire si vous remaniez la destination des paquets entrants. Ce genre de NAT est appelé `redirection de ports' (`port-forwarding') dans les précédentes versions de Linux.
Une variante courante de ceci est le partage de charge (`load-sharing'), où les paquets sont répartis sur un parc de machines. Si vous faites ceci sur une large échelle, vous pouvez jeter un oeil à
Parfois, vous voulez faire croire que chaque paquet traversant votre machine sous Linux est destiné à un programme sur cette machine même. Ceci est utilisé pour réaliser des mandataires transparents : un mandataire (ou `proxy') est un programme qui se situe entre votre réseau et le monde extérieur, établissant la communication entre les deux. La transparence traduit le fait que votre réseau ne sait pas qu'il communique avec un mandataire, à moins évidemment qu'il ne fonctionne pas.
Squid peut être configuré pour fonctionner de cette manière, et c'est ce qu'on appelle une redirection ou un mandataire transparent dans les versions précédentes de Linux.