Utilisation de la commande ip

Informations sur les interfaces réseau

Initialement, pour connaître des interfaces réseau disponibles sur une machine, on pouvait utiliser la commande ifconfig. Cependant, cette commande étant passée en statut “deprecated”, nous allons voir comment la commande ip peut la remplacer. Pour obtenir des informations sur les interfaces réseau, il existe deux commandes :

  • la commande ip addr show qui peut être abrégée en ip a s. Cette commande est l’équivalent d’un ifconfig -a, puisqu’elle affiche même les interfaces qui ne sont pas actives. Cette commande affiche principalement les informations relatives à la couche 3 du réseau (réseau IP). Pour afficher une seule interface, on peut utiliser la commande ip addr show dev eth0 (abrégée en ip a s dev eth0)
  • la commande ip link show qui peut être abrégée en ip l show. Elle affiche des informations relatives à la couche 2 du réseau (data link). On peut également restreindre l’affichage à une seule interface via ip link show dev eth0 (abrégée en ip l show dev eth0).

Pour afficher des informations supplémentaires, notamment relatives aux trafic entrants ou sortants, il est possible d’utiliser des arguments “stats” : ip -s l show dev eth0.

Gérer les interfaces réseau

Lorsque les interfaces réseau sont bien configurées via le fichier /etc/network/interfaces, on peut les activer avec la commande ip link set eth0 up.

Il est également possible de les désactiver via ip link set eth0 down.

Si une interface n’est pas configurée, il est possible de la paramétrer à la volée via la commande ip addr add 192.168.0.10/255.255.255.0 dev eth0. On peut également affecter une adresse via la notation CIDR ip addr add 192.168.0.10/24 dev eth0.

Pour définir l’adresse de broadcast, on utilise ip link set dev eth0 broadcast 192.168.0.255.

Attention : Pour cette dernière commande, comme pour ifconfig eth0 192.168.0.10 netmask 255.255.255.0, les informations seront perdues lors du redémarrage de la machine, si elles ne sont pas enregistrées dans /etc/network/interfaces.

Enfin, la commande ip permet de modifier le nom d’une interface réseau : ip link set dev eth0 name mon_interface.

Gestion de la table de routage

La commande ip peut également être utilisée pour modifier la table de routage.

Pour accéder à la table de routage, il suffit de lancer la commande ip route show qui est l’équivalent de la commande route -n.

Pour ajouter une nouvelle route dans la table on exécute la commande suivante :

ip route add 192.168.1.0/24 via 192.168.1.1 dev eth2

Dans cette commande, l’option via désigne la gateway et dev l’interface qui doit être utilisée. Cette commande est équivalente de la commande :

route add -net 192.168.1.0/24 gw 192.168.1.1 dev eth2

Si on souhaite supprimer une route dans la table, on peut lancer la commande :

ip route del 192.168.1.0/24 via 192.168.1.1 dev eth2

Le gateway par défaut peut être définie par la commande :

ip route add default via 192.168.0.1

Gestion de la table ARP

La commande ip permet également de consulter la table ARP, en remplacement de l’ancienne commande arp (qui est dépréciée). Elle s’utilise de la maniière suivante :

ip neigh show

Il est également possible de supprimer ou d’ajouter des entrées dans la table ARP :

ip neigh del 192.168.0.1 dev eth0 et ip neigh add 192.168.0.1 dev eth0.