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.

Table des matières
- 1 Comment configurer le protocole Internet d’adresse IP statique (IPv4)
- 2 Comment utiliser la commande IP sur Linux
- 3 10 commandes “IP” utiles pour configurer les interfaces réseau sur Linux
- 3.1 Comment attribuer une adresse IP à une interface spécifique
- 3.2 Comment vérifier une adresse IP
- 3.3 Comment supprimer une adresse IP
- 3.4 Comment activer l’interface réseau
- 3.5 Comment désactiver l’interface réseau
- 3.6 Comment vérifier la table de routage?
- 3.7 Comment ajouter une route statique
- 3.8 Changer la route par défaut
- 3.9 Comment supprimer une route statique
- 3.10 Comment ajouter des routes statiques de persistance
- 3.11 Comment ajouter une passerelle par défaut
- 4 Liens
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.
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.
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.
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 :
Liens
- Mesurer le débit et lister les connexions réseaux
- Comment configurer une adresse IP sur Ubuntu
- Comment configurer le réseau sur Linux
- nmcli : configurer le réseau NetworkManager sur Linux (Debian, Ubuntu, …)
- /etc/network/interfaces : configurer le réseau sur Debian
- Comment changer la configuration des serveurs DNS sur Linux
- Comment changer la passerelle par défaut sur Linux
- Netstat sur Linux : utilisations et exemples
- Comment utiliser la commande ss sur Linux avec des exemples
- 15 commandes ifconfig pour configurer une interface réseau sous Linux
- 10 commandes “IP” utiles pour configurer les interfaces réseau sur Linux
- 6 outils pour tester la vitesse de la connexion internet sur Linux en ligne de commandes
- Nmap : exemples et utilisations
- TCPDump : capturer et analyser le trafic réseau sur Linux
- 25+ exemples de la commande Hping3
- iperf : tester la vitesse et bande passante entre deux hôtes
- Comment utiliser la commande traceroute sur Linux avec des exemples
- Comment utiliser wget avec 14 exemples
- 16 exemples de la commande CURL
- 6 commandes pour télécharger des fichiers en ligne de commandes sur Linux
- Les commandes Linux réseaux
- Unix socket : fonctionnement et utilisations
- Configurer un serveur DHCP sous Linux (isc-dhcp-server)
- Liste de toutes les commandes Linux