Cela peut vous paraître surprenant, mais iproute2 est déjà configuré ! Les commandes courantes ifconfig et route utilisent déjà les appels système avancés d'iproute2, mais essentiellement avec les options par défaut (c'est-à-dire ennuyeuses).
L'outil ip est central, et nous allons lui demander de nous montrer les interfaces.
[ahu@home ahu]$ ip link list 1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100 link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff 3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10 link/ppp
La sortie peut varier, mais voici ce qui est affiché pour mon routeur NAT (NdT : traduction d'adresse) chez moi. J'expliquerai seulement une partie de la sortie, dans la mesure où tout n'est pas directement pertinent.
La première interface que nous voyons est l'interface
loopback
.
Bien que votre ordinateur puisse fonctionner sans, je vous le déconseille.
La taille de MTU (unité maximum de transmission) est de
3924 octets, et loopback
n'est pas supposé être mis en file
d'attente, ce qui prend tout son sens dans la mesure où cette interface est le
fruit de l'imagination de votre noyau.
Je vais passer sur l'interface dummy
pour l'instant,
et il se peut qu'elle ne soit pas présente sur votre ordinateur.
Il y a ensuite mes deux interfaces physiques, l'une du côté de mon modem
câble, l'autre servant mon segment ethernet à la maison.
De plus, nous voyons une interface ppp0
.
Notons l'absence d'adresses IP. Iproute déconnecte les concepts de « liens » et « d'adresses IP ». Avec l'IP aliasing, le concept de l'adresse IP canonique est devenu, de toute façon, sans signification.
ip nous montre bien, cependant, l'adresse MAC, l'identifiant matériel de nos interfaces ethernet.
[ahu@home ahu]$ ip address show 1: lo: <LOOPBACK,UP> mtu 3924 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: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100 link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/8 brd 10.255.255.255 scope global eth0 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff 3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10 link/ppp inet 212.64.94.251 peer 212.64.94.1/32 scope global ppp0
Cela contient plus d'informations : ip montre
toutes nos adresses, et à quelles cartes elles appartiennent.
inet
signifie Internet (IPv4).
Il y a beaucoup d'autres familles d'adresses, mais elles ne nous concernent
pas pour le moment.
Examinons l'interface eth0
de plus près.
Il est dit qu'elle est reliée à l'adresse internet
10.0.0.1/8
.
Qu'est-ce que cela signifie ? Le /8 désigne le nombre de
bits réservés à l'adresse réseau.
Il y a 32 bits, donc il reste 24 bits pour désigner une partie de notre réseau.
Les 8 premiers bits de 10.0.0.1
correspondent à
10.0.0.0
, notre adresse réseau, et notre masque de
sous-réseau est 255.0.0.0
.
Les autres bits repèrent des machines directement connectées à cette
interface. Donc, 10.250.3.13
est directement disponible
sur eth0
, comme l'est 10.0.0.1
dans
notre exemple.
Avec ppp0
, le même concept existe, bien que les
nombres soient différents.
Son adresse est 212.64.94.251
, sans masque de sous-réseau.
Cela signifie que vous avez une liaison point à point et que toutes les
adresses, à l'exception de 212.64.94.251
, sont distantes.
Il y a cependant plus d'informations.
En effet, on nous dit que de l'autre côté du lien, il n'y a encore qu'une
seule adresse, 212.64.94.1
.
Le /32 nous précise qu'il n'y a pas de « bits réseau ».
Il est absolument vital que vous compreniez ces concepts. Référez-vous à la documentation mentionnée au début de ce HOWTO si vous avez des doutes.
Vous pouvez aussi noter qdisc
, qui désigne la gestion
de la mise en file d'attente (Queueing Discipline).
Cela deviendra vital plus tard.
Nous savons maintenant comment trouver les adresses
10.x.y.z
, et nous sommes capables d'atteindre
212.64.94.1
.
Cela n'est cependant pas suffisant, et nous avons besoin d'instructions pour
atteindre le monde.
L'Internet est disponible via notre connexion PPP, et il se
trouve que 212.64.94.1
est prêt à propager nos paquets à
travers le monde, et à nous renvoyer le résultat.
[ahu@home ahu]$ ip route show 212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link default via 212.64.94.1 dev ppp0
Cela se comprend de soi-même. Les 4 premières lignes
donnent explicitement ce qui était sous-entendu par
ip address show
, la dernière ligne nous indiquant que
le reste du monde peut être trouvé via 212.64.94.1
, notre
passerelle par défaut.
Nous pouvons voir que c'est une passerelle à cause du mot « via »,
qui nous indique que nous avons besoin d'envoyer les paquets vers
212.64.94.1
, et que c'est elle qui se chargera de tout.
En référence, voici ce que l'ancien utilitaire route nous propose :
[ahu@home ahu]$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 212.64.94.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 212.64.94.1 0.0.0.0 UG 0 0 0 ppp0