Introduction
Iproute2 est un ensemble d'utilitaires utilisés pour contrôler le trafic TCP, UDP et IP dans Linux et a été conçu pour remplacer la suite entière des outils Unix appelé net-tools.
Correspondance
Description |
Outil net-tool |
Commande iproute2
|
Configuration d'adresse et lien
|
ifconfig
|
ip address, ip link
|
Tables de routage
|
route
|
ip route
|
Statistique
|
netstat
|
ss
|
Voisinage
|
arp
|
ip neighbour
|
Vlan
|
vconfig
|
ip link
|
Tunnels
|
iptunnel
|
ip tunnel
|
Multicast
|
ipmaddr
|
ip maddr
|
Configuration d'adresses
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Listing des interfaces
|
# ip address
|
# ip a
|
Listing d'une interfaces
|
# ip address show dev eth0
|
# ip a s eth0
|
Ajout / Suppression d'une adresse IP
|
# ip address [ add | del ] dev eth0 192.168.1.20/24
|
# ip a [ a | d ] dev eth0 192.168.1.20/24
|
Suppression de toutes les configurations
|
# ip address flush dev eth0
|
# ip a f dev eth0
|
Configuration de lien
Les basiques
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Affichage des liens
|
# ip link show
|
# ip l sh
|
Activation / Désactivation d'une interface
|
# ip link set eth0 [ up | down ]
|
# ip l s eth0 [ up | down ]
|
Mettre un alias
|
# ip link set dev eth0 alias "LAN"
|
# ip l s dev eth0 al "LAN"
|
Renommer une interface (l'interface doit être down)
|
# ip link set dev eth0 name lan
|
# ip l s dev eth0 name lan
|
Changer l'adresse MAC d'une interface
|
# ip link set dev eth0 address 00:01:02:03:04:05
|
# ip l s dev eth0 a 00:01:02:03:04:05
|
Changer le MTU (Maximum Transmission Unit) pour des trames Jumbo
|
# ip link set dev eth0 mtu 7000
|
# ip l s dev eth0 mtu 7000
|
Activer / Désactiver le multicast sur une interface
|
# ip link set eth0 multicast [ on | off ]
|
# ip l s eth0 multicast [ on | off ]
|
Activer / Désactiver ARP sur une interface
|
# ip link set eth0 arp [ on | off ]
|
# ip l s eth0 arp [ on | off ]
|
Les VLANs
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Ajout d'un VLAN
|
# ip link add link eth0 name eth0.1 type vlan id 1
|
# ip l a l eth0 name eth0.1 t vlan id 1
|
Suppression d'un VLAN
|
# ip link del eth0.1
|
# ip l d eth0.1
|
Les Bridges
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Création d'un bridge
|
# ip link add name br0 type bridge
|
# ip l a n br0 type bridge
|
Suppression d'un bridge
|
# ip link del br0
|
# ip l d br0
|
Ajout d'une interface au bridge
|
# ip link set dev eth0 master br0
|
# ip l s dev eth0 master br0
|
Suppression d'une interface du bridge
|
# ip link set dev eth0 nomaster
|
# ip l s dev eth0 nomaster
|
Voir les membres d'une interface bridge
|
# bridge link show
|
# bridge l
|
Tables de routage
Listing
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Listing des routes
|
# ip route show
|
# ip r
|
Listing des routes vers un réseau et tous ces sous-réseaux (VLSM)
|
# ip route show to root 192.168.1.0/24
|
# ip r s root 192.168.1.0/24
|
Listing des routes vers un réseau et tous ces sur-réseaux (VLSM)
|
# ip route show to match 192.168.1.0/24
|
# ip r s match 192.168.1.0/24
|
Listing des routes vers un sous-réseaux spécifique
|
# ip route show to exact 192.168.1.0/24
|
# ip r s exact 192.168.1.0/24
|
Affichage de la route utilisé par le noyau
|
# ip route get 192.168.1.0/24
|
# ip r get 192.168.1.0/24
|
Modification
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Ajout / Suppression d'une route vers le réseau 192.168.1.0/24 en passant par la passerelle 192.168.1.254
|
# ip route [ add | del ] 192.168.1.0/24 via 192.168.1.254
|
# ip r [ a | d ] 192.168.1.0/24 via 192.168.1.254
|
Ajout / Suppression d'une route statique flottante (backup route)
|
# ip route [ add | del ] 192.168.1.0/24 via 192.168.1.254 metric 5
# ip route [ add | del ] 192.168.1.0/24 via 192.168.1.253 metric 10
|
# ip r [ a | d ] 192.168.1.0/24 via 192.168.1.254 metric 5
# ip r [ a | d ] 192.168.1.0/24 via 192.168.1.253 metric 10
|
Changer / Remplacer la route par défaut
|
# ip route [ add | del ] default via 192.168.1.254
|
# ip r [ a | d ] default via 192.168.1.254
|
Changer / Remplacer une route vers le réseau 192.168.1.0/24 en passant par la passerelle 192.168.1.254
|
# ip route [ change | replace ] 192.168.1.0/24 via 192.168.1.254
|
# ip r [ c | r ] 192.168.1.0/24 via 192.168.1.254
|
Annonces spécifiques
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Ajout / Suppression d'un trou noir (trafic rejeté silencieusement)
|
# ip route [ add | del ] blackhole 192.168.1.0/24
|
# ip r [ a | d ] blackhole 192.168.1.0/24
|
Ajout / Suppression d'une réponse ICMP de type 3 et code 1 (destination host unreachable)
|
# ip route [ add | del ] unreachable 192.168.1.0/24
|
# ip r [ a | d ] unreachable 192.168.1.0/24
|
Ajout / Suppression d'une réponse ICMP de type 3 et code 10 (host administratively prohibited)
|
# ip route [ add | del ] prohibit 192.168.1.0/24
|
# ip r [ a | d ] prohibit 192.168.1.0/24
|
Ajout / Suppression d'une réponse ICMP de type 3 et code 0 (destination network unreachable)
|
# ip route [ add | del ] throw 192.168.1.0/24
|
# ip r [ a | d ] throw 192.168.1.0/24
|
Statistique
Description |
Commande iproute2 (full)
|
Affichage d'un résumé sur les sockets établies, fermées, orphelines et en attentes
|
# ss -s
|
Affiche les processus ainsi que les sockets utilisées
|
# ss -pln
|
Affichage des tous les processus ainsi que des sockets:
- udp : u
- tcp : t
- raw : w
- unix : x
|
# ss -a [ -u | -t | -w | -x ] -np
|
Affichage des tous les connexion http établies:
|
# ss -o state established '( dport = 80 or sport = 80 )'
|
Voisinage
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Listing de tous les voisins
|
# ip neighbor show
|
# ip n
|
Listing des voisins par interface
|
# ip neighbor show dev eth0
|
# ip n s dev eth0
|
Suppression des voisins par interface
|
# ip neighbor flush dev eth0
|
# ip n f dev eth0
|
Ajout / Suppression d'une entrée avec possibilité de modifier la nud (Neighbor Unreachability Detection) :
- noarp : l'entrée est considérée valide et sera retirée après expiration
- permanent : l'entrée est toujours valide et ne peut être retirée que manuellement
- reachable : l'entrée est valide jusqu'à expiration du timer d'accessibilité
- stale : l'entrée est valide mais suspecte
|
# ip neighbor [ add | del ] 192.168.0.1 lladdr 00:01:02:03:04:05 dev eth0 [nud [ noapr | permanent | reachable | stale ] ]
|
# ip neighbor [ a | d ] 192.168.0.1 l 00:01:02:03:04:05 dev eth0 [nud [ noarp | p | r | stale ] ]
|
Multicast
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Listing des groupes multicast
|
# ip maddress show
|
# ip m
|
Ajout / Suppression d'une couche liaison à un groupe multicast (besoin très rare)
|
# ip maddress [ add | del ] 00:01:02:03:04:05 dev eth0
|
# ip m [ a | d ] 00:01:02:03:04:05 dev eth0
|
Listing des routes multicast
|
# ip mroute show
|
# ip mr
|
Monitoring
Description |
Commande iproute2 (full) |
Commande iproute2 (short)
|
Monitoring de tous les événements
|
# ip monitor all
|
# ip mo
|
Monitoring de certain événements :
- link : changement d'état, création ou destruction d'une interface.
- address : changement sur les adresses Ethernet
- route : changement sur les tables de routage
- mroute : changement sur les routes multicast
- neigh : changement sur dans le voisinage (tables ARP et NDP)
dans un fichier ou sur la console
|
# ip [ -4 | -6 ] monitor [ link | address | route | mroute | neigh ] [ file event.log ]
|
# ip [ -4 | -6 ] mo [ l | a | r | m | n ]
|
rtmon peut lire un fichier de log binaire (créé précédemment par ip monitor)
|
# rtmon [ -4 | -6 ] [ link | address | route | mroute | neigh ] file event.log
|
|