- Introduction
- Configuration DEBIAN
- Configuration CentOS & RedHat
- Configuration sur Suse Linux
- Configuration sur Mageia
Linux est un produit de base, disponible dans des « distributions », mais chaque distributions proposent de configurer les interfaces réseau de manière complètement différente… Petit tour du propriétaire ou plutôt des propriétaires.
Cet article va expliquer comment paramétrer une interface réseau en DHCP ou avec une adresse IP, surtout depuis la disparition des « Net-Tools » au profit de « iproute2« . Il ne couvre pas par contre, la configuration d’interface spécifique tel que les BOND, VLAN, PPP, Wireless, etc… ainsi que le routage et les configuration de pare-feu.
Le paquet « iproute2 » remplace les commandes standard que l’on connaît tous (ifconfig, iwconfig, route, …) au profit de nouvelles commandes; voici un rappel des correspondances :
NET-TOOLS | IPROUTE2 | |
---|---|---|
Voir toutes les interfaces réseau | ifconfig -a | ip link show |
Activer l'interface réseau | ifconfig eth1 up | ip link set up eth1 |
Désactiver l'interface réseau | ifconfig eth1 down | ip link set down eth1 |
Définir le masque IP / réseau | ifconfig eth1 192.168.0.1/24 | ip addr add 192.168.0.1/24 dev eth1 |
Supprimer la définition IP / Masque du réseau | ifconfig eth1 0 | ip addr del 192.168.0.1/24 dev eth1 |
Informations spécifiques à une interface | ifconfig eth1 | ip addr show dev eth1 |
Modification de MAC-ADDRESS | ifconfig eth1 hw ether 00:52:bc:33:25:a1 | ip link set dev eth1 address 00:52:bc:33:25:a1 |
Afficher la table de routage | route -n ou netstat -rn | ip route show |
Ajout de l'itinéraire par défaut | route add -net 192.168.0.1 | ip route add default via 192.168.0.1 |
Ajouter une route statique | route add -net 192.168.0.1/24 gw eth1 | ip route add 192.168.0.1/24 dev eth1 |
Manipulation de réseau et requête | mii-tool | ethtool |
Affichage des informations WLAN | iwconfig | iw |
(FIXME : indiquer comment définir une interface réseau : eth0 ? enp0s3 ? etc…)
Debian : une certaine stabilité…
Sur Debian, la configuration réseau reste identique quelque soit la version de la distribution et cela, depuis déjà quelques années.
Depuis Stretch, les nouveaux systèmes n’utilisent désormais plus par défaut les anciens noms d’interface tels que eth0, eth1, wlan0, wlan1. Le nouveau système utilise des noms basés sur les emplacements du matériel tels que no0, enp0s31f6, wlp1s7 (ou dans le cas des dongles USB, l’adresse MAC : enx2c56ac39ec0d).
Concernant la configuration, tout se passe dans le fichier /etc/network/interfaces :
-
- Mode DHCP :
allow-hotplug enp0s3 # On autorise la monté de l’interface lors du branchement du câble réseau
iface enp0s3 inet dhcp # On défini sur l’interface enp0s3 une interface réseau qui sera paramétré en DHCP
iface eth0 inet6 dhcp # Réception d’une adresse IPv6 en mode DHCP
iface eth0 inet6 auto # Réception d’une adresse IPv6 en mode auto en utilisant l’auto-configuration sans état (StateLess Address AutoConfiguration ou SLAAC) - Mode IP Fixe :
auto eth0 #
iface eth0 inet static # On défini l’interface eth0 possédant une adresse IPv4 statique
address 192.0.2.7/24 # On défini l’adresse IPv4 et le masque (/24); possible de le définir à part en indiquant sur une autre ligne : netmask 255.255.255.0
gateway 192.0.2.254 # On défini la passerelle
dns-nameservers 1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 # On défini les serveurs DNS : ici ceux de Cloudfare et de Google
iface eth0 inet6 static # On défini l’interface eth0 possédant une adresse IPv6 statique
address 2001:db8::c0ca:1eaf/64 # On défini l’adresse IPv6 et le masque (/64)
gateway 2001:db8::1ead:ed:beef # On défini la passerelle
dns-nameservers 2606:4700:4700::1111 2606:4700:4700::1001 # On défini les serveurs DNSv6 : « 2606:4700:4700::1111 » / « 2606:4700:4700::1001 »
- Mode DHCP :
Il est aussi possible de définir la vitesse de l’interface; pour cela, installez le paquet « ethtool » ou « mii-tool » (en fonction du soutien du pilote de votre carte par l’n de ces paquets) et indiquez dans le paragraphe « iface » de la carte du fichier « interfaces » :
up sleep 5; ethtool -s eth0 autoneg off speed 100 duplex full
ou
mii-tool -F 100baseTx-FD eth0
La configuration des différentes cartes se fait au travers de « blocs » dans le fichier /etc/network/interfaces; voici un exemple avec 2 interfaces ethernet :
auto eth0 iface eth0 inet static address 192.0.2.7/24 gateway 192.0.2.254 iface eth1 inet6 static address 2001:db8::c0ca:1eaf/64 gateway 2001:db8::1ead:ed:beef

