7.7. IP Masquerade

Un grand nombre de gens ont une simple connexion par téléphone pour aller sur l'Internet. Presque tout le monde ne se voit offrir qu'une seule adresse IP par le founisseur d'accès avec ce type de configuration. Ceci est normalement suffisant pour permettre un accès complet au réseau. IP Masquerade est une astuce intelligente qui vous permet d'avoir plusieurs machines utilisant une seule adresse IP, en faisant croire aux autres hôtes qu'il n'y a que la machine supportant la connexion (NdT : d'où le terme masquerade=duperie, mascarade). Il y a qu'une seule mise en garde, qui est que la fonction masquage ne travaille pratiquement que dans un seul sens : les hôtes masqués peuvent appeler mais ne peuvent accepter ou recevoir des connexions réseau de la part d'hôtes éloignés. Cela signifie que certains services réseau comme talk ne peuvent fonctionner et que d'autres, comme ftp doivent être configurés pour fonctionner en mode passif (PASV). Heureusement la plupart des services réseau comme telnet, World Wide Web et irc fonctionnent correctement.

Options de compilation du noyau :
Code maturity level options  --->
 [*] Prompt for development and/or incomplete code/drivers
Networking options  --->
 [*] Network firewalls
 ....
 [*] TCP/IP networking
 [*] IP: forwarding/gatewaying
 ....
 [*] IP: masquerading (EXPERIMENTAL)

Normalement votre machine Linux supportant un lien SLIP ou PPP se comportera comme si elle était toute seule. De plus elle peut avoir un autre périphérique réseau configuré, par exemple une carte Ethernet, avec des adresses réseau réservée. Les hôtes masqués seront ceux du second réseau. Chacun de ces hôtes aura l'adresse IP du port Ethernet réglée comme passerelle ou routeur par défaut.

Une configuration typique ressemble à ceci :

-                                   -
 \                                  | 192.168.1.0
 \                                 |   /255.255.255.0
 \                 - - - - -      |
 |                | Linux | .1.1 |
NET =================| masq  |- - - |
 |    PPP/slip    | router|      |   - - - -
 /                 - - - - -      | -| hôte |
 /                                 |  |      |
 /                                  |   - - - -
-                                   -

7.7.1. Masquerading avec IPFWADM (Noyaux 2.0.x)

Les commandes adéquates pour cette configuration sont :

# Routage réseau pour éthernet
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# Route par défaut pour le reste de l'internet.
route add default ppp0
#
# Fait en sorte que tous les hôtes du réseau 192.168.1/24  soient masqués.
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 

7.7.2. Masquerading avec IPCHAINS

Cela ressemble à l'utilisation avec IPFWADM mais la structure de la commande change:

         # Routage réseau pour ethernet
 route add -net 192.168.1.0 netmask 255.255.255.0 eth0
 #
 # Route par défaut vers le reste de l'internet.
 route add default ppp0
 #
 # Fait en sorte que tous les hôtes sur le réseau 192.168.1/24 soient
 # masqués.
 ipchains -A forward -s 192.168.1.0/24 -j MASQ

Vous pouvez obtenir plus d'informations sur IP Masquerade sur la Page d'informations sur l'IP Masquerade. Il existe également un document très détaillé qui est le ``IP-Masquerade-mini-HOWTO'' (qui donne en plus des renseignements pour configurer d'autres systèmes d'exploitation pour fonctionner avec un serveur de masquage linux).

Pour obtenir des informations concernant les applications de IP Masquerade, voyez la page Applications IPMASK.