Administration réseau
Fac-similé contenant la table des matières
et quelques pages du module 5.
Auteur
Jean-François Bouchaudy
GUIDE DE FORMATION
La marque © TSOFT est une marque déposée.
La collection des guides de formation © TSOFT est éditée par la société TSOFT.
Toutes les marques citées dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs
Tous les efforts ont été faits par TSOFT pour fournir dans cet ouvrage une information claire et exacte à
la date de parution. TSOFT n’assume de responsabilités, ni pour son utilisation, ni pour les contrefaçons
de brevets ou atteintes de tierces personnes qui pourraient résulter de cette utilisation.
Réf : TS0060
TCP/IP sous Linux
Administration Réseau
Auteur : Jean François Bouchaudy
septembre 2003
Editeur
Tsoft
10, rue du Colisée
75008 Paris
http://www.tsoft.fr
Tél. : 01 56 88 29 64
Fax : 01 53 76 03 64
Le monde moderne est transmué par une perpétuelle fuite en avant technologique.
L’informaticien subit plus particulièrement ce diktat de notre époque.
Cette formidable pression de sélection implacable impose à l’individu, au citoyen, aux
sociétés, d’être adaptable et réactif. L’informaticien, par exemple, doit mettre à jour en
permanence ses connaissances. Il doit également chaque jour résoudre des problèmes
différents. Heureusement Internet est pour lui l’outil quotidien qui lui donne un
pouvoir de thaumaturge.
Mais, pour apprécier pleinement cet outil, il faut des connaissances de base, des
repères. Les livres formaient le socle de la culture passée. Ils ont toujours leur place.
Cependant, ils ne peuvent être le réceptacle exhaustif du savoir. Un livre technique
doit être plutôt un tremplin vers l’omniscience.
Ce présent ouvrage, qui traite de l’administration de réseau TCP/IP sur plate-forme
Linux, a été conçu en ce sens. Il ne prétend pas vous apporter LE savoir, mais plus
modestement des modules stratégiques de connaissances constitués principalement par
les protocoles. Cette vision éthérée du réseau prend de l’épaisseur si on le traite à
travers une implémentation, dans notre cas, Linux, et que l’on donne de nombreux
exemples concrets et pratiques.
Un administrateur gérant son réseau grâce à des serveurs Linux est le premier public
visé par l’ouvrage. Mais il peut servir aussi à tout informaticien désirant comprendre
TCP/IP ou voulant administrer une application réseau fonctionnant sous Linux.
Le lecteur doit-il être déjà un expert en Linux ou en Réseau ? Non, encore une fois,
Internet lui a sans doute déjà permis d’avoir une grande autonomie. Par ailleurs, un
module de l’ouvrage donne le vocabulaire essentiel du réseau et le guide de formation
Linux Administration dans la même collection, donne de solides bases pour gérer un
système Linux.
Comme disait Plutarque : « L’esprit n’est pas un vaisseau qu’on remplit, mais un feu
qu’on allume » (la culture c’est comme la confiture, moins on a, plus on l’étale :-)).
Cher ami des pingouins, bonne lecture !
ADSL ..................................................................................................................................3-23
RS-232.................................................................................................................................3-28
Réseaux 802.11 ...................................................................................................................3-33
Atelier 3 : Les protocoles de bas niveau .............................................................................3-36
ANNEXES
Annexe A : IPv6 ................................................................................................................... A-1
Annexe B : Les numéros de ports ...................................................................................... A-21
Annexe C : Documenter son réseau................................................................................... A-51
Annexe D : Solutions des exercices ................................................................................... A-57
Annexe E : Références bibliographiques ........................................................................... A-73
Support de formation
Le support de formation se divise en 12 modules qui se répartissent en quatre parties :
Les notions de base qui traitent à la fois des protocoles TCP/IP de base ainsi que de
la configuration élémentaire d’un poste Linux en réseau.
L’administration réseau TCP/IP en environnement Linux qui aborde aussi bien
l’aspect du routage que les services annuaires et SNMP.
Chaque module est suivi d’un atelier composé de plusieurs exercices.
Le support convient à des formations concernant les thèmes suivants :
Les protocoles TCP/IP, sur une durée de un à trois jours.
L’administration TCP/IP en environnement Linux, sur une durée de deux à quatre
jours.
Par conséquent la durée de la formation complète peut être comprise entre trois et sept
jours.
Progression pédagogique
Progression pédagogique
Annexes
L’annexe A « IPv6 » permet au lecteur de s’initier aux concepts de base du protocole
IPv6 qui va bouleverser la gestion des réseaux TCP/IP d’ici quelques années.
Les remarques
Les remarques, les conseils ou les notes de mises en garde sont précédés et suivis
d’une ligne de séparation. Le type de note est en gras. Par exemple :
Remarque
Les mises en gardes commencent par le mot attention en majuscule suivi d’un point
d’exclamation : ATTENTION !
Les exemples
Les exemples apparaissent en police courrier sur fond grisé, comme dans l’exemple
ci-dessous. Le texte saisi par l’utilisateur est indiqué en gras.
L’invite d’une commande contient ou se résume au caractère « $ » dans le cas d’une
session activée par un simple utilisateur. Elle est représentée, ou contient le caractère
« # » dans le cas d’une session activée par l’administrateur Linux (root). Si l’invite ne
contient aucun de ces signes, il correspond à une session utilisateur. Une commande
peut être suivie d’un commentaire introduit par le caractère « # ». Par exemple :
jf@bulbizarre:~ > date
mar jui 1 21:26:54 CEST 2003
jf@bulbizarre:~ > uname –n # affiche le nom du système
bulbizarre
jf@bulbizarre:~ > PS1="$ "
$ cal 9 1952
septembre 1952
di lu ma me je ve sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
$ su -
Password:
bulbizarre:~ # tail -1 /etc/shadow
cathy:4wzavvZ4fJC36:11775:0:99999:7:0::
bulbizarre:~ #
• netstat -a
• netstat -i
• netstat -nr
• tcpdump
ip[0]&0xf !=0
5
Module 5 : Commandes
de diagnostic
Objectifs
Savoir utiliser les principaux outils de diagnostic réseaux du système Linux.
Contenu
Panorama des outils de diagnostic
ping
netstat
tcpdump
Ethereal
Références
Livre
Network Troubleshooting Tools, de J. D. Sloan.
Objectif : connaître le nom et l’utilité des outils de diagnostic réseaux d’un système
Linux.
Introduction
Il existe une grande quantité d’outils de diagnostic réseaux. La plupart sont
spécifiques d’une application. Dans le présent chapitre on présente les outils qui
permettent de diagnostiquer la configuration de base d’un système Linux et le
fonctionnement élémentaire du réseau. D’autres outils seront présentés dans les
chapitres suivants.
ifconfig
La commande ifconfig liste les interfaces présentes. Pour chacune elle indique
l’adresse IP, le masque, si l’interface est active (UP) et enfin les statistiques réseaux
(équivalentes à netstat -i). Dans le cas d’une interface Ethernet, l’adresse MAC
(HWaddr) est affichée.
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:31:C9:EC
inet addr:192.168.218.10 Bcast:192.168.218.255
Mask:255.255.255.0
inet6 addr: fe80::50:ba31:c9ec/10 Scope:Link
inet6 addr: fe80::250:baff:fe31:c9ec/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:207110 errors:0 dropped:0 overruns:0 frame:0
netstat
La commande netstat affiche des statistiques réseaux concernant les différents
protocoles TCP/IP. Elle visualise également les tables de routage ainsi que l’état des
sockets (cf. le chapitre netstat).
nslookup, dig
Les commandes nslookup et dig testent le service DNS. Elles seront étudiées en
détail dans le chapitre concernant le DNS (cf. module 10, chapitre DNS). Des
diagnostics simples mais utiles sont réalisés de manière élémentaire.
# nslookup pikachu
Server: bulbizarre
Address: 0.0.0.0
Name: pikachu.pokemon
Address: 192.168.218.1
Name: pikachu.pokemon
Address: 192.168.218.1
Name: pikachu.pokemon
Address: 192.168.218.1
nmap
L’outil nmap est un « scanner » de ports, c’est-à-dire un outil prévu pour analyser les
ports réseaux à distance. Ce type d’outil peut être utilisé pour tester la sécurité ou au
contraire pour permettre des intrusions. C’est pour cela qu’il est présenté dans les
modules concernant la sécurité.
ps, top
La commande ps montre les processus actifs. On peut rechercher dans son résultat si
telle ou telle application réseau est présente. La commande top visualise, en
permanence, les processus actifs qui consomment le plus de ressources.
# ps -ef |grep named
named 12013 1 0 17:09 ? 00:00:00 /usr/sbin/named -u named
lsof
La commande lsof montre les fichiers ouverts et les processus associés. Comme les
sockets sont assimilées à des fichiers, la commande peut également surveiller les ports
réseaux. L’option -i limite la sortie aux sockets réseaux.
# lsof |more
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 3,6 1024 2 /
init 1 root rtd DIR 3,6 1024 2 /
init 1 root txt REG 3,6 333780 16111 /sbin/init
...
inetd 309 root 11u IPv4 259 UDP *:talk
inetd 309 root 12u IPv4 260 UDP *:ntalk
inetd 309 root 13u IPv4 261 TCP *:pop3 (LISTEN)
arp
La commande arp dialogue avec le pilote arp. Elle visualise notamment la table arp :
correspondance entre adresse IP et adresse MAC.
# arp -a
pikachu.pokemon (192.168.218.1) at 00:40:05:49:FA:67 [ether] on eth0
? (192.168.218.15) at 00:48:54:C0:A0:F9 [ether] on eth0
#
Références
Livre
Network Troubleshooting Tools, de J.D. Sloan.
Man
ping(8), ifconfig(8), netstat(8), nslookup(8), dig(1), tcpdump(1), ps(1), top(1),
lsof(8), arp(8)
ping
ping
Description
La commande ping teste la présence d’un hôte distant. Cette commande est à la fois
très simple et très utile.
Son principe est trivial : la commande envoie des données dans des messages ICMP
« echo request » que le système distant renvoie à l’intérieur de messages ICMP « echo
reply ». La commande envoie plusieurs paquets et teste l’égalité entre les données
envoyées et les données reçues. Elle peut donc détecter non seulement l’absence du
poste distant mais également une mauvaise transmission et par conséquent mesure la
qualité du réseau.
La commande mesure le temps de transit et l’ordre d’arrivée des paquets. Des paquets
qui reviennent dans le désordre et qui mettent longtemps à revenir ou qui sont
simplement perdus, mettent en évidence une charge du réseau.
Syntaxe
ping [-dfLnqRrv] [-c count] [-I ifaddr] [-i wait] [-l preload] [-p pattern] [-S ifaddr]
[-s packetsize] [-t ttl] [-w maxwait] host
-c count Spécifie le nombre de paquets à émettre.
-b Autorise à spécifier une adresse de diffusion.
-D
-M do Positionne le bit « Don’t fragment ».
-f Mode « flood » : on émet les paquets aussi vite qu’on reçoit les
réponses ou au moins 100 par seconde. Ce mode est réservé à root.
Exemples
Quand on utilise ping en spécifiant une cible, la commande affiche un message à
chaque retour d’un paquet, en indiquant la taille du paquet, l’adresse de la cible,
l’ordre du paquet, la valeur du ttl et enfin le temps de transit.
Il faut mettre fin à la commande en frappant CTRL-C (^C). Après, la commande
affiche des statistiques : nombre de paquets émis, nombre de paquets reçus, le
pourcentage de paquets perdus et le temps de transit (minimum, moyen, maximum).
Utilisation de l’adresse IP pour spécifier la cible.
bulbizarre:~ # ping 192.168.218.10
PING 192.168.218.10 (192.168.218.10): 56 data bytes
64 bytes from 192.168.218.10: icmp_seq=0 ttl=255 time=0.373 ms
64 bytes from 192.168.218.10: icmp_seq=1 ttl=255 time=0.182 ms
64 bytes from 192.168.218.10: icmp_seq=2 ttl=255 time=0.186 ms
64 bytes from 192.168.218.10: icmp_seq=3 ttl=255 time=0.188 ms
^C
--- 192.168.218.10 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.182/0.232/0.373 ms
bulbizarre:~ #
bulbizarre:~ # ping 192.168.218.11
PING 192.168.218.11 (192.168.218.11): 56 data bytes
^C
--- 192.168.218.11 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
bulbizarre:~ #
Utilisation de l’adresse DNS pour spécifier la cible, on ne transmet que trois paquets.
On utilise le mode verbeux, on teste la connectivité avec un réseau qui n’existe pas, la
passerelle répond avec un message d’erreur.
bulbizarre:~ # ping -v 10.1.1.1
PING 10.1.1.1 (10.1.1.1): 56 data bytes
36 bytes from GE1-1-101.ncorl202.Orleans.francetelecom.net
(193.251.101.146): Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst Data
4 5 00 5400 689a 0 0000 3f 01 1231 193.250.227.50 10.1.1.1
...
Utilisation de l’adresse de diffusion. Si les cibles ont été configurées pour répondre,
on peut en une seule commande connaître toutes les machines du réseau physique.
bulbizarre:~ # ping 192.168.218.255
On peut spécifier la taille des messages, ce qui génère éventuellement des fragments.
bulbizarre:~ # ping -s 2000 192.168.218.12
pirate# tcpdump
15:17:43.051069 bulbizarre.pokemon > 192.168.218.12: (frag
41083:528@1480) (ttl 64)
15:17:43.051147 bulbizarre.pokemon > 192.168.218.12: icmp: echo
request (frag 41083:1480@0+) (ttl 64) 15:17:43.051069
bulbizarre.pokemon > 192.168.218.12: (frag 41083:528@1480) (ttl 64)
15:17:43.051147 bulbizarre.pokemon > 192.168.218.12: icmp: echo
request (frag 41083:1480@0+) (ttl 64)
Référence
Man
ping(8)