CentOS & RedHat : L’évolution à tout prix…
La configuration réseau sous CentOS ou RedHat se fait de différente manière, selon la version de la distribution, mais également en fonction si vous utilisez ou pas « NetworkManager« .
CentOS & RH utilisent différents fichiers pour configurer le réseau lorsque les Network-scripts sont utilisés :
/etc/hosts
Le but principal de ce fichier est de résoudre le nom d’un hôte qui ne pourrait pas être résolu autrement. Il peut être utilisé pour résoudre des noms d’hôte sur un petit réseau sans serveur DNS. Au regard du type de réseau sur lequel la machine se situe, ce fichier devrait contenir une ligne pour définir le device « loopback » (127.0.0.1) comme localhost.localdomain. Pour plus d’information, regarder la page MAN de host(5).
/etc/resolv.conf
Ce fichier spécifie les adresses IP des serveurs de DNS et le domaine à rechercher.
This file specifies the IP addresses of DNS servers and the search domain. Sauf configuration particulière, ce sont les scripts réseau qui vont remplir ce fichier. Pour plus d’information, voir la page MAN de resolv.conf(5).
/etc/sysconfig/network
Ce fichier spécifie le routage et une information sur toutes les interfaces de la machine. Il est utilisé pour contenir des directives qui vont avoir un effet global et pas seulement sur une seule interface.
/etc/sysconfig/network-scripts/<NomDeLaCarte>
Pour chaque interface réseau, il y a un fichier de configiration spécifique. Chacun de ces fichiers produit une information spécifique pour une interface réseau particulier.
On pourra revoir les notes qui expliques des différentes options et directives que peut contenir ce fichier.
CentOS & RH en utilisant les Network-Scripts
Comme indiqué plus haut, ceci ne fonctionnera que sur les versions <= 7 de CentOS ou RedHat.
Se rendre dans le dossier /etc/sysconfig/network-scripts
Dans ce dossier, on trouvera plusieurs fichiers : celui qui va nous intéresser est celui qui se nomme « ifcfg-<NomDeLaCarte> (Ex : ifcfg-eth0)
-
- Activer un mode DHCP :
DEVICE=eth0 # Le nom de l’interface
BOOTPROTO=dhcp # Le protocole utilisé au boot de la machine
ONBOOT=yes # Doit on activer cette interface au boot de la machine ?
-
- Activer un mode IP Fixe
DEVICE=eth0 # Le nom de l’interface
BOOTPROTO=none # Le protocole utilisé au boot de la machine
IPADDR=192.168.2.10 # L’adresse IP que l’on souhaite donner à l’interface
NETMASK=255.255.255.0 # Le masque réseau donné à l’interface
GATEWAY=192.168.2.254 # La passerelle que pourra utiliser l’interface pour communiquer vers l’exterieur
USERCTL=no # On donne ou pas la possibilité aux utilisateur autre que root de pouvoir administrer cette interface
ONBOOT=yes # Doit on activer cette interface au boot de la machine ?
CentOS en utilisant NetworkManager (CentOS & RH >= 7)
Sur ces version de CentOS & RH, la configuration peut se faire également en utilisant « NetworkManager« . La particularité des outils NetworkManager est qu’ils sont partiellement graphique : en ligne de commande dans un terminal, on se retrouvera avec une interface dans laquelle il faudra jouer de la tabulation pour passer d’un champs à l’autre, de la barre d’espace pour activer ou pas un composant et de la touche Entré/Return de votre clavier pour valider la configuration.
La commande principale est : nmui
Cette commande peut également prendre des arguments afin de pouvor être utilisé par des scripts qui viendraient à (re)configurer le réseau.
Exemple de configuration d’une interface avec nmui :
Suse :
Mageia :
Vous devez vous connecter pour laisser un commentaire.