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
  • MTU → permet de modifier la taille du payload (Maximum Transmission Unit) avant fragmentation. Permet d'activer les Jumbo Frame pour baisser l'utilisation du CPU dans les réseaux Gigabit.

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.