Page suivante - Page précédente - Table des matières

3. Commandes

  • Premièrement, chargez le module IP alias (vous pouvez sauter cette étape si vous avez compilé ce module dans le noyau):
    /sbin/insmod /lib/modules/`uname -r`/ipv4/ip_alias.o
    
  • Deuxièmement, configurez les interfaces loopback, eth0 et tous les numéros IP, en commençant par le numéro IP principal pour l'interface eth0:
    /sbin/ifconfig lo 127.0.0.1
    /sbin/ifconfig eth0 up
    /sbin/ifconfig eth0 172.16.3.1
    /sbin/ifconfig eth0:0 172.16.3.10
    /sbin/ifconfig eth0:1 172.16.3.100
    
    172.16.3.1 est le numéro IP principal, alors que .10 et .100 sont les aliases. La magie vient de eth0:x, ou x=0,1,3,...n pour les différents numéros IP. Le numéro IP principal n'a pas besoin d'alias.

  • Troisièmement, configurez les routes. D'abord la route pour l'interface loopback, puis le réseau, et finalement les numéros IP variés en commençant par celui par défaut (alloué originellement):
    /sbin/route add -net 127.0.0.0
    /sbin/route add -net 172.16.3.0 dev eth0
    /sbin/route add -host 172.16.3.1 dev eth0
    /sbin/route add -host 172.16.3.10 dev eth0:0
    /sbin/route add -host 172.16.3.100 dev eth0:1
    /sbin/route add default gw 172.16.3.200
    

C'est tout.

Dans l'exemple ci-dessus, j'utilise les numéros IP privés (RFC 1918) dans un but d'illustration. Remplacez-les par vos propres numéros IP, officiels ou privés.

L'exemple ne montre que 3 numéros IP. Le maximum est défini à 256 dans /usr/include/linux/net_alias.h. 256 numéros IP sur UNE carte, c'est beaucoup :-) !

Voila à quoi ressemble mon /sbin/ifconfig:

lo        Link encap:Local Loopback
 inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
 UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
 RX packets:5088 errors:0 dropped:0 overruns:0
 TX packets:5088 errors:0 dropped:0 overruns:0
eth0      Link encap:10Mbps Ethernet  HWaddr 00:8E:B8:83:19:20
 inet addr:172.16.3.1  Bcast:172.16.3.255  Mask:255.255.255.0
 UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
 RX packets:334036 errors:0 dropped:0 overruns:0
 TX packets:11605 errors:0 dropped:0 overruns:0
 Interrupt:7 Base address:0x378
eth0:0    Link encap:10Mbps Ethernet  HWaddr 00:8E:B8:83:19:20
 inet addr:172.16.3.10  Bcast:172.16.3.255  Mask:255.255.255.0
 UP BROADCAST RUNNING  MTU:1500  Metric:1
 RX packets:0 errors:0 dropped:0 overruns:0
 TX packets:0 errors:0 dropped:0 overruns:0
eth0:1    Link encap:10Mbps Ethernet  HWaddr 00:8E:B8:83:19:20
 inet addr:172.16.3.100  Bcast:172.16.3.255  Mask:255.255.255.0
 UP BROADCAST RUNNING  MTU:1500  Metric:1
 RX packets:1 errors:0 dropped:0 overruns:0
 TX packets:0 errors:0 dropped:0 overruns:0

Et /proc/net/aliases:

device           family address
eth0:0           2      172.16.3.10
eth0:1           2      172.16.3.100
Et proc/net/alias_types:
type    name            n_attach
2       ip              2

Bien sûr, les données de /proc/net ont été créées par la commande ifconfig, et non à la main!


Page suivante - Page précédente - Table des matières