Gestion du réseau sous Linux avec iproute2

Networking and Linux System Administration · course

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