2.  La commande IpRoute2

 

 

Syntaxe : ip [ OPTIONS ] OBJET { COMMANDE | help }

 

Avec : OBJET := { link | addr | route | rule | neigh | tunnel | maddr | mroute | monitor }

            OPTIONS := { -v[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link }

                                 | -o[neline] }

 

 

2.1 LA COMMANDE IP LINK

 

2.1.1 Ip link set

 

Ip link set modifie les attributs de l’interface. Abréviations : set, s

 

ip link set [ dev NAME ] [ {up | down} ] [ arp {on | off} ] [ name NAME ]

            [ txqlen NUMBER ] [ mtu NUMBER ] [ address LLADDRESS ]

            [ brd LLADDRESS ]

 

Il a pour paramètres :

 

Ø       dev NAME : NAME indique l’interface réseau sur laquelle opérer ;

Ø       up et down : change l’état de l’interface, respectivement actif et inactif ;

Ø       arp on ou arp off : change le flag NOARP ;

Ø       multicast on ou multicast off : change le flag MULTICAST ;

Ø       name NAME : change le nom ;

Ø       txqeuelen NUMBER ou txqlen NUMBER : change la taille de la file d’attente de l’interface réseau ;

Ø       mtu NUMBER : change la MTU (maximal transfert unit) ;

Ø       address LLADDRESS : change l’adresse de l’interface ;

Ø       broadcast LLADDRESS ou brd LLADDRESS : change l'adresse d'émission de couche de lien.

 

2.1.2 Ip link show

 

Ip link show montre les attributs de l’interface. Abréviations : show, list, lst, sh, ls, l

 

ip link show [ dev NAME ] [ up ]

 

Avec :

 

Ø      dev NAME : - NAME indique l’interface réseau dont il faut afficher les attributs ;

Ø      up : affiche seulement les interfaces courantes.

 

2.1.3 Exemples d'utilisation d'ip link set et ip link show

 

Pour modifier l’adresse de l’interface eth0 :

 

ip link set eth0 address 00 :00 :00 :00 :00 :01

 

Ip link affiche les liens :

 

# ip link show

 

1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100

    link/ether 00:06:29:a9:d4:30 brd ff:ff:ff:ff:ff:ff

 

# ip link show ls eth0

 

2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100

    link/ether 00:06:29:a9:d4:30 brd ff:ff:ff:ff:ff:ff

 

Le nombre écrit au début est le numéro de l’interface, il est suivi par le nom de cette interface.

Puis nous avons les autres attributs de l’interface comme le type et la taille de sa file d’attente, ainsi que son adresse.

 

 

2.2 LA COMMANDE IP ADDR

 

 

2.2.1 Ip address add


Ip address add : ajoute une nouvelle adresse. Abréviations : address, addr, a

 

ip addr add [ dev NAME ] [ local ADDRESS ] [ broadcast ADDRESS ]

            [ label NAME ] [ scope SCOPE_VALUE ]

 

Avec :

 

Ø       dev NAME : NAME indique l’interface réseau sur laquelle ajouter l’adresse ;

Ø       local ADDRESS : désigne l’adresse de l’interface ;

Ø       broadcast ADDRESS : adresse d’émission de l’interface ;

Ø       label NAME : chaque adresse est liée à un label ;

Ø      scope SCOPE_VALUE : le secteur où l'adresse est valide Les différentes valeurs sont :

global : l'adresse est globalement valide

site : l'adresse est placée localement, elle est valide à l’intérieur de « site »

link : l'adresse est un lien local, elle est valide seulement sur le dispositif

host : l'adresse est valide seulement à l'intérieur du centre serveur

 

2.2.2 Ip address del

 

Ip address delete : efface une adresse. Abréviations : delete, del, d.

 

ip addr del [ dev NAME ] [ local ADDRESS ] [ broadcast ADDRESS ]

            [ label NAME ] [ scope SCOPE_VALUE ]

 

Les paramètres sont les mêmes que pour ip address add.


2.2.3 Ip address show 

 

Ip address show: visualisation des adresses

Abréviations: show, list, lst, sh, ls, l.

 

