Gestion du réseau sous Linux avec iproute2
Pour rappel, les net-tools sont utilisés depuis maintenant 25 ans sur les OS UNIX, ifconfig avait
été à l'origine créé en tant qu'outil TCP/IP sur la version 4.2 de BSD en ... 1983 ! Le principal
avantage du paquet iproute2 est qu'il permet de réunir tous les anciens outils dans une seule
commande via des options, par exemple :
ifconfig
route
arp
vconfig
iptunnel
ipmaddr
netstat
-->
-->
-->
-->
-->
-->
-->
ip addr, ip link
ip route
ip neigh
ip link
ip tunnel
ip maddr
ss
Exemples de commandes basiques avec iproute2
A. Lister les interfaces
Pour lister les interfaces, sous net-tools, on utilisait les commandes suivantes :
$ ifconfig
Avec iproute2 on utilisera la ligne de commande suivante :
ip addr
Publicité
Résultat :
On peut préciser une interface spécifique à la suite de la commande pour n'avoir les
informations que de cette interface
ip addr show lo
Elies Jebri
Page 1 sur 5
B. Renommer une interface
Si vous cherchez à remettre les anciens noms d’interfaces au lieu des nouveaux, renommez avec
les commandes suivantes :
ip link set down eno16777736
ip link set eno16777736 name eth0
ip link set up eth0
C. Activer ou désactiver une interface réseau
Vous remarquerez qu’on est passé par une désactivation/activation de l'interface réseau pour
changer son nom, voici les commandes que l'on utilisait avant :
$ ifconfig eth1 up
$ ifconfig eth1 down
Et celles à utiliser avec iproute2 :
$ ip link set down eth1
$ ip link set up eth1
D. Gestion d'une adresse IPV4
Nous allons maintenant voir comment gérer une adresse IPv4 sur une interface réseau. On
commence par ajouter une adresse IP à une interface, ce qui se faisait comme cela sous net-
tools :
$ ifconfig eth1 10.0.0.1/24
Maintenant avec iproute2 :
$ ip addr add 10.0.0.1/24 dev eth1
On assigne donc l'IP 10.0.0.1 au device (à l'interface réseau) "eth1". Avec iproute2, on peut
également assigner facilement plusieurs adresses IPv4 à une interface, ce qu'on ne pouvait pas
faire avec les commandes net-tools où l'on devait utiliser les alias :
$ ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1
$ ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1
$ ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1
On peut également facilement enlever une adresse IPv4 d'une interface avec iproute 2 :
$ ip addr del 10.0.0.1/24 dev eth1
Elies Jebri
Page 2 sur 5
Publicité
E. Gestion d'une adresse IPv6
Pour ajouter une adresse IPv6 sous net-tools, nous utilisions ces syntaxes :
$ ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
Voilà comment il faudra procéder sous iproute2, on précisera l'option "-6" pour préciser que
l'on parle Ipv6" :
$ ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1
Encore une fois, pour afficher une interface réseau et son adresse IPv6, sous net-tools :
$ ifconfig eth1
Sous iproute2, on retrouve le même fonctionnement que lors de l'attribution de l'IP avec l'option
"-6":
$ ip -6 addr show dev eth1
Et enfin pour supprimer une adresse IPv6 d'une interface réseau, sous net-tools :
$ ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
Sous iproute2 :
$ ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1
F. Changer l'adresse MAC d'une interface
La commande pour changer l'adresse MAC d'une interface réseau était la suivante sous net-
tools :
$ ifconfig eth1 hw ether 08:00:27:75:2a:66
Avec iproute2, on retrouve sensiblement une syntaxe similaire :
$ ip link set dev eth1 address 08:00:27:75:2a:67
G. Gestion de la table de routage
La gestion de la table de routage se faisait via la commande "root" et "netstat" pour
l’affichage ;
$ route -n
$ netstat -rn
On utilisera maintenant la commande suivante pour afficher la table de routage :
$ ip route show
Elies Jebri
Page 3 sur 5
Voici les commandes que l'on utilisait pour ajouter ou supprimer une route par défaut (0.0.0.0/0)
avec net-tools. Pour remplacer une route, il fallait supprimer l'ancienne et ajouter la nouvelle
en deux lignes
$ route add default gw 192.168.1.2 eth0
$ route del default gw 192.168.1.1 eth0
Avec iproute2 on peut ajouter une route par défaut comme cela :
$ ip route add default via 192.168.1.2 dev eth0
Publicité
En revanche si l'on souhaite remplacer la route par défaut, on peut utiliser cette commande :
$ ip route replace default via 192.168.1.2 dev eth0
Pour les routes statiques, voici les commandes sous net-tools en utilisant route :
$ route add -net 172.16.32.0/24 gw 192.168.1.1 dev eth0
$ route del -net 172.16.32.0/24
Et voici les commandes à utiliser pour iproute2 :
$ ip route add 172.16.32.0/24 via 192.168.1.1 dev eth0
$ ip route del 172.16.32.0/24
H. Voir les informations sur les ports
On utilisait netstat pour lister les connexions actives, en attente et les ports occupés :
$ netstat
$ netstat -l
Le package iproute2 inclut maintenant la commande "ss" qui s'utilise de façon similaire avec
les options habituelles :
$ ss
$ ss -l
Elies Jebri
Page 4 sur 5
I. Gestion de la table ARP
Pour afficher la table ARP de l'hôte, on utilisait la commande ARP avec les options suivantes
sous net-tools :
$ arp -an
Avec iproute2, il faut utiliser la commande suivante :
$ ip neigh
Pour ajouter ou supprimer une entrée dans la table de routage, les commandes suivantes étaient
utilisées sous net-tools :
$ arp -s 192.168.1.100 00:0c:29:c0:5a:ef
$ arp -d 192.168.1.100
Voici celles qui faudra utiliser avec iproute2 :
$ ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0
$ ip neigh del 192.168.1.100 dev eth0
Elies Jebri
Page 5 sur 5