10 commandes « IP » utiles pour configurer les interfaces réseau sur Linux

Sur Linux, la commande IP est une commande avec plus de fonctionnalités que ifconfig.
La commande aide à faire diverses tâches liées à l'administration du réseau.
Par exemple, attribuer une adresse IP sur une interface réseau, changer le masque de sous-réseau, changer les routes IP.
Elle aide donc à configurer vos interfaces réseaux (NICs).

Que vous soyez sur Ubuntu, Mint, Debian, Fedora ou CentOS, il peut arriver que vous deviez modifier la configuration réseau.
Pour cela, il existe des commandes comme ifconfig, route ou ip link, ip route, etc.

Dans ce tutoriel, nous allons examiner comment nous pouvons attribuer une adresse IP statique, une route statique, une passerelle par défaut, etc. Cette attribution d'une adresse IP peut se faire à l'aide de la commande IP.
En effet la commande IFCONFIG est obsolète et remplacée par la commande IP sous Linux.
Cependant, la commande IFCONFIG fonctionne toujours et est disponible pour la plupart des distributions Linux.

10 commandes "IP" utiles pour configurer les interfaces réseau sur Linux

Comment configurer le protocole Internet d'adresse IP statique (IPv4)

RHEL/CentOS/Fedora

Les fichiers de configuration sont stockés dans le dossier /etc/sysconfig/network-scripts/
On y trouve un fichier ifcfg- avec le nom de l'interface. Par exemple ifcfg-eth0, ifcfg-eth1, etc.

Ainsi pour l'éditer :

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Voici un exemple de contenu avec une adresse IP fixe :

DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=192.168.50.2
NAME="System eth0"
HWADDR=00:0C:29:28:FD:4C
GATEWAY=192.168.50.1

Voici un autre exemple de déclaration eth0 en DHCP :

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

Enfin on redémarre le service réseau pour prendre en compte les modifications :

/etc/init.d/network restart

Ubuntu/Debian/Linux Mint

Sur les distributions à base de Debian, c'est le service networking qui gère la configuration des interfaces réseaux notamment au démarrage du PC.
La configuration est stockée dans le fichier /etc/network/interfaces dont voici un exemple.

Ci-dessous l'interface eth0 possède une configuration statique en IPv4 et IPv6.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 37.187.125.200
        netmask 255.255.255.0
        network 37.187.125.0
        broadcast 37.187.125.255
        gateway 37.187.125.254

iface eth0 inet6 static
        address 2001:41D0:A:F6d2::1
        netmask 128
        post-up /sbin/ip -family inet6 route add 2001:41D0:A:F6ff:ff:ff:ff:ff dev eth0
        post-up /sbin/ip -family inet6 route add default via 2001:41D0:A:F6ff:ff:ff:ff:ff
        pre-down /sbin/ip -family inet6 route del default via 2001:41D0:A:F6ff:ff:ff:ff:ff
        pre-down /sbin/ip -family inet6 route del 2001:41D0:A:F6ff:ff:ff:ff:ff dev eth0

Voici une déclaration d'une interface eth0 en DHCP :

auto eth0
iface eth0 inet dhcp

Enfin on redémarre le service networking de cette manière :

/etc/init.d/networking restart

Comment utiliser la commande IP sur Linux

Voici la syntaxe de la commande ip :

ip [OPTION] OBJECT {COMMANDE | help}

Les objets (ou les sous-commandes) principaux incluent :

  • Link (l) : interfaces réseau, telles que les connexions filaires et les adaptateurs Wi-Fi (eth0, eno1, wlan0, ens1, enp2s0, p7p1, ..)
  • Address (a) : adresses IP IPv4 ou IPv6
  • Route (r) : table de routage - les règles qui gèrent le routage du trafic envoyé aux adresses via des interfaces (liens)
  • Neigh (n) – utilisé pour afficher et manipuler des objets voisins (tableau ARP)

Ainsi, on peut utiliser le mot complet ou son abréviation.
Par exemple :

ip link

peut aussi s'écrire :

ip l

Lors de la configuration des interfaces réseau, vous devez exécuter les commandes en tant que root ou utilisateur avec des privilèges sudo.

Les modifications de la configuration réseaux opérées ne sont pas persistantes et sont perdus au redémarrage.
Pour rendre les modifications permanentes, deux méthodes : 1. Ajoutez les commandes à un script de démarrage ou 2. Modifiez les fichiers de configuration spécifiques à la distribution.

10 commandes "IP" utiles pour configurer les interfaces réseau sur Linux

Comment attribuer une adresse IP à une interface spécifique

Voici comment attribuer une adresse IP à l'interface eth1 :

ip addr add 192.168.1.10 dev eth0

Dans cet exemple, nous avons plusieurs adresses IP, ainsi il faudra supprimer celle en trop.

Comment attribuer une adresse IP à une interface spécifique

Autre exemple avec une interface eno1 :

sudo ip addr add 192.168.1.193/24 dev eno1

Ici l'interface eno1 aura pour adresse IP 192.168.1.193 avec le masque de sous-réseau 255.255.255.0.

Autre exemple, pour changer l'interface enp0s3 aura pour adresse IP 192.168.2.44 :

sudo ip addr add 192.168.2.44/24 dev enp0s3

Enfin notez que l'on peut aussi attribuer plusieurs adresses IP à une même interface réseau :

sudo ip addr add 10.7.8.40/24 dev eno1
sudo ip addr add 10.7.8.46/24 dev eno1

Anciennement avec ifconfig, cela va remplacer l'adresse IP et non la rajouter :

