ifconfig

La commande ifconfig est une commande extrêmement importante pour la configuration d'interfaces réseau. Cette commande permet d'afficher la configuration ou de configurer une interface réseau.

La configuration d'une interface réseau se fait habituellement via un fichier de configuration plutôt qu'avec ifconfig afin que l'interface soit utilisable au démarrage. Les fichiers de configuration diffèrent selon la distribution, les systèmes basés sur Debian utilisent le fichier /etc/network/interfaces, les systèmes basés sur Red Hat utilisent les fichiers présents dans /etc/sysconfig/network-scripts/

Au contraire de la configuration au démarrage, la commande ifconfig permet d'afficher et de modifier dynamiquement la configuration d'une interface réseau. Il est essentiel de pouvoir utiliser la commande ifconfig pour la mise au point ou le dépannage réseau.

Afficher les informations d'une interface

Si la commande est invoquée sans aucune option ni argument, elle affiche l'ensemble des informations sur tout les interfaces actives:

$ ifconfig
lo        Lien encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          Packets reçus:11809814 erreurs:0 :0 overruns:0 frame:0
          TX packets:11809814 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:128818800965 (119.9 GiB) Octets transmis:128818800965 (119.9 GiB)

L'argument "-a" permet d'afficher toutes les interfaces, qu'elles soient actives ou non:

$ ifconfig -a
lo        Lien encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          Packets reçus:11809814 erreurs:0 :0 overruns:0 frame:0
          TX packets:11809814 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:128818800965 (119.9 GiB) Octets transmis:128818800965 (119.9 GiB)
eth0      Lien encap:Ethernet  HWaddr 00:FF:F2:58:32:A1  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:0 (0.0 b) Octets transmis:0 (0.0 b)
          Interruption:23 Adresse de base:0x2000 

L'argument -a est important car sur d'autres Unix que Linux, la commande n'affiche généralement rien sans cette option.

Pour obtenir les informations d'une interface en particulier, il suffit de faire suivre la commande par le nom de l'interface. Par exemple, pour afficher les informations de l'interface eth0:

$ ifconfig eth0
eth0      Lien encap:Ethernet  HWaddr 00:FF:F2:58:32:A1  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:0 (0.0 b) Octets transmis:0 (0.0 b)
          Interruption:23 Adresse de base:0x2000 

Configurer une interface

Pour configurer une interface réseau, la première chose est de préciser l'interface que vous désirez configurer. Ainsi, pour configurer une interface "eth1", l'utilisation de la commande commencera par "ifconfig eth1" suivit par les options de configuration.

Les utilisations les plus courantes de ifconfig sont pour assigner une adresse et un masque de sous-réseau. Ces deux possibilités sont présentées ci-après.

Assigner une adresse

Pour assigner une adresse réseau, il suffit d'indiquer l'adresse réseau après avoir précisé l'interface:

# ifconfig eth0 192.168.0.1

Assigner un masque de sous-réseau

Pour assigner le masque de sous-réseau, il faut utiliser l'option netmask suivit du masque à appliquer:

# ifconfig eth0 netmask 255.254.0.0

Généralement, le masque de sous-réseau est mis en même temps que l'adresse IP:

# ifconfig eth0 netmask 255.254.0.0 192.168.0.1

Activer et désactiver une interface

Pour activer ou désactiver une interface, il existe les options up et down. La configuration d'une interface n'est pas perdue lorsqu'elle est désactivée.

Par exemple:

# ifconfig eth0 down

désactive l'interface eth0, et

ifconfig eth0 up

la réactive. La configuration est conservée entre les appels, il n'est donc pas nécessaire de reconfigurer l'interface après réactivation.

Options importantes

-a
Afficher toutes les interfaces, y compris les interfaces désactivées.
<interface> netmask <masque>
Assigne le masque masque à l'interface.

L'ensemble des options est disponibles sur la page de manuel de ifconfig