Alias

De The Linux Craftsman
Aller à : navigation, rechercher

Introduction

L'aliasing ou le fait de créer des alias, permet d'assigner à une interface physique plusieurs adresses IP.

L'idée sous-jacente est de pouvoir faire tourner plusieurs démons, possédant tous leur adresse IP propre, sur une machine ayant une seule interface physique.

On peut raisonnablement penser que faire tourner un serveur DNS, DHCP et une passerelle sur une seule machine physique ne devrait pas consister un défi. Seulement, si on a une seule carte physique, impossible de séparer les services... heureusement pour nous, c'est à ce moment là que l'aliasing intervient !

Les limitations

  • L'aliasing d'une interface est préférable lorsque la configuration supplémentaire est dans le même sous-réseau
  • Les interfaces alias ne supportent pas DHCP

Mise en place

Temporaire

L'ajout d'une adresse IP en ligne de commande est simple et se fait grâce à la commande ip (cf. le cours sur Iproute2).

# ip address add dev eth0 192.168.210.20/24
ou 
# ip a a dev eth0 192.168.210.20/24

Cette commande ajoute temporairement (jusqu'au prochain service network restart) une adresse IP à la carte eth0

# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 9e:ba:81:b6:1e:8f brd ff:ff:ff:ff:ff:ff
    inet 192.168.210.1/24 brd 192.168.210.255 scope global eth0
    inet 192.168.210.20/24 scope global secondary eth0
    inet6 fe80::9cba:81ff:feb6:1e8f/64 scope link
       valid_lft forever preferred_lft forever

On voit bien la deuxième adresse attribuée à eth0

Permanente

Les configurations alias

Les interfaces alias portent le nom suivant

ifcfg-ethX:Y

Ou:

  • X correspond au numéro d'interface physique;
  • Y correspond au numéro de l'alias.

Création

Pour faire persister cette configuration, il faut se rendre dans le répertoire /etc/sysconfig/network-scripts et on va se servir du fichier existant de eth0 comme support.

# cd /etc/sysconfig/network-scripts
# cp ifcfg-eth0 ifcfg-eth0:0

Puis on édite ce fichier pour adapter les lignes DEVICE et IPADDR

DEVICE="eth0:0"
BOOTPROTO="static"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.210.20
NETMASK=255.255.255.0

Test

On n'a plus qu'à redémarrer le service réseau

# service network restart
Arrêt de l'interface eth0 :                                [  OK  ]
Arrêt de l'interface loopback :                            [  OK  ]
Activation de l'interface loopback :                       [  OK  ]
Activation de l'interface eth0 :
Définition des informations IP pour eth0. fait.
Determining if ip address 192.168.210.20 is already in use for device eth0...
                                                           [  OK  ]

On vérifie la configuration de eth0

# ip a sh eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 9e:ba:81:b6:1e:8f brd ff:ff:ff:ff:ff:ff
    inet 192.168.210.1/24 brd 192.168.210.255 scope global eth0
    inet 192.168.210.20/24 brd 192.168.210.255 scope global secondary eth0:0
    inet6 fe80::9cba:81ff:feb6:1e8f/64 scope link
       valid_lft forever preferred_lft forever

On a bien nos deux adresses IP !