Différences entre versions de « Iproute2 »
Aller à la navigation
Aller à la recherche
| (10 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 27 : | Ligne 27 : | ||
||Tunnels | ||Tunnels | ||
||iptunnel | ||iptunnel | ||
| − | ||ip | + | ||ip tunnel |
|-valign=top | |-valign=top | ||
||Multicast | ||Multicast | ||
| Ligne 33 : | Ligne 33 : | ||
||ip maddr | ||ip maddr | ||
|} | |} | ||
| + | |||
= Configuration d'adresses = | = Configuration d'adresses = | ||
{|class="wikitable" width="85%" | {|class="wikitable" width="85%" | ||
| Ligne 228 : | Ligne 229 : | ||
<pre> | <pre> | ||
# ip l s dev eth0 nomaster | # ip l s dev eth0 nomaster | ||
| + | </pre> | ||
| + | |- | ||
| + | ||Voir les membres d'une interface bridge | ||
| + | || | ||
| + | <pre> | ||
| + | # bridge link show | ||
| + | </pre> | ||
| + | || | ||
| + | <pre> | ||
| + | # bridge l | ||
</pre> | </pre> | ||
|} | |} | ||
| Ligne 379 : | Ligne 390 : | ||
=Statistique= | =Statistique= | ||
{|class="wikitable" width="85%" | {|class="wikitable" width="85%" | ||
| − | ! Description !! Commande ''iproute2'' (full) | + | ! Description !! Commande ''iproute2'' (full) |
| + | |- | ||
| + | ||Affichage d'un résumé sur les sockets établies, fermées, orphelines et en attentes | ||
| + | || | ||
| + | <pre> | ||
| + | # ss -s | ||
| + | </pre> | ||
|- | |- | ||
| + | ||Affiche les processus ainsi que les sockets utilisées | ||
|| | || | ||
| + | <pre> | ||
| + | # ss -pln | ||
| + | </pre> | ||
| + | |- | ||
| + | ||Affichage des tous les processus ainsi que des sockets: | ||
| + | *udp : ''u'' | ||
| + | *tcp : ''t'' | ||
| + | *raw : ''w'' | ||
| + | * unix : ''x'' | ||
|| | || | ||
<pre> | <pre> | ||
| − | # | + | # ss -a [ -u | -t | -w | -x ] -np |
</pre> | </pre> | ||
| + | |- | ||
| + | ||Affichage des tous les connexion http établies: | ||
|| | || | ||
<pre> | <pre> | ||
| − | # | + | # ss -o state established '( dport = 80 or sport = 80 )' |
</pre> | </pre> | ||
|} | |} | ||
| Ligne 396 : | Ligne 425 : | ||
! Description !! Commande ''iproute2'' (full) !! Commande ''iproute2'' (short) | ! Description !! Commande ''iproute2'' (full) !! Commande ''iproute2'' (short) | ||
|- | |- | ||
| + | ||Listing de tous les voisins | ||
|| | || | ||
| + | <pre> | ||
| + | # ip neighbor show | ||
| + | </pre> | ||
| + | || | ||
| + | <pre> | ||
| + | # ip n | ||
| + | </pre> | ||
| + | |- | ||
| + | ||Listing des voisins par interface | ||
| + | || | ||
| + | <pre> | ||
| + | # ip neighbor show dev eth0 | ||
| + | </pre> | ||
| + | || | ||
| + | <pre> | ||
| + | # ip n s dev eth0 | ||
| + | </pre> | ||
| + | |- | ||
| + | ||Suppression des voisins par interface | ||
|| | || | ||
<pre> | <pre> | ||
| − | # ip | + | # ip neighbor flush dev eth0 |
</pre> | </pre> | ||
|| | || | ||
<pre> | <pre> | ||
| − | # ip | + | # ip n f dev eth0 |
| + | </pre> | ||
| + | |- | ||
| + | ||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 | ||
| + | || | ||
| + | <pre> | ||
| + | # ip neighbor [ add | del ] 192.168.0.1 lladdr 00:01:02:03:04:05 dev eth0 [nud [ noapr | permanent | reachable | stale ] ] | ||
| + | </pre> | ||
| + | || | ||
| + | <pre> | ||
| + | # ip neighbor [ a | d ] 192.168.0.1 l 00:01:02:03:04:05 dev eth0 [nud [ noarp | p | r | stale ] ] | ||
</pre> | </pre> | ||
|} | |} | ||
| − | = | + | =Multicast= |
{|class="wikitable" width="85%" | {|class="wikitable" width="85%" | ||
! Description !! Commande ''iproute2'' (full) !! Commande ''iproute2'' (short) | ! Description !! Commande ''iproute2'' (full) !! Commande ''iproute2'' (short) | ||
|- | |- | ||
| + | ||Listing des groupes multicast | ||
| + | || | ||
| + | <pre> | ||
| + | # ip maddress show | ||
| + | </pre> | ||
| + | || | ||
| + | <pre> | ||
| + | # ip m | ||
| + | </pre> | ||
| + | |- | ||
| + | ||Ajout / Suppression d'une couche liaison à un groupe multicast (besoin très rare) | ||
| + | || | ||
| + | <pre> | ||
| + | # ip maddress [ add | del ] 00:01:02:03:04:05 dev eth0 | ||
| + | </pre> | ||
|| | || | ||
| + | <pre> | ||
| + | # ip m [ a | d ] 00:01:02:03:04:05 dev eth0 | ||
| + | </pre> | ||
| + | |- | ||
| + | ||Listing des routes multicast | ||
|| | || | ||
<pre> | <pre> | ||
| − | # ip | + | # ip mroute show |
</pre> | </pre> | ||
|| | || | ||
<pre> | <pre> | ||
| − | # ip | + | # ip mr |
</pre> | </pre> | ||
|} | |} | ||
| − | + | =Monitoring= | |
| − | = | ||
| − | |||
| − | |||
{|class="wikitable" width="85%" | {|class="wikitable" width="85%" | ||
! Description !! Commande ''iproute2'' (full) !! Commande ''iproute2'' (short) | ! Description !! Commande ''iproute2'' (full) !! Commande ''iproute2'' (short) | ||
|- | |- | ||
| + | ||Monitoring de tous les événements | ||
| + | || | ||
| + | <pre> | ||
| + | # ip monitor all | ||
| + | </pre> | ||
| + | || | ||
| + | <pre> | ||
| + | # ip mo | ||
| + | </pre> | ||
| + | |- | ||
| + | ||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 | ||
|| | || | ||
| + | <pre> | ||
| + | # ip [ -4 | -6 ] monitor [ link | address | route | mroute | neigh ] [ file event.log ] | ||
| + | </pre> | ||
|| | || | ||
<pre> | <pre> | ||
| − | # ip | + | # ip [ -4 | -6 ] mo [ l | a | r | m | n ] |
</pre> | </pre> | ||
| + | |- | ||
| + | ||''rtmon'' peut lire un fichier de log binaire (créé précédemment par ''ip monitor'') | ||
|| | || | ||
<pre> | <pre> | ||
| − | # | + | # rtmon [ -4 | -6 ] [ link | address | route | mroute | neigh ] file event.log |
</pre> | </pre> | ||
| + | || | ||
|} | |} | ||
Version actuelle datée du 25 décembre 2023 à 18:17
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:
|
# 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) :
|
# 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 :
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 |