ifconfig eth1 192.168.1.10

Comment vérifier une adresse IP

Pour obtenir et afficher l'adresse IP des interfaces réseaux

ip addr show

Une variante de la commande ip que l'on peut utiliser :

ip a

Enfin on peut aussi utiliser ces syntaxes :

ip address show
ip addr
ip a

Avec ifconfig, il suffisait de saisir al commande :

ifconfig
ifconfig -a

La présentation diffère mais le contenu reste le même avec notamment l'adresse IP et l'adresse MAC de la carte réseau.

Comment vérifier une adresse IP

On trouve toutes sortes d'informations :

  • MTU 65536 : L'unité de transfert maximale. C'est la taille du plus gros paquets de données que cette interface peut transmettre
  • QDisc Noqueuse : Un QDISC est un mécanisme de mise en file d'attente. Il planifie la transmission de paquets. Il existe différentes techniques de file d'attente appelées disciplines. La discipline de NoQueue signifie "Envoyer instantanément, ne pas faire la queue". Il s'agit de la discipline QDISC par défaut pour les périphériques virtuels, tels que l'adresse de bouclage.
  • State UNKNOWN : Cela peut être en panne (l'interface réseau n'est pas opérationnelle), Inconnu (l'interface réseau est opérationnelle mais rien n'est connecté), ou up (le réseau est opérationnel et il existe une connexion). Par défaut de groupe: les interfaces peuvent être regroupées de manière logique. La valeur par défaut est de les placer dans un groupe appelé "Par défaut"
  • QLEN 1000 : La longueur maximale de la file d'attente de transmission
  • Link / Loopback / Ether : l'adresse du contrôle d'accès aux médias (Mac) de l'interface
  • INET : L'adresse IP version 4. La partie de l'adresse après la barre oblique (/) est la notation de routage inter-domaines sans classes (CIDR) représentant le masque de sous-réseau. Il indique combien de bits contigus de premier plan sont définis sur un dans le masque de sous-réseau. La valeur de huit signifie huit bits. Huit bits définis sur un représentent 255 en binaire, le masque de sous-réseau est de 255.0.0.0
  • Scope Host : la portée de l'adresse IP. Cette adresse IP n'est valide que dans l'ordinateur (l'hôte »). LO: l'interface avec laquelle cette adresse IP est associée
  • Valid_lft : Durée de vie valide. Pour une adresse IP version IP allouée par le protocole de configuration d'hôte dynamique (DHCP), il s'agit de la durée de l'adresse IP considérée comme valide et capable de faire et d'accepter les demandes de connexion
  • Preferred_lft : Vie préférée. Pour une adresse IP version 4 IP allouée par DHCP, il s'agit de la quantité de temps que l'adresse IP peut être utilisée sans restrictions. Cela ne devrait jamais être plus grand que la valeur valid_lft
  • INET6 : L'adresse IP version 6 et le scope

Comment supprimer une adresse IP

Pour supprimer l'adresse IP d'une carte réseau :

ip addr del 192.168.1.10/24 dev eth0

Avec la commande ifconfig, cela donnait :

ifconfig eth0 0.0.0.0

Comment activer l'interface réseau

ip link set eth0 up

Et la version ifconfig :

ifconfig eth0 up

Ainsi lorsque vous allez lister les interfaces réseaux, celle-ci ne sera plus présente.

Comment désactiver l'interface réseau

Le paramètre down vous permet de désactiver une interface réseau.
On l'utilise ainsi :

ip link set eth1 down

Avec ifconfig :

ifconfig eth0 down

Comment vérifier la table de routage?

Tapez la commande suivante pour vérifier les informations de la table de routage du système.

ip route show

Cela donne ceci :

default via 37.187.125.254 dev eth0 onlink
37.187.125.0/24 dev eth0 proto kernel scope link src 37.187.125.200

Je rapelle aussi qu'il existe la commande route qui permet aussi d'afficher la table de routage :

route -N

Comment ajouter une route statique

Pour ajouter une route statique afin d'atteindre la destination souhaitée, on utilise ip route add :

ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0

Changer la route par défaut

Pour changer la route par défaut :

ip route add default via IP addresse_ip

Par exemple :

ip route add default via IP 192.168.1.254

Comment supprimer une route statique

Enfin pour supprimer une route statique, c'est avec ip route del :

ip route del 10.10.20.0/24

Comment ajouter des routes statiques de persistance

Cela se fait dans chaque fichier de configuration réseaux qui est différent d'une distribution à l'autre.

RHEL/CentOS/Fedora

Sur les distributions à base de Redhat, l'ajout de route statique persistante se fait dans le fichier route-<nominterface>.
Ce qui nosu donne :

# vi /etc/sysconfig/network-scripts/route-eth0
10.10.20.0/24 via 192.168.50.100 dev eth0

Ubuntu/Debian/Linux Mint

Sur les distributions à base de Debian, c'est toujours dans le fichier interfaces :

sudo vi /etc/network/interfaces

On utilise alors l'option up pour passer une commande au moment où l'interface se monte :

auto eth0
iface eth0 inet static
address 192.168.50.2
netmask 255.255.255.0
gateway 192.168.50.100
#########{Static Route}###########
up ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0

Puis on relance le service networking :

sudo /etc/init.d/network restart

Comment ajouter une passerelle par défaut

La passerelle par défaut est en général l'adresse IP du routeur afin de sortir du réseau.
La commande ip route permet de créer une passerelle par défaut de cette manière :

ip route add default via 192.168.1.1

Pour plus d'informations, se reporter à la page :

Source(s) : tecmint.com