1. Introduction

Contenu de cette section

Linux offre la possibilité d'exécuter plusieurs "serveurs" sur une seule machine. De nombreuses personnes se servent déjà de cette possibilité afin de disposer de plus d'un service WWW sur leur machine Linux, e.g.

                www.sharpers.com                (192.168.55.37)
                www.usurers.com                 (192.168.55.38)
                www.swindlers.com               (192.168.55.39)

apparaissent comme trois machines distinctes, mais ne sont en réalité qu'une seule et unique machine Linux assurant ces services.

La technique utilisée derrière cette fonction est appelée "multihome" et est basée sur la capacité de Linux d'assigner plusieurs adresses IP à une seule interface réseau (carte ethernet ou modem). En fait, vous n'avez pas besoin de disposer de plusieurs cartes ethernet pour que Linux soit à l'écoute de plusieurs addresses/noms sur le réseau. Linux manipule les adresses IP additionnelles à l'aide d' "interfaces virtuelles" qui représentent physiquement le meme matériel, mais sont logiquement distinguées à l'aide de leurs adresses IP par les logiciels (et le noyau).

Ces interfaces virtuelles sont nommées de manière similaire que l'interface réelle sur laquelle elles pointent, et ont simplement comme suffixe un (plus ou moins) numéro arbitraire.

Le terme propre pour chaque interface virtuelle est "alias ip". Pour les hotes virtuels, la commande ifconfig donne la (lourde) sortie:

        interface adresse IP   address de diffusion      masque
        ------------------------------------------------------------
        eth0      192.168.55.37    192.168.55.63     255.255.255.224

        eth0:0    192.168.55.38    192.168.55.63     255.255.255.224
        eth0:1    192.168.55.39    192.168.55.63     255.255.255.224
        eth0:2    192.168.55.40    192.168.55.63     255.255.255.224
        eth0:3    192.168.55.41    192.168.55.63     255.255.255.224
             ^-- numero de l'alias ip
         
Pour disposer et utiliser cette facilité des alias ip, vous avez besoin d'un "module" pour votre noyau Linux, qui peut etre intrégré dans le noyau à la compilation ou chargé à la volée par la commande (en tant que root):
                insmod ipalias

La plupart des distributions actuelles distribuent ce module, donc je ne passerai pas plus de temps à décrire comment le créer (note: Si vous ne l'avez pas, lisez le document Linux Kernel-HOWTO).

L'alias ip pour les hotes définis ci-dessus ont été créé avec un petit script lors du démarrage:

8<----- couper ici 8<-----
#!/bin/sh

NETMASK="255.255.255.224"      # remplacez par votre masque de reseau
BROADCAST="192.168.55.63"      # remplacez par votre adresse de diffusion
MAIN_IF="eth0"                 # interface "de base"

IPALIASES="192.168.55.38   192.168.55.39   192.168.55.40 \
           192.168.55.41   192.168.55.42   192.168.55.43 \
           192.168.55.44   192.168.55.45   192.168.55.46"

# Vous n'avez plus besoin de modifier quoi que ce soit apres ce point
i=0
for ALIAS in $IPALIASES
do
    /sbin/ifconfig  ${NETTYPE}:${i}  ${ALIAS} \
                    broadcast ${BROADCAST}  netmask ${NETMASK}
    /sbin/route add -host ${ALIAS} dev ${NETTYPE}:${i}
    i=$[$i+1]
done
8<----- couper ici 8<-----

Si vous avez d'autres questions à propos des alias ip, consultez le document Linux "IP Alias mini-HOWTO" et le fichier "Documentation/aliases.txt" dans le répertoire contenant les sources du noyau Linux (généralement, dans le répertoire "/usr/src/linux").


Chapitre suivant

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre