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.