Ifcfg-ethX

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Principe

Tout ce passe dans le dossier /etc/sysconfig/network-scripts

Dans ce répertoire il y a plusieurs fichiers et notamment les fichiers de configuration des interfaces réseaux qui commencent tous par ifcfg-X

Remplacez X par le nom de l'interface réseau et, si le fichier n'existe pas, il suffit de le créer !

Exemple

Prenons comme exemple eth0. Son fichier de configuration sera ifcfg-eth0

DEVICE=eth0
HWADDR=DE:B4:49:A5:3A:07
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
PEERDNS=no
DOMAIN="tala-informatique.fr labo.tala-informatique.fr"
  • DEVICE → indique le nom de l'interface
  • TYPE → précise le type de périphérique, peut prendre les valeurs [Ethernet|Bridge|Vlan]
  • ONBOOT → indique si l'interface doit démarrer au démarrage de la machine
  • NM_CONTROLLED → précise si le Network Manager doit contrôler cette interface (en général oui)
  • BOOTPROTO → indique le type de démarrage de l'interface, peut prendre les valeurs [dhcp|static|none]
    • Si la valeur static est utilisée, il faudra également les paramètres suivants:
      • IPADDR → pour l'adresse IP
      • NETMASK → pour le masque de sous-réseau
      • GATEWAY → pour spécifier, le cas échéant, une passerelle
  • DNS1 → permet de spécifier un serveur DNS primaire
  • DNS2 → permet de spécifier un serveur DNS secondaire
  • PEERDNS → précise si les DNS fournis en DHCP sur cette interface doivent être ajoutés au fichier /etc/resolv.conf
  • MACADDR → permet de spécifier une adresse MAC à utiliser, particulièrement pratique pour les déplacement de VMs, ou pour les baux DHCP statiques.
  • DOMAIN → permet de spécifier autant de domaine de recherche qui seront ajouté au fichier /etc/resolv.conf

Que faire si ma carte n'a pas le bon numéro ??

Lorsque l'on ajoute / enlève une carte réseau, le noyau incrémente le numéro de celle-ci. Par exemple, on avait eth0 et puis on se retrouve avec eth1...

C'est UDEV qui, à chaque fois que l'on insère une carte réseau avec une adresse MAC différente, change de numéro.

On peut modifier cela dans le fichier /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:f7:cf:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e6:c5:aa", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Il suffit de supprimer la première ligne qui fait référence à l'ancienne carte et, de décrémenter le numéro de la deuxième ligne pour que eth1 devienne eth0:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e6:c5:aa", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Pour que les modifications soient effectives, il faut redémarrer le système.