ip addr show [ dev NAME ] [label PATTERN ] [ {primary| secondary}]

             [ scope SCOPE_VALUE ]

 

Avec :

 

Ø       dev NAME : NAME indique l’interface réseau ;

Ø      label PATTERN : affiche seulement les adresses du label indiqué ;

Ø       primary et secondary : affiche seulement les adresses primaires ou secondaires ;

Ø       scope SCOPE_VALUE : affiche seulement les adresses du secteur indiqué.

 

 

2.2.4 Exemples d'utilisation d'ip addr add et ip addr show

 

On ajoute l’adresse 192.168.1.2 à l’interface eth0 avec le label eth0 :0 :

 

# ip addr add local 192.168.1.2/24 brd 192.168.1.255 dev eth0 label eth0:0 scope link

 

Puis on visualise l’état des interfaces :

 

# ip addr show

 

1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo

2: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100

    link/ether 00:06:29:a9:d4:30 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.2/24 brd 192.168.1.255 scope link eth0:0

    inet 192.168.0.2/24 brd 192.168.0.255 scope global eth0

 

Notre interface eth0 possède désormais deux adresses MAC, une pour chaque réseau.

 

 

2.3 LA COMMANDE IP ROUTE

 

 

Abréviations : route, ro, r.

 

Ip route add: ajout d’une nouvelle route

Ip route change: changement d’une route

Ip route replace: changement ou ajout dune route

 

Abréviations: add, a ; change, chg ; replace, repl

 

ip route {add|chg|repl} [ to PREFIXE ] [ tos TOS ] [ table TABLE ]

            [ dev NAME ] [ via ADDRESS ] [ src ADDRESS ]

            [ scope SCOPE_VAL ] [protocol RTPROTO]

 

 

Avec :

 

Ø       to PREFIXE ou to TYPE PREFIX : indique la destination ;

Ø       tos TOS ou dsfield TOS : le type de service (TOS : Type Of Service) ;

Ø       table TABLE : la table où ajouter cette route ;

Ø       dev NAME : NAME est le nom de l’interface de sortie ;

Ø       via ADDRESS : l’adresse du prochain routeur à traverser ;

Ø       src ADDRESS : adresse source ;

Ø       scope SCOPE_VAL ;

Ø       protocol RTPROTO : le protocole de routage.

 

2.3.1 Ip route del et ip route add

 

Ip route delete : efface une route. Abréviations : delete, del, d.

 

ip route del [ to PREFIXE ] [ tos TOS ] [ table TABLE ] [ dev NAME ]

[ via ADDRESS ] [ src ADDRESS ] [ scope SCOPE_VAL ] [protocol RTPROTO]

 

Les paramètres sont les mêmes que pour ip route add.

 

2.3.2 Ip route show 

 

Ip route show : visualisation des routes. Abréviations : show, list, sh, ls, l.

 

ip route sh [ to SELECTOR ] [ tos TOS ] [ table TABLEID ] [ from SELECTOR ]

            [protocol RTPROTO] [ dev NAME ][ scope SCOPE_VAL ]

            [ via PREFIX ][ src PREFIX ]

 

Avec :

 

Ø       to SELECTOR : montre seulement les routes des paquets allant vers l’adresse SELECTOR ;

Ø      tos TOS or dsfield TOS : montre seulement les routes qui ont le champ TOS correspondant ;

Ø       table TABLEID : affiche les routes de cette table ;

Ø       from SELECTOR : affiche les routes des paquets provenant de l’adresse source SELECTOR ;

Ø       protocol RTPROTO : montre seulement les routes des paquets allant vers l’adresse SELECTOR ;

Ø       scope SCOPE_VAL : affiche les routes de ce secteur ;

Ø      type TYPE : affiche les routes de ce type ;

Ø       dev NAME : montre seulement les routes allant vers cette interface ;

Ø      via PREFIX : montre seulement les routes allant vers le router PREFIX ;

Ø       src PREFIX : affiche les routes venant du router PREFIX.

 

 

2.3.3 Exemples d'utilisation d'ip route show, ip route add et ip route del

 

Affichage de nos routes :

 

# ip route show

 

192.168.0.0/24 via 192.168.0.2 dev eth0  scope link

192.168.0.0/24 dev eth0  scope link

127.0.0.0/8 dev lo  scope link

default via 192.168.0.1 dev eth0

 

# ip addr add local 192.168.1.2/24 brd 192.168.1.255 dev eth0 label eth0:0 scope link

 

# ip route show

 

192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.2

192.168.0.0/24 via 192.168.0.2 dev eth0  scope link

192.168.0.0/24 dev eth0  scope link

127.0.0.0/8 dev lo  scope link

default via 192.168.0.1 dev eth0

 

Nous remarquons qu’après avoir exécuté la commande ip addr add, la route des paquets dont la destination est le réseau 192.168.1.0 (1ère ligne) a été ajoutée. Cette ligne indique que ces paquets passent par l’interface eth0 dont l’adresse est 192.168.1.2, ce qui correspond, en fait, à eth0:0.

 

Ajout d’une route : essayons d’ajouter l’adresse de eth0 :0 avec la commande ip route add :

 

# ifconfig eth0:0 192.168.1.2

 

# ip route add 192.168.0.2 dev eth0:0

Cannot find device "eth0:0"

 

Mais ip route ne reconnaît pas l’interface eth0:0.

 

Effacement d’une route :

 

# ip route del 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.3

 

 

2.4 LA COMMANDE IP RULE

 

 

2.4.1 Ip rule add et ip rule del  

 

Abréviations : rule, ru.

 

Ip rule add : ajout d’une nouvelle règle de routage.

Ip rule delete : efface une règle de routage.

 

Abréviations : add, a ; delete, del.

 

ip rule {add|del} [ type TYPE ] [ from PREFIXE ] [ to PREFIXE ] [ tos TOS ]

        [ priority PREFERENCE ] [ table TABLEID ]

 

Les paramètres sont :

 

Ø       type TYPE : type de cette règle ;

Ø       from PREFIX : indique la source dont on doit appliquer la règle ;

Ø       to PREFIX : indique la destination dont on doit appliquer la règle ;

Ø       tos TOS : indique la valeur du champs TOS dont on doit appliquer la règle ;

Ø       priority PREFERENCE : priorité de la règle de routage ;

Ø       table TABLEID : identifiant de la table de routage dans laquelle regarder la règle de routage à appliquer.

 

2.4.2 Ip rule show 

 

Ip rule show : visualisation des règles de routage. Abréviations : show, list, sh, ls, l.

 

ip rule show

 

La commande Ip rule show n’a pas d’argument.

 

 

2.4.3 Exemples d'utilisation d'ip rule show, ip rule add et ip rule del

  

Affichage de nos règles de routage :

 

# ip rule show

0:      from all lookup local

32766:  from all lookup main

32767:  from all lookup 253

 

Ajout d’une règle de routage :

Tous les paquets allant à l’adresse 192.168.0.3 auront une priorité de 1000.

 

# ip rule add to 192.168.0.3 prio 10000

 

# ip rule show

0:      from all lookup local

10000:  from all to 192.168.0.3 lookup main

32766:  from all lookup main

32767:  from all lookup 253

 

On efface ensuite cette règle pour en mettre d’autres :

 

# ip rule del to 192.168.0.3 prio 10000

# ip rule add from 192.168.0.3 prio 220

# ip rule add from 192.168.1.6 prio 10000

# ip rule

0:      from all lookup local

220:    from 192.168.0.3 lookup main

10000:  from 192.168.1.6 lookup main

32766:  from all lookup main

32767:  from all lookup 253

 

Les paquets allant vers la machine 192.168.0.3 seront plus prioritaires que ceux allant 192.168.1.6.

 

Nous avons décidé ensuite de bloquer tous les paquets provenant de l’ordinateur 192.168.0.3 :

 

# ip rule add type blackhole from 192.168.0.3

# ip rule

0:      from all lookup local

9999:   from 192.168.0.3 lookup main blackhole

10000:  from 192.168.1.6 lookup main

32766:  from all lookup main

32767:  from all lookup 253

 

Nos tests nous ont montré que le PC03 ne pouvait plus aller sur Internet :

 

C:\>ping www.google.com

Hôte inconnu www.google.com.

 


Retour au sommaire