You are on page 1of 70

Sp-Info

ENSIMAG

1 juillet 1993

ADMINISTRATION RESEAU
Rapport de n danne : spciale informatique 1992-93 Franois Borderies, Olivier Chatel, Jean-christophe Denis, Didier Reis.

Ce document est une introduction ladministration rseau, destine aussi bien au simple utilisateur qui dsire en savoir plus sur le fonctionnement du rseau qu de futurs administrateurs rseaux.

Remerciements :

Nous tenons remercier Monsieur Serge ROUVEYROL, pour avoir permis de travailler sur une prsentation de ladministration rseau TCP/IP.

Nous remercions aussi lensemble des personnes ayant participes directement ou, indirectement llaboration de cet ouvrage.

Borderies Franois,

Chatel Olivier,

Denis Jean-Christophe,

Reis Didier.

Administration rseau.

1 / 69

Administration rseau.

I : Protocole TCP/IP

Protocole TCP/IP

I-1

Introduction TCP/IP

I-1.1 Un peu dhistoire


Cest en 1969 que lagence amricaine D.A.R.P.A. (Defense Advanced Research Projects Agency) lana le projet de dvelopper un rseau exprimental, commutation de paquets : ARPANET. Ce rseau eut tellement de succs que la majeure partie des organisations qui y taient rattaches dbutrent lutiliser quotidiennement. Ainsi en 1972 on pouvait assister une dmonstration dARPANET reliant 50 sites, utilisant 20 commutateurs, bas sur NCP, anctre de TCP. Cette mme anne commena le dbut des spcications du protocole TCP/IP pour ARPANET. Ds 1980, UNIX BSD 4.1 inclut TCP/IP comme protocole standard de communication, mais ce nest quen 1983 que TCP remplaa ofciellement NCP pour ARPANET. En mme temps le nom d Internet passa dans le langage courant pour dsigner la totalit du rseau ARPANET et MILNET du DDN (Defence Data Network). En 1990 le terme de ARPANET fut abandonn et cda la place Internet qui reprsente de nos jours lensemble des rseaux internationaux relis par le protocole TCP/IP. Le succs de ce rseau est tel que le nombre de machines connectes connat actuellement une croissance exponentielle. Ainsi en 1981, seulement 213 machines taient enregistres sur Internet, en 1989 on en dnombrait 80 000. En octobre 1990 le chiffre de 313 000 tait atteint et trois mois plus tard, en janvier 1991, le nombre de machines alors connectes dpassait les 376 000. Un an plus tard, au mois de janvier 1992, ce nombre avait presque doubl pour atteindre les 727 000 machines. En fait, au moment ou vous lirez ces lignes, plus de 1,5 millions de sites, dans plus de 45 pays, seront connects entre eux sur un seul rseau : INTERNET.

I-1.2 Spcits dutilisation


Un tel succs auprs de lensemble des constructeurs et des utilisateurs ne peut pas ntre quun phnomne de mode d au progrs technologique de ces dernires annes. En fait, si le protocole de communication de donnes TCP/IP a merg comme un standard pour plus de 90% des rseaux actuels cest quil possde des atouts non ngligeables. TCP/IP a t distribu gratuitement ds le dpart, dj en 1980 il tait intgr la version 4.1 de Unix BSD. TCP/IP est indpendant du rseau physique. Ainsi on peut trs bien lutiliser comme protocole de communication sur un rseau ethernet, token ring ou X25 etc... TCP/IP utilise un systme dadressage simple qui permet de slectionner un site parmi un rseau international. TCP/IP est distribu avec un ensemble dapplications standardises qui donnent lutilisateur lensemble des fonctions de base ncessaires l change de donnes.

2 / 69

Administration rseau.

I : Protocole TCP/IP

I-1.3 Architecture
Le modle de rfrence pour lchange de donnes informatiques est le modle OSI (Open Systems Interconnect) adopt par l ISO (International Standards Organisation). Cette norme de communication repose sur lempilement de 7 couches pouvant communiquer verticalement entre elles.

Tableau 1 : Le modle de rfrence OSI 7 Couche Application Applications utilisant le rseau 6 Couche Prsentation Formate les donnes en fonction de lapplication 5 Couche Session Rpartit les donnes suivant les applications 4 Couche Transport Dtection et correcxion des erreurs 3 Couche Rseau Soccupe de la connecxion sur le rseau 2 Couche Liaison Transfert de donnes able sur le lien physique 1 Couche Physique Dnie les caractristiques physiques du mdia
Ce tableau reprsente lempilement des sept couches du modle OSI avec leurs noms et fonctions respectives. En Comparaison avec ce modle, on peut ramener larchitecture de communication de donnes utilisant TCP/IP un ensemble de quatre couches superposes.

Tableau 2 : Architecture utilisant le protocole TCP/IP 1 Couche Application Applications utilises sur le rseau 2 Couche Transport Assure le transfert dun site un autre 3 Couche Internet Dnie les datagrammes et leur routage 4 Couche Physique Ensemble de routines daccs au mdia

3 / 69

Administration rseau.

I : Protocole TCP/IP

Tout comme dans le modle OSI, les donnes sont transfres verticalement dune couche un autre en y rajoutant une entte (header). Cette entte permet de rajouter des informations identiant le type de donnes, le service demand, le destinataire, l adresse source etc...

Tableau 3 : Encapsulation des donnes Couche Application Couche Transport Couche IP Couche Physique Entte Entte Entte Entte Entte Entte Donnes Donnes Donnes Donnes

I-1.4 La couche Physique


Cette couche a pour fonction lencapsulation des datagrammes provenant de la couche IP et la traduction des adresses en adresses physiques utilises sur le rseau. Il y a donc autant de versions de la couche physique quil y a de type de moyen de transport des donnes. Ainsi, par exemple, la couche physique est diffrente suivant que lon est sur un rseau X25 ou FDDI ou bien mme TOKEN RING.

I-1.5 La couche IP (Internet Protocol)


La couche IP se situe directement au dessus de la couche physique charge de placer les donnes sur le mdium. IP est un protocole qui nest pas connect, donc il ny a pas dtablissement de connecxion et de vrication de la validit des datagrammes. Ses principales fonctions sont : dnir des datagrammes (unit de base de la transmission TCP/IP) aiguiller les datagrammes jusqu leur adresse de destination transfrer les donnes entre la couche physique et la couche transport fragmenter et rassembler les datagrammes

Tableau 4 : Datagramme IP
BITS 0 Version 4 I.H.L. 8 12 Type de service ags Protocole Adresse source Adresse destinataire Options DONNEES Padding 16 20 24 Longueur totale Offset de fragmentation Checksum de lentte 28 31

Identication Dure de vie

4 / 69

Administration rseau.

I : Protocole TCP/IP

Le datagramme est lunit de base du transfert de donnes avec un protocole TCP/IP. Les premiers 5 ou 6 mots de 32 bits sont lentte de ce datagramme. Cest elle qui donne lensemble des informations ncessaires au transfert du paquet. En fait, le nombre de mots constituant lentte est variable car on donne la longueur de celle-ci dans le champ IHL (Internet Header Length). La couche IP fonctionne de telle manire que si ladresse de destination ne se situe pas sur le mme rseau local que ladresse source, le datagramme est pass directement un routeur (gateway). Cest ce que lon appelle laiguillage (routing) dun paquet. Cette action est ralise individuellement pour chaque paquet transmettre. i-1.5a. Le routing On appelle routeur une machine connecte sur deux rseaux locaux diffrents qui se charge de faire passer les donnes de lun lautre. Ainsi, dans un routeur IP, le datagramme ne remonte jamais au del de la couche 2. Par exemple, si une machine A1 sur un rseau A veuille atteindre une machine B1 sur un rseau diffrent, lutilisation dun routeur G est obligatoire. ROUTEUR IP Machine A1 Machine B1 Gateway G Couche IP Physique Physique Token Ring Ethernet

Token ring Ethernet

i-1.5b. La fragmentation des donnes La fragmentation dun datagramme, par la couche IP, en segments intervient lors de son passage dun rseau un autre ne supportant pas la mme taille de datagrammes (Taux maximum de transmission). Dans ce cas, cest le deuxime mot de lentte qui sert identier quel datagramme appartient le segment. Identication : Donne le numro du datagramme Offset : Donne le numro du segment dans le datagramme Flags : Indique si il reste des segments transmettre i-1.5c. Passage aux couches suprieures Lorsque la couche IP reoit un datagramme, elle identie la couche suprieure vise grce au champ PROTOCOLE de lentte.

5 / 69

Administration rseau.

I : Protocole TCP/IP

i-1.5d. Internet Control Message Protocol L I.C.M.P. fait partie intgrante de la couche IP, cest elle qui se charge denvoyer des messages sous la forme de datagramme qui ont pour fonction : Le contrle du ux des donnes Avertir si un destinataire nest pas atteignable Le raiguillage dun paquet sur un autre gateway Interroger ltat de fonctionnement dune machine loigne

I-1.6 La couche transport


La couche transport fait le relais entre la couche IP et les applications utilisant les ressources du rseau. On discerne deux protocoles diffrents : Transmission Control Protocol TCP fonctionne en mode connect Effectue la dtection et le contrle des erreurs User Datagram Protocol UDP fonctionne en mode non connect Pas de contrle derreur Le choix entre ces deux protocoles dpend du type dapplication utilise dans la couche suprieure. i-1.6a. User Datagram Protocol Le protocole UDP fonctionne en mode non connect et ne possde pas de moyen de dtecter si un datagramme est bien parvenu son destinataire. UDP utilise simplement les champs SOURCE PORT et DESTINATION PORT, de lentte, pour identier les applications utilises.

Tableau 5 : Entte UDP


0 Source Port Longueur Donnes 16 31

Destination Port Checksum

Le choix dutiliser UDP comme protocole de la couche transport est justi par plusieurs bonnes raisons. En effet, le fait dutiliser une entte de taille trs rduite procure un gain de place assez considrable. De plus, avec UDP on vite lensemble des oprations de connecxion, dtection derreur et dconnecxion, dans ce cas le gain de temps peu tre trs apprciable, surtout pour de petits transferts.

6 / 69

Administration rseau.

I : Protocole TCP/IP

i-1.6b. Transmission Control Protocol A linverse de UDP, le protocole TCP fonctionne en mode connect et sassure que les donnes ont bien t transmises. En effet, aprs vrication du Checksum, si il savre que le segment est endommag, le rcepteur nenvoie pas dacquittement de bonne rception. Ainsi, aprs un certain temps, lmetteur remet le segment sur le rseau.

Tableau 6 : Entte TCP


0 4 8 Source Port Numro de squence Numro dacquittement Offset Rserv Checksum Options Donnes Flags Fentre Urgent Pointer Padding 12 16 20 24 Destination Port 28 31

Comme TCP fonctionne en mode connect, il tablit une connecxion logique, bout bout, entre les deux intervenants. Au dpart, avant tout transfert de donnes, TCP demande louverture dune connecxion la machine cible qui renvoie un acquittement signiant son accord. De mme, lorsque lensemble des donnes ont t changes, TCP demande la fermeture de la connecxion et un acquittement de fermeture est alors envoy sur le rseau. Lors du transfert, chaque datagramme, un acquittement de bonne rception est mis par le destinataire. Lapplication qui va rcuprer les donnes provenant de la couche TCP est identie grce au numro du port de destination (Destination Port) de lentte.

I-1.7 La couche Application


Cette couche rassemble lensemble des applications qui utilisent TCP/IP pour changer des donnes. On dnombre de plus en plus de services diffrents, les derniers comme WAIS ou WWW tant de plus en plus performants et souples dutilisation. Les applications les plus courantes sont : TELNET Network Terminal Protocol FTP SMTP DNS RIP NFS File Transfer Protocol Simple Mail Transfer Protocol Domain Name Service Routing Information Protocol Network le system

Nous verrons une description plus complte de ces services dans la suite de cet ouvrage. Il faut savoir que la majorit des applications fonctionnent au-dessus de TCP ou UDP, il existe toutefois des services, comme Extension Gateway Protocol (EGP), qui utilisent directement la couche IP.

7 / 69

I-2

Le transfert de donnes

I-2.1 Ladressage IP
Dans la couche IP, chaque datagramme est achemin vers une machine unique connecte sur un rseau local. Ladresse IP de destination, mot 5 de lentte, permet de dnir un couple (rseau;machine) et un seul. Cette adresse est code sur 32 bits, o les trois premiers bits servent identier la classe de celle-ci. En effet, IP distingue 3 classes principales qui sont la Classe A, Classe B et Classe C.

Rseau

Machines 200 0 30

Classe A
Bits 0

24

Rseau imag

Machine Isis 88 32 1

Classe B
Bits 1 0

129

Rseau ENSIMAG

Machine Ensisun 174 34

Classe C
Bits 1 1 0

192

33

Toutes les adresses disponibles ne sont pas utilisables. En effet, il existe certaines restrictions sur des familles dadresses. Les deux adresses de classe A des rseaux 0 et 127 correspondent respectivement au default route (utilis pour le routage IP) et loopback address (permet daccder sa machine comme tout autre machine du rseau). De plus, quelle que soit la classe du rseau, les adresses machines 0 et 255 sont rserves. Ladresse machine 0 reprsente lensemble du rseau local, et dans lexemple ci-dessus 129.88.0.0 reprsente le rseau imag. Pour adresser un message lensemble des machines sur un rseau, tous les bits du champ de ladresse machine doivent tre un. Ainsi, sur imag, ladresse 129.88.255.255 fait rfrence la totalit des machines (broadcast address). Dans le cas dun routeur, par exemple entre les deux rseaux imag et ensimag, celui ci possdera une adresse IP diffrente sur chacun des rseaux locaux auxquels il est connect.

Administration rseau.

I : Protocole TCP/IP

I-2.2 Les sous-rseaux


Parfois, il convient de subdiviser un rseau en sous-rseaux (subnets) an de mieux sadapter lorganisation du travail et du personnel. Cette subdivision est faite localement sur une adresse IP en y appliquant un masque (subnet mask) qui a pour effet de dplacer la frontire entre ladresse rseau et ladresse machine. Dans le cas dun rseau de classe B, de la forme 255.255.0.0, lun des masques le plus utilis est 255.255.255.0. En effet, ladministrateur possde alors la possibilit de sparer son rseau de classe B en 255 sous-rseaux.

I-2.3 La table de routage


Toute machine relie sur un rseau se charge daiguiller les paquets mettre en fonction de leur destination : Si le destinataire est sur le rseau local, le datagramme est directement envoy la machine cible. Si le destinataire est sur un rseau diffrent, les donnes sont envoyes au routeur du rseau local. La couche IP dtermine donc si ladresse de destination est sur le rseau local, auquel cas elle applique le subnet mask an de dterminer le sous-rseau puis elle interroge la table de routage pour savoir qui envoyer les donnes. Si jamais la destination se situe sur un rseau loign, la table de routage donne un routeur par dfaut de sortie du rseau local. Cette table peut tre obtenu grce la commande netsat -nr (voir page 10), loption -r permet davoir la table de routage, alors que loption -n donne les adresses IP sous leur forme numrique. La commande netstat -nr donne pour rsultat un tableau avec les champs : Destination Gateway Flags Adresse du destinataire Le routeur joindre pour atteindre la destination U la ligne est oprationnelle H Cette route est vers un site particulier (non pas un rseau) G Cette route utilise un routeur ou gateway D Cette route est rajoute car la route normale naccepte pas le transport (ICMP redirect) Refcnt Use Interface Montre le nombre de fois que la route a t utilise pour tablir une connecxion Montre le nombre de datagrammes transmis Nom de linterface utilise pour cette route

La premire ligne du tableau correspond la loopback route qui est utilise lorsque la machine senvoie des datagrammes elle mme. On distingue aussi une ligne spciale avec le mot default qui correspond (default gateway) la route utilise lorsque ladresse de destination nest pas sur le rseau local.

9 / 69

Tableau 7 : Table de routage (netstat -nr)


Destination 127.0.0.1 129.88.56.2 129.88.56.0 default 129.88.120.0 129.88.40.0 129.88.32.0 129.88.33.0 129.88.41.0 129.88.34.0 129.88.2.0 129.88.42.0 129.88.59.0 129.88.51.0 129.88.100.0 152.77.0.0 192.33.174.0 129.88.38.0 129.88.110.0 192.33.175.0 129.88.39.0 129.88.31.0 129.88.111.0 Gateway 127.0.0.1 129.88.32.156 129.88.32.156 129.88.32.254 129.88.32.254 129.88.32.29 129.88.32.1 129.88.32.254 129.88.32.55 129.88.32.254 129.88.32.254 129.88.32.19 129.88.32.159 129.88.32.151 129.88.32.254 129.88.32.254 129.88.32.254 129.88.32.254 129.88.32.254 129.88.32.254 129.88.32.254 129.88.32.254 129.88.32.254 UH UGHD UG UG UG UG U UG UG UG UG UG UG UG UG UG UG UG UG UG UG UG UG Flags Refcnt 18 0 0 26 1 3 245 3 1 3 0 0 0 0 3 0 3 14 0 2 6 0 0 Use 163175 915 1166 353782 3764 12200 823571 51716 6854 23127 1631 186 4290 13622 38934 8399 214231 1382339 8027 29703 73946 2068 0 Interface lo0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0 le0

Voici la table de routage de la machine Isis du rseau imag 129.88.32.1. Lorsque, de Isis, on envoie un datagramme vers la machine Ensisun du rseau ensimag 192.33.174.34, la couche IP applique le subnet mask 255.255.255.0 pour dterminer ladresse du sous rseau 192.33.174.0. Cette adresse permet alors daller lire directement dans la table de routage ladresse du routeur 129.88.32.254 auquel on doit envoyer les datagrammes.

Administration rseau.

I : Protocole TCP/IP

I-2.4 La rsolution dadresse


Ladresse IP, telle quelle, nest pas utilisable par la couche physique pour envoyer des donnes sur le mdium de transport. En effet, il existe autant de protocole dadressage que de types de rseaux physiques. Le protocole le plus utilis est l ARP (Address Resolution Protocol). Il permet la traduction des adresses IP en adresses Ethernet. ARP se charge de construire une table de traduction, dynamiquement, en interrogeant les autres machines relies sur le rseau ethernet. Pour avoir une ide du contenu de cette table on utilise la commande arp -a.

/etc/arp -a floyd esperanza-1 farenheit-451 esperanza-3 cap-ferret esperanza-2 snoopy penduick pastorius romeo cheops igei-test sahara lgitty1 sphinx durga chephren brahma dingo callimaque aramis-campus vigenere

(129.88.32.32) at 8:0:20:a:e5:d7 (129.88.32.65) at 0:0:a7:10:9f:62 (129.88.32.33) at 0:0:a7:11:90:5 (129.88.32.66) at 0:0:a7:10:a0:b1 (129.88.32.18) at 0:0:a7:0:2f:1d (129.88.32.67) at 0:0:a7:10:a0:e (129.88.32.68) at 0:0:a7:10:1d:b1 (129.88.32.37) at 8:0:20:b:d4:4e (129.88.32.21) at 0:0:a7:0:2f:1 (129.88.32.22) at 0:0:a7:0:2f:2f (129.88.32.54) at 0:0:a7:0:28:6b (129.88.32.39) at 0:0:a7:10:a0:60 (129.88.32.55) at 8:0:38:42:10:ff (129.88.32.56) at 0:80:2d:0:3:d3 (129.88.32.72) at 0:0:a7:12:3b:5e (129.88.32.24) at 8:0:20:12:42:b1 (129.88.32.57) at 0:0:a7:11:a3:da (129.88.32.41) at 8:0:20:c:77:3a (129.88.32.29) at 8:0:20:7:ac:98 (129.88.32.61) at 0:0:a7:11:c0:53 (129.88.32.254) at 0:0:c:0:9f:21 (129.88.32.15) at 8:0:11:1:62:d3

La traduction inverse est faite par le Reverse Address Resolution Protocol RARPA. Ce protocole est utilis lors de la configuration TCP/IP des machines sans disque diskless. En effet, lors de la mise en route, ces machines ne connaissent mme pas leur adresse IP. Elles ont seulement leur adresse Ethernet qui est inscrite dans la ROM de la carte de communication. La machine diskless demande, donc, au travers du rseau, que lon lui renvoie son adresse IP. Pour cela, certaines machines possdent un fichier /etc/ethers , ditable manuellement, qui permet de dclarer les couples @Internet et @Ethernet. Par exemple sur notre machine :

cat ethers 0:0:c0:6c:28:17 8:0:2b:15:d4:a7 8:0:2b:15:d4:a1 8:0:2b:15:98:77 8:0:2b:15:d4:a0 0:0:c0:6c:28:17 aa:0:4:0:1:14

ANONYME LACAN MORENO PAVLOV PIAGET SOPHY TIMB

11 / 69

I-2.5 Protocoles et Ports


Sur le rseau, lensemble des informations changes provenant dapplications diffrentes voyagent toutes sur un mme mdium physique, on fait du multiplexage. Le mcanisme de demultiplexage doit savoir, la rception des donnes, quel protocole il doit appliquer et lapplication cible. i-2.5a. Numros de protocoles Ce numro se trouve dans le troisime mot de lentte du datagramme IP. Lorsque IP reoit des donnes, il identie le protocole utiliser grce au chier /etc/protocols.

cat /etc/protocols # # @(#)protocols 1.9 90/01/03 SMI # # Internet (IP) protocols # This file is never consulted when the NIS are running # ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # internet group multicast protocol ggp 3 GGP # gateway-gateway protocol tcp 6 TCP # transmission control protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol

i-2.5b. Numros de ports Une fois que les donnes sont transmises au bon protocole de communication, il faut quelles atteignent lapplication qui les demande. En fait, les processus utilisant des ressources rseaux sont identis grce leur numro de port qui est unique. Ainsi, tout comme il y-a une application au dpart et larrive des donnes, il existe un source port number et un destination port number. Les numros de ports connus wellknown services dans le chier /etc/services. Cest le couple (Protocole;Port) qui dtermine lacheminement des donnes dans votre machine. Ainsi, on peut trs bien avoir un mme numro de port assign plusieurs fois avec des protocoles diffrents.

i-2.5c. Sockets En plus des wellknown ports (voir page 12) facilitant la connecxion entre deux machines pour des applications standards, il existe des numros de ports allous dynamiquement. Par exemple, lors dun telnet, la connecxion, les machines source et destinataire vont schanger sur le port 23 les numros de ports (allous dynamiquement) quils vont utiliser pendant la communication. Cest la combinaison dune adresse IP et dun numro de port qui dnie une socket.

Administration rseau.

I : Protocole TCP/IP

Tableau 8 : Wellknown Ports


imag(6) cat /etc/services # # @(#)services 1.16 90/01/03 SMI # # Network services, Internet style # This file is never consulted when the NIS are # tcpmux 1/tcp echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users daytime 13/tcp daytime 13/udp netstat 15/tcp chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver name 42/udp nameserver whois 43/tcp nicname domain 53/udp domain 53/tcp hostnames 101/tcp hostname sunrpc 111/udp sunrpc 111/tcp # # Host specific functions # tftp 69/udp rje 77/tcp finger 79/tcp link 87/tcp ttylink supdup 95/tcp iso-tsap 102/tcp x400 103/tcp x400-snd 104/tcp csnet-ns 105/tcp pop-2 109/tcp uucp-path 117/tcp nntp 119/tcp usenet erpc 121/udp ntp 123/tcp NeWS 144/tcp news

running # rfc-1078

# usually to sri-nic

# usually to sri-nic

# ISO Mail

# Post Office # # # # Network News Transfer Annex rpc listener Network Time Protocol Window System

13 / 69

Administration rseau.

I : Protocole TCP/IP

I-3

Le serveur de noms
Dans ce chapitre nous allons voquer comment on peut caractriser une machine par un nom la place dune adresse numrique.

I-3.1 Noms et adresses


Comme on la vu prcdemment, chaque machine est adresse sur le rseau Internet par une adresse numrique IP. Il est cependant plus facile dutiliser un nom pour dsigner une machine ou un rseau plutt quun nombre de 32 bits. Ainsi, par exemple, on peut tout aussi bien faire :
ftp isis.imag.fr

ou :
ftp 129.88.32.1

Dans le premier cas, il est ncessaire de convertir le nom de la machine appele en une adresse numrique. Pour cela, il existe deux mthodes, la plus ancienne utilise la host table et la deuxime est base sur linterrogation dune base de donnes distribue Domain Name Service.

I-3.2 La Host Table


Cest la table qui sert la conversion des noms en des adresses IP. Cette table se trouve dans le chier /etc/hosts qui spcie les adresses IP et les noms de machines correspondant.

cat /etc/hosts # ENSIMAG #:labo:ensimag # LIGNE NECESSAIRE POUR LA FACTURATION ET HOST2NAMED # Adresse routeur entree site #192.33.174.62 aramis-campus cisco-ensimag # Interface ensi-batd R # Batiment D 2eme etage # 129.88.34.2 ensipc18 # PC HP QS16S D204 G.Veillon 4676 R # # Batiment D Enseignement ENSIMAG ##129.88.32.16 ensigata ensigw-a0 # PC BM60 gate vers adminis. R ##129.88.32.34 ensigate ensigw-e0 # PC BM60 Passerelle ENSIMAG R 192.33.174.33 ensigata ensigw-a0 # PC BM60 gate vers adminis. R #192.33.174.34 ensigate ensigw-e0 # PC BM60 Passerelle ENSIMAG R # ##SOUS-RESEAU GROS ############# 192.33.174.34 ensisun # SUN SPARC 670 C 192.33.174.35 ensibull # BULL DPX2 MIPS R6000 C 192.33.174.36 ensibm # IBM RS6000 C 192.33.174.37 ensidpx1 # BULL DPX2000 C 192.33.174.38 ensidpx2 # BULL DPX2000 C 192.33.174.40 ensitty1 # Serv.Term. ANNEX R 192.33.174.41 ensitty2 # Serv.Term. ANNEX R 192.33.174.42 ensitty3 # Serv.Term. ANNEX R 192.33.174.43 ensitty4 # Serv.Term. ANNEX R 192.33.174.44 ensitty5 # Serv.Term. ANNEX R

14 / 69

Administration rseau.

I : Protocole TCP/IP

I-3.3 Domain Name Service


DNS est une base de donnes distribue qui permet de traduire les noms des sites connects Internet en adresses IP. Dans le systme DNS, il ny a pas de base centrale, les informations sont dissmines dans des milliers de serveurs de noms organiss hirarchiquement. En haut de la hirarchie se trouve le root domain desservi par des root servers, juste en dessous on trouve les top level domains qui reprsentent des rseaux de types gographiques ou organisationnels. Nom du site ISIS IMAG FR

Nom de la machine

top level domain

Les domaines gographiques correspondent la distinction de lensemble des pays, en dehors des U.S.A., et sont caractriss par deux lettres. par exemple : fr France uk Angleterre Aux Etats Unis, les top level domains sont du type organisationnel. Ainsi, on trouve : COM EDU GOV MIL NET ORG organisations commerciales ducation agences gouvernementales organisations militaires rseaux tout le reste ...

DNS se dcompose en deux applications complmentaires. Le resolver, qui constitue la partie client et qui compose les requtes auquel on ajoute le name server qui rpond aux questions. En conclusion DNS permet dviter de possder une host table trop importante et toute nouvelle machine ajoute est immdiatement connu sur le rseau. De part lallure de laccroissement spectaculaire du nombre de machines relies a Internet, le DNS devient indispensable.

I-3.4 Network Information Service


Sun microsystems ont dvelopp leur propre base de donnes distribue NIS qui permet la traduction des noms en adresses IP. Les diffrences avec DNS sont que NIS ne connat que le rseau local et non pas Internet dans son ensemble. De plus, NIS fournit un plus grand nombre dinformations que DNS.

15 / 69

Administration rseau.

II : Configuration

II
II-1

Conguration
Dmarrage
Avant dentreprendre la conguration dune machine on doit avoir certaines informations. Au minimum chaque machine doit avoir une adresse IP unique ainsi quun nom. On doit aussi avoir fait son sur certaines options avant de procder la conguration. default gateway address : si le systme communique avec des machines qui ne sont pas sur le rseau local, une adresse de passerelle par dfaut est ncessaire. chaque machine doit connaitre le protocole de routage utilis sur le rseau. pour convertir les noms de machines en adresse IP, chaque machine doit connatre les adresses des serveurs DNS. une machine utilisant le service DNS doit connatre correctement son nom de domaine. pour que la communication soit propre, chaque machine dun rseau doit utiliser le mme masque de sous-rseau. pour viter les problmes de diffusion, les adresses de diffusion de chaque machine sur un rseau doivent tre identiques.

routing protocol : name server address : domain name : subnet mask : broadcast address :

II-1.1 Obtention dune adresse


Chaque interface doit avoir une adresse IP unique sur un rseau TCP/IP. Si la machine est sur un rseau connect Internet, son adresse doit tre unique (sur tout le rseau Internet). Pour un rseau non connect, cette adresse doit tre unique lchelle du rseau local. A cause de cela les administrateurs de rseaux non connects Internet choisissent souvent des adresses sans consulter le NIC ( Network Information Center). Cependant, cela nest pas recommand. Si a lavenir le rseau local a besoin de se connecter Internet , ladministrateur naura pas besoin dans ce cas de changer toutes les adresses et de recongurer chaque machine du rseau. Une demande dadresse rseau peut se faire de deux manires : soit par courrier postal : envoyez votre demande au NIC ladresse suivante : DDN Network Information Center 14200 Park Meadow Drive Suite 200 Chantilly, VA 22021 soit par e-mail : adressez votre mail a hostmater@nic.ddn.mil Le NIC vous attribuera un numro de rseau gratuitement. Supposons par exemple que lon vous a attribu le numro 128.66. Ladministrateur peut alors utiliser librement les deux derniers octets pour adresser ses machines lexception de deux adresses rserves (tous les bits 0 et tous les bits 1).

16 / 69

Administration rseau.

II : Configuration

II-1.2 Obtention dun nom de domaine


Un nom de domaine est obtenu comme pour ladresse IP aprs avoir fait une demande auprs du NIC. Les demandes sont envoyer aux mmes adresses que celles du paragraphe prcdent. Mme si le rseau nest pas connect Internet, il est quand mme conseill de faire appel au NIC. Il y a deux raisons cela. La premire est celle donne au paragraphe prcdent : on ne connat pas lavenir et on voudra peut tre un jour connecter le rseau Internet. La deuxime est plus immdiate : de nombreux rseaux non connects Internet ont des passerelles e-mail jusqu Internet et quelques uns de ces rseaux permettent des machines sur Internet de vous adresser du mail avec un nom de domaine du style Internet. Ainsi UUNET et Bitnet offrent ce service. Quand on demande un nom de domaine Internet, on devrait aussi demander un domaine inaddr.arpa. Cest ce quon appelle le domaine renvers. Ce domaine convertit les adresses IP en nom. Cest le processus normal de conversion lenvers ! Supposons que votre rseau est 128.66. Son nom de domaine renvers est 66.128.in-addr.arpa.

II-1.3 Choix dun nom de machine


Une fois le nom de domaine obtenu, ladministrateur est libre de choisir le nom de la machine lintrieur de ce domaine. Il faut sassurer que le nom de la machine est unique a travers le domaine ou sous-domaine, de la mme manire que ladresse IP est unique a travers le rseau ou sous-rseau. Le choix dun nom de machine peut savrer dlicat. Voici quelques suggestions pour choisir : utiliser des noms courts, facile peler et mmoriser. utiliser des noms de thme, de personnages connus... viter dutiliser des noms personnels, de projets ou venant du jargon technique.

II-1.4 Planning du routage


Si des machines dun rseau communiquent avec des machines dun autre rseau, on a besoin de passerelles entre ces rseaux. Une route travers des passerelles doit alors tre dnie. Il y a deux manires de le raliser : table de routage statique : elle sont construites par ladministrateur systme. Leurs mises jour sont faites manuellement. Elles sont utilises quand le nombre de passerelles est limit. table de routage dynamique : elles sont construites par les protocoles de routage. Les protocoles changent des informations quils utilisent pour la mise jour des tables. Elles sont utilises quand il y a beaucoup de passerelles sur le rseau ou quand on peut atteindre la mme destination en empruntant plusieurs chemins. En gnral, les rseaux utilisent les deux types de table simultanment : les tables de routages statiques sont plus appropries pour les machines tandis que les passerelles font appels aux protocoles de routage et aux tables de routages dynamiques.

17 / 69

Administration rseau.

II : Configuration

Ladministrateur rseau dcide du type de routage utilis ainsi que du choix de la passerelle par dfaut de chaque machine. Les protocoles de routages EGP et BGP demandent que les passerelles aient un autonomous systme number. Si votre rseau est connect un autre rseau qui utilise EGP ou BGP, il faut alors faire la demande de ces numros auprs du NIC.

II-1.5 Dnition dun masque de sous-rseau


Les raisons pour lesquelles on divise un rseau en sous-rseau sont dordre topologique ou dordre organisationnel. Les raisons dordre topologiques sont :

limitation en distance :

un rseau local sur Ethernet pais est limit en distance un tronon de 500m. On peut relier les cbles grce des routeurs IP pour augmenter la distance. A chaque cble est associe un sous-rseau.

connexions de rseaux de supports diffrents : cela consiste par exemple, relier de lEthernet avec du Token Ring en utilisant un routeur IP. On dnir alors deux sous-rseaux. ltrage du trac : les trames ne sortent du sous-rseau local que si elles sont destines un autre sous-rseau. Ce dernier nest donc pas encombr par des trames qui ne lui sont pas destines. Ce ltrage est ralis dans les passerelles entre sous-rseaux.

Les raisons dordre organisationel sont : simplication de ladministration du rseau : on dlgue le travail dadministration au niveau de chaque sous-rseau. isolation du trac : pour des problmes de scurit, un dpartement peut souhaiter que ses trames ne circulent pas sur tout le rseau. La subdivision du rseau en sous-rseaux apporte un dbut de solution.

II-1.6 Spcication de ladresse de diffusion


Cest une adresse ou tous les bits de la partie adresse de la machine sont mis 1. Ladresse de diffusion sur le rseau 192.33.174.0 est par exemple 192.33.174.255. Ladresse de diffusion est mise en place en utilisant la commande ifcong.

II-1.7 Feuilles de planning


Apres avoir regroup les diffrentes informations ncessaires au rseau, ladministrateur rseau distribue chaque administrateur systme de chaque machine les informations dont il dispose. Ladministrateur systme des terminaux X connects ensisun recevra par exemple la feuille suivante pour chaque terminal :

18 / 69

Administration rseau.

II : Configuration

Hostname : IP adress : Subnet mask : Default gateway : Broadcast address : Domain Name : Primary Name Server : Secondary Name Server : Routing Protocol :

txsun01 192.33.174.70 FF.FF.FF.E0 192.33.174.65 (ensisun) 192.33.174.95 imag.fr 192.33.74.34 0.0.0.0

II-2

Conguration de linterface
Une des forces du protocole TCP/IP est dtre indpendant du support physique. Cet avantage augmente en fait la charge de travail de ladministrateur car il doit alors indiquer au protocole TCP/IP quelles interfaces il utiliser et pour chaque interface, il doit donner ses caractristiques. Contrairement aux adresses Ethernet qui sont implmentes en hard, ladministrateur systme attribue chaque interface rseau une adresse IP, un masque de sous rseau et une adresse de diffusion.

II-2.1 La commande ifcong


Cette commande permet dinstaller ou de vrier les attributs associs chaque interface. Lexemple suivant est celui de la conguration de linterface le0 de ensisun et de sa vrication ensuite :
% ifconfig le0 192.33.174.34 netmask ffffffe0 broadcast 192.33.174.63 % ifconfig le0 le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 192.33.174.34 netmask ffffffe0 broadcast 192.33.174.63

o : le0 est le nom de linterface densisun que lon congure. 192.33.174.34 est ladresse IP de cette interface. ffffffe0 est le masque de sous rseau. On utilise un masque car le rseau net-ensimag01 dadresse 192.33.174 est divis en sous-rseaux. La subdivision est faite sur 3 bits (e0). 192.33.174.63 est ladresse de diffusion, i.e tous les bits de la partie adresse de la machine sont 1. Ladministrateur rseau fournit les valeurs des adresses, du masque de sous-rseau et ladresse de diffusion. Ces valeurs sont directement tires de la feuille de planning. Par contre, le nom de linterface , qui est le premier argument de chaque ligne de commande ifcong, est tir de la documentation systme.

Il existe une commande, netstat, dont une des fonctions est dindiquer quelles sont les interfaces disponibles sur le systme. La commande netstat -ain fournit en sortie les champs suivant pour chaque interface : Name : Mtu : Nom de linterface. * indique que linterface nest pas disponible, i.e que linterface nest pas UP. Maximum Transmission Unit montre la plus grande longueur de trame transmise par linterface sans quil y ait de fragmentation.

19 / 69

Administration rseau.

II : Configuration

Net/Dest : Address : Ipkts : Ierrs : Opkts : Oerrs : Collis : Queue :

Indique le rseau ou la machine auxquels linterface a accs. adresse IP de linterface Input Packets indique le nombre de trames reues par linterface. Input Errors indique le nombre de trames avec erreurs reues par linterface. Output Packets indique le nombre de trames mises par linterface. Output Errors indique le nombre de trames avec erreurs mises par linterface. Collisions indique le nombre de collisions dtectes par linterface. Indique le nombre de trames en le dattente dmission de linterface.

Le rsultat de la commande netstat -ain sur la machine ensisun est le suivant :


%netstat -ain Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue le0 1500 192.33.174.32 192.33.174.34 1242702 1 985946 0 10284 0 le1* 1500 none none 0 0 0 0 0 0 ne0 1500 192.33.174.64 192.33.174.65 1009315 131 985120 0 419 0 lo0 1536 127.0.0.0 127.0.0.1 178672 0 178672 0 0 0

o : Linterface lo0 est linterface de loopback, que tous les systmes possdent. Linterface le0 est congure pour Ethernet Pour information, linterface std0 (DDN Standard X25), que lon ne trouve pas ici, est congure pour Milnet.

II-2.2 Vrication de linterface avec ifcong


Un script dinstallation UNIX permet de congurer le rseau la place de ladministrateur. Cependant, cette conguration peut ne pas convenir. On peut vrier les caractristiques dune interface grce a ifcong.
% ifconfig lo0 lo0: flags=49<UP,LOOPBACK,RUNNING> inet 127.0.0.1 netmask ff000000 % ifconfig le0 le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 192.33.174.34 netmask ffffffe0 broadcast 192.33.174.63 % ifconfig ne0 ne0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 192.33.174.65 netmask ffffffe0 broadcast 192.33.174.95

o,

la premire ligne indique le nom et les ags qui caractrisent linterface. Les ags sont dcrits par un nombre dont les bits sont traduits en un ensemble de noms. Ainsi 63 correspond a : UP : BROADCAST : NOTRAILERS : RUNNING : linterface est disponible. linterface traite le diffusion, i.e elle est connecte a un rseau qui traite la diffusion comme Ethernet. linterface ne traite pas lencapsulation. linterface est utilise

La seconde ligne afchant des informations attaches TCP/IP, i.e adresse IP, masque de sousrseau et adresse de diffusion.

20 / 69

Administration rseau.

II : Configuration

La commande ifcong est normallement excute au moment du boot par un chier de startup. Sur les systmes BSD UNIX, les commandes ifcong sont normalement places dans les chiers /etc/ rc.boot et /etc/rc.local. Le script de /etc/rc.boot est excut la procdure de startup alors que le rc.local est excut la n. Editez le chier /etc/rc.boot pour lire les lignes suivantes :
ifconfig trailers ifconfig trailers ifconfig le0 192.33.174.34 netmask 255.255.255.224 broadcast 192.33.174.63 up ne0 192.33.174.65 netmask 255.255.255.224 broadcast 192.33.174.95 up lo0 127.0.0.1 up

II-2.3 Autres options de ifcong


On a utilis ifcong pour installer ladresse IP de linterface, son masque de sous-rseau et son adresse de diffusion. Ce sont certainement les fonctions les plus importantes de ifcong mais il existe dautres fonctions aussi qui sont : activer et desactiver linterface : up active linterface et down la dsactive. Pour recongurer une interface, il faut dabord la dsactiver. Par exemple, pour changer ladresse IP de le0 :
% ifconfig le0 down % ifconfig le0 192.33.174.50 up

ARP et trailer1 : Loption trailer autorise lencapsulation des datagrammes IP, -trailer linhibe. La plupart des systmes autorisent lencapsulation par dfaut. Loption arp autorise le protocole ARP (Address Resolution Protocol), -arp linhibe. Ce protocole traduit les adresses IP en adresses Ethernet. A de rares exceptions prs, ce protocole est toujours autoris. Metric : le protocole de routage RIP (Routing Information Protocol) choisit une route en fonction de son cot. Ce cot est dtermin par une mesure associe a la route. Plus ce nombre est petit, plus le cot est faible. Quand il construit sa table de routage, RIP privilgie les routes de faibles cots. Par dfaut, la mesure dune route entre une interface et un rseau qui lui est directement attach est 0. Pour augmenter par exemple le cot dune interface a 3, an que RIP privilgie les routes de valeur 0,1 ou 2 on crit :
% ifconfig le0 192.33.174.34 metric 3

On utilise cette option seulement sil existe une autre route qui conduit la mme destination et quon dsire lutiliser comme route principale.

1. Ces options sont utilisables seulement sur les interfaces Ethernet.

21 / 69

Administration rseau.

II : Configuration

II-2.4 TCP/IP sur une ligne srie


TCP/IP traite une grande varit de rseaux physiques. Le support physique peut tre du cble Ethernet comme dans notre rseau local, des bres optiques (dans notre cas seulement entre les batiments) ou bien des lignes tlphoniques comme dans les WAN1. Presque toutes les communications se font via des interfaces sries. Une interface srie envoie les donnes en un ot de bits sur un simple cble. Ce type dinterface correspond presque toutes les interfaces de communications. y compris Ethernet, mais on emploie habituellement ce terme pour une interface connecte au rseau tlphonique via un modem. Une ligne tlphonique est souvent appele une ligne srie. ii-2.4a. les protocoles sries Le premier protocole reseau sur ligne srie avoir t cre est le SLIP (Serial Line IP) . Ce protocole permet aux machines isoles de se connecter au rseau tlphonique, via TCP/IP. SLIP envoie les datagram travers une ligne srie comme une srie doctets et utilise des caractres spciaux pour indiquer quand une srie doctets doit tre regroupe pour former un datagram. SLIP dnit deux caractres spciaux : le caractre END : marque la n dun datagram. Quand SLIP reoit un caractre END, il sait quun datagram complet peut tre envoy IP. le caractre ESC : permet de diffrencier les caractres de contrle. Mais SLIP a quelques inconvnients : SLIP nest pas un standard Internet. SLIP ne dnit pas dinformation de contrle qui pourraient contrler dynamiquement les caractristiques de la connexion. Par consquent, SLIP doit supposer certaines caractristiques. Donc, cause de cette limitation, SLIP est seulement utilise quand les deux machines connaissent mutuellement leurs adresses. SLIP ne corrige pas les effets du bruit des lignes tlphone. Le protocole ne fait pas de correction derreurs ni de compression de donnes. Pour beaucoup dapplications sur des machines isoles, ces problmes ne sont pas importants. Cependant dans un environnement dynamique comme celui des WAN, ces problmes rendent le protocole inadquat pour connecter les routeurs. Pour rpondre cette faiblesse, PPP (Point to Point Protocole) a t dvelopp comme un standard Internet. Cest un protocole a trois couches : Data Link layer Protocol : assure un envoi able des donnes sur nimporte quel type de ligne srie. Link Control Protocol : fournit les informations de contrle sur la ligne srie. Cette couche est utilise pour tablir la connexion, ngocier les paramtres de conguration, vrier la qualit de liaison et clore la connexion. Network Control Protocol : Cette couche fournit les informations de conguration et de contrle ncessaires LCP. PPP est destine a faire transiter les donnes pour une grande varit de protocoles rseau. Cette couche permet PPP de faire cela.

1. WAN = Wide Area Network.

22 / 69

Administration rseau.

II : Configuration

Par consquent , PPP est plus robuste que SLIP mais il est aussi plus difcile implementer et nest pas disponible aussi facilement que SLIP. Cependant, ses avantages en font le protocole de ligne srie du futur.

ii-2.4b. choix dun protocole srie Le choix ne doit pas porter sur le meilleur protocole dans labsolu mais plutt sur le protocole le plus adapte une situation spcique. Si vous avez un rseau tendu, vous utiliserez plutt PPP. PPP est prfre car cest un standard Internet. Il offre donc plus de compatibilit entre les systmes. PPP est aussi plus robuste que SLIP. Ces caractristiques en font un bon protocole pour la connexion de routeurs sur une ligne srie. Cependant, comme SLIP t le premier protocole srie pour IP largement diffus, et comme il est simple implementer, SLIP est disponible sur plus de matriels que PPP. SLIP et PPP sont deux protocoles compltement diffrents et par consquent incompatibles. Si votre serveur seulement SLIP, la machine distante ou vous vous connectez doit aussi avoir SLIP. A cause de son installation plus ancienne, SLIP continuera tre largement utilis dans le futur. Donc, quel protocole utiliser ? Les deux ! PPP est le protocole du futur. Cependant il faut continuer a utiliser SLIP car cest souvent le seul protocole srie utilisable sur certains types de matriels. Utilisez PPP quand vous le pouvez et SLIP quand vous le devez !

II-3

Conguration du routage
Internet repose sur le principe du routage. Sans le routage, le trac serait limit un seul cble physique. Le routage permet votre machine datteindre une autre machine qui nest pas sur le mme rseau local que le votre. La communication peut trs bien traverser une succession de rseaux intermdiaires an de stablir entre les deux machines. En tant quadministrateur systme, on doit sassurer que le routage du systme est bien congur. Cest le propos de ce chapitre.

II-3.1 Les diffrentes congurations de routage


Les trois congurations de routage les plus courantes sont : routage minimal : sapplique aux rseaux compltement isols des autres rseaux. Une table de routage minimale est construite par ifcong une fois linterface rseau congure. Si votre rseau na pas daccs dautres rseaux TCP/IP et si vous nutilisez pas de sous-rseaux, il se peut que ce soit la seule table utilise.

23 / 69

Administration rseau.

II : Configuration

routage statique : un rseau avec un nombre limit de passerelles peut se congurer avec un routage statique. Une table de routage statique est construite manuellement par ladministrateur systme qui utilise la commande route. Ces tables sont utiliser seulement quand les routes ne sont pas modies, vu quelles ne sauto-adaptent pas aux changements de rseaux. Quand une machine loigne ne peut tre atteinte quavec une seule route, le routage statique est la meilleure solution. routage dynamique : un rseau ou une mme destination peut tre atteinte par plusieurs routes devrait utiliser le routage dynamique. Une table de routage est construite partir des informations changes par les protocoles de routage. Ces protocoles de routage ont pour but de mettre jour les tables de routage et de choisir quelle est la meilleure route vers une destination. Les routes sont construites coup difcong, dans un script crit par ladministrateur ou, dynamiquement par les protocoles de routage.

II-3.2 La table de routage minimale


Une fois la conguration de linterface ralise, la commande netstat -nr permet de connatre la table de routage construite par ifcong, . Imaginons ensisun sur un rseau local coup du monde.
% netstat -nr Routing tables Destination 127.0.0.1 192.33.174.64 192.33.174.32

Gateway 127.0.0.1 192.33.174.65 192.33.174.34

Flags UH U U

Refcnt 5 52 133

Use 2017 1273321 887308

Interface lo0 ne0 le0

La signication des Flags est la suivante : U indique ltat de la route ( U si up) G indique si la route se dirige vers une passerelle ( G si gateway). Dans le cas dune table de routage minimale, le ag G napparait pas car toutes les routes sont directes travers les interfaces locales, sans utiliser de passerelles extrieures. H indique que la route se dirige vers une machine (H si host). Ladresse destination est une adresse de machine et non pas une adresse de rseau. Ladresse de loopback est 127.0.0.0. Ladresse destination (127.0.0.1) est ladresse de la machine locale. Cette route particulire se retrouve dans chaque table de routage. La plupart des routes sont des routes vers des rseaux et non pas des routes vers des machines. Cest pour rduire la taille des tables. En effet une organisation peut avoir un seul rseau mais des centaines de machines sur ce rseau. Une table de routage avec une route pour chaque machine aurait une taille norme et est donc inconcevable. La colonne refcnt donne le nombre courant dutilisateurs actifs par route. Les protocoles en mode connect comptent pour une seule route durant la connexion alors que les protocoles en mode dconnect obtiennent chaque fois une route pour les donnes envoyes vers la mme destination. La colonne use indique le nombre de paquets envoys par route. La colonne interface indique linterface utilise pour la route. Pour vrier la table de routage densisun et ainsi le bon fonctionnement du routage, on peut faire un ping sur la machine ensibm ou ensibull.

24 / 69

Administration rseau.

II : Configuration

% ping -s ensibm PING ensibm: 56 data bytes 64 bytes from ensibm (192.33.174.36): icmp_seq=0. time=3. 64 bytes from ensibm (192.33.174.36): icmp_seq=1. time=4. 64 bytes from ensibm (192.33.174.36): icmp_seq=2. time=4. 64 bytes from ensibm (192.33.174.36): icmp_seq=3. time=6. ^C ----ensibm PING Statistics---4 packets transmitted, 4 packets received, 0% packet loss round-trip (ms) min/avg/max = 3/4/6

ms ms ms ms

% ping -s ensibull PING ensibull: 56 data bytes 64 bytes from ensibull (192.33.174.35): icmp_seq=0. time=4. ms 64 bytes from ensibull (192.33.174.35): icmp_seq=1. time=15. ms 64 bytes from ensibull (192.33.174.35): icmp_seq=2. time=81. ms ^C ----ensibull PING Statistics---3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms) min/avg/max = 4/33/81

ping utilise le protocole ICMP pour forcer la machine destinatrice renvoyer un cho vers la machine locale. Si les paquets circulent entre les deux machines, cela veut dire que le routage est bon. Si on fait un ping sur une machine qui nest pas sur le rseau local, les rsultats sont diffrents.
% ping 26.40.0.17 sendto: Network is unreachable

Ici, le message sendto: Network is unreachable montre que ensisun avec sa table de routage minimale ne sait pas envoyer des donnes au rseau ou se trouve la machine 26.40.0.17. Ce test montre que la table de routage cre par ifcong permet seulement la communication sur des machines sur le rseau local.

II-3.3 Construction dune table de routage statique


Comme nous lavons vu, la table de routage minimale ne marche quavec les machines directement connectes sur le rseau local. Grce la commande route, on rajoute des routes travers des passerelles externes jusqu des machines distantes.
% route -n add 152.77.0.0 192.33.174.62 1 add net 152.77.0.0: gateway 192.33.174.62

Le premier argument aprs route est soit add pour rajouter, soit del pour effacer une route. Largument suivant 152.77.0.0 est ladresse destination qui est ladresse atteinte par cette route. Si le mot-cl default est utilis, route cre une route par dfaut. La route par dfaut est utilise quand il ny a pas de routes spciques une destination donne.

25 / 69

Administration rseau.

II : Configuration

Largument suivant est ladresse de la passerelle. Cette adresse doit tre celle dune passerelle directement connecte au rseau. Le dernier argument est la mesure de routage ( routing metric). Route utilise cette mesure pour dcider sil sagit dune route travers une interface locale ou bien travers une passerelle externe. Si cette mesure vaut 0, la route est suppose passer par une interface locale et le ag G nest pas mis en place. Si cest suprieur 0, le ag G est mis en place car la route est suppose passer par une passerelle externe. La table de routage statique densisun aprs avoir ajouter diffrentes routes est la suivante :
% netstat -nr Routing tables Destination 127.0.0.1 192.33.174.160 192.33.174.128 129.88.0.0 default 192.33.174.96 192.33.174.64 192.33.174.32 152.77.0.0 192.33.175.0

Gateway 127.0.0.1 192.33.174.33 192.33.174.33 192.33.174.62 192.33.174.62 192.33.174.35 192.33.174.65 192.33.174.34 192.33.174.62 192.33.174.36

Flags UH UG UG UG UG UG U U UG UG

Refcnt 5 0 21 17 0 4 52 133 0 0

Use 2017 0 13874 438296 161657 3509 1273321 887308 0 28450

Interface lo0 le0 le0 le0 le0 le0 ne0 le0 le0 le0

Pour comprendre les diffrentes destinations de la table de routage, il suft de se reporter au chier /etc/ networks : 129.88.0.0 est le rseau net-imag 192.33.175.0 est le rseau net-ensimag23 Les autres rseaux 192.33.174.xxx sont les sous-rseaux du rseau net-ensimag01. Ce sont les rseaux : net-ensipc, net-ensuntx, net-ensibmtx, net-ensibultx,... Rapellons que ensisun est directement connect sur net-ensuntx (192.33.174.64) et sur net_ensimag (192.33.174.32)

II-3.4 Les diffrents protocoles de routage


Tous les protocoles de routage assurent les mmes fonctions de base : ils dterminent la meilleure route pour chaque destination et changent les informations de routages entre les diffrents systmes du rseau. Par contre, leur manire de procder est diffrente. ii-3.4a. Protocole de routage intrieur Un protocole intrieur est utilis sur un rseau indpendant. Ces rseaux indpendants sont aussi appels systme autonome en terminologie TCP/IP. Au sein dun systme autonome, linformation de routage est change en utilisant un protocole intrieur. Routing Information Protocole (RIP) est le plus utilis des protocoles intrieurs car il est inclus dans UNIX. RIP slectionne la route dont la longueur est la plus faible comme tant la meilleure route. La longueur dune route pour RIP est le nombre de passerelles que les donnes doivent franchir pour atteindre leur destination. RIP suppose que la meilleure route est celle qui utilise le moins de passerelles.

26 / 69

Administration rseau.

II : Configuration

La plus grande longueur pour RIP est de 15. Au dessus de 15, RIP suppose que la destination nest pas joignable. En supposant que la meilleure route est la plus courte, RIP ne prend donc pas en compte les problmes de congestion. Inclus dans UNIX, RIP tourne grce au routing daemon, routed. Le routing daemon construit les tables de routages avec les informations de mise jour RIP. Les systmes congurs pour traiter RIP changent priodiquement ou sur demande ces informations de mise jour. Dautres protocoles ont t dvelopps pour pallier cette limitation de congestion. Hello est un protocole qui utilise le dlais1 pour dcider de la meilleure route. Le dlais est le temps que met un paquet pour aller de la source la destination et revenir ensuite la source. Hello nest pas largement utilis. On le trouve peu en dehors de NSFNET. ii-3.4b. Protocole de routage extrieur Les protocoles de routage extrieur sont utiliss pour changer des informations entre systme autonomes. Les informations de routage qui passent entre des systmes autonomes sont appeles reachability information. Ces informations indiquent quels rseaux peuvent tre atteints travers un systme autonome spcique. Exterior Gateway Protocol (EGP) est le plus utilis des protocoles extrieurs. Une passerelle qui utilise EGP annonce quelle peut atteindre les rseaux qui font partie de son systme autonome. Contrairement aux protocoles intrieurs, EGP nessaie pas de choisir la meilleure route. EGP met jour les informations de distance mais nvalue pas ces informations. Ces informations de distance ne sont pas directement comparables parce que chaque systme autonome utilise des critres diffrents pour valuer ces valeurs. Une structure de routage qui dpend dun groupe de passerelles centralises ne peut pas convenir un accroissement rapide de Internet. Cest une des raisons pour lesquelles Internet tend vers une architecture distribue ou un processus de routage tourne sur chaque systme autonome. Un autre protocole, Border Gateway Protocole (BGP) commence remplacer EGP. Comme EGP, BGP changent des informations entre systmes autonomes mais BGP peut fournir plus dinformations pour chaque route et peut utiliser ces informations pour slectionner la meilleure route. Une remarque importante se rappeler est que la plupart des systmes ne font pas tourner de protocoles extrieurs. Ces protocoles ne sont utiles que pour des systmes autonomes qui changent des informations avec dautres systmes autonomes. La plupart des machines appartenant un systme autonome font tourner RIP. Seules les passerelles reliant deux systmes autonomes font tourner un protocole extrieur. EGP tourne soit comme processus spar (egpup), soit comme partie du Gateway Routing Daemon (gated). Il est prfrable dutiliser gated. On utilise encore egpup car il est encore 1. Round Trip Time

27 / 69

Administration rseau.

II : Configuration

utilis sur certains sites. gated est un seul logiciel qui combine la fois RIP, Hello, BGP et EGP. Les avantages de gated sont : sur les systmes qui utilisent plus dun protocole de routage, gated combine les informations des diffrents protocoles et en tire la meilleure route. les routes apprises dun protocole intrieur peuvent tre annonces via un protocole extrieur. Les informations entre systmes autonomes sadaptent aux changements de routes intrieur. gated simplie la conguration. Tout tient dans un seul chier : /etc/gated.conf. ii-3.4c. Choix dun protocole de routage Bien quil y ait beaucoup de protocoles existant, en choisir un est relativement facile. Pour des rseaux locaux, RIP est le plus courant. OSPF nest pas encore largement disponible et Hello na jamais t largement utilis. Pour un protocole extrieur, on a rarement le choix du protocole. Deux systmes autonomes qui changent des informations doivent utiliser le mme protocole. Si lautre systme autonome fonctionne dj, il faut alors utiliser le mme protocole. Ce choix est souvent EGP mme si BGP se diffuse de plus en plus.

II-4

Conguration du DNS1
Le service de nom DNS nest pas vraiment indispensable pour la communication entre machines. Comme son nom lindique, cest un service dont le but est de rendre le rseau plus convivial. Le rseau fonctionne trs bien avec les adresses IP mais lutilisateur prfre utiliser des noms.

II-4.1 BIND
Au sein dUNIX, DNS est implment par le BIND (Berkeley Internet Name Domain). Cest un programme qui repose sur une architecture client/serveur. La partie client du BIND est appele le resolver. Il gnre les demandes qui sont envoyes au serveur. Le serveur DNS rpond alors aux requtes du resolver. La partie serveur du BIND est un dmon appel named. Ce chapitre couvre les trois oprations faire sur le BIND : conguration du resolver conguration du serveur de nom named construction des chiers de donnes du serveur de nom, appels chiers de zone BIND peut tre congur de plusieurs manires. Ces diffrentes congurations sont : resolver-only systems : sur les systmes UNIX, le resolver nest pas un client spar mais plutt une librairie. Certains systmes utilisent seulement le resolver. Ils sont faciles congurer: il suft dinitialiser le chier /etc/resolv.conf. Ce type de conguration nest quand mme pas trs courant. Elle est utilise quand il y a une limitation technique qui empche de faire tourner le serveur. (Les trois autres congurations sont toutes pour le serveur named).

1. DNS = Domain Name Server.

28 / 69

Administration rseau.

II : Configuration

catching-only : ce type de serveur ne gre pas de chiers de donnes. Il determine les rponses aux requtes partir dautres serveurs distants. Une fois quil connat la rponse, le serveur conserve linformation pour dautres demandes futures de la mme information. Ce type de serveur nest pas autoritaire, vu quil dpend dautres serveurs. Seul un chier cache est ncessaire pour conserver les informations temporairement. Ce type de conguration de serveur est srement la plus rpandue et la plus simple mettre en place avec la conguration prcdente. primary : le serveur de nom primaire est matre sur tout le domaine quil gre. Il connat les informations concernant le domaine partir dun chier local fait par ladministrateur rseau. Ce chier de zone contient les informations prcises sur le domaine ou le serveur est matre. La conguration de ce serveur demande un ensemble de chiers : le chier de zone pour le domaine (named.hosts) et le domaine lenvers (named.rev),le chier boot(named.boot), le chier cache (named.ca) et le chier de loopback (named.local). secondary : un serveur secondaire transfre les informations dun serveur primaire chez lui. Le chier de zone est ainsi transfr et est stock dans un chier local. Ce type de serveur a une copie complte des informations du domaine; on le considre par consquent comme un serveur matre. La conguration dun serveur est une de celles ci-dessus mais peut aussi en regrouper plusieurs. Cependant, tous les systmes doivent faire tourner un resolver. Commenons regarder la conguration de la partie cliente du DNS.

II-4.2 Conguration du resolver


Il y a deux manires de procder la conguration de resolver : utilisation de la conguration par dfaut ou utilisation du chier resolv.conf. Le resolver nest pas un processus distinct; cest une librairie de routines. Si le chier resolv.conf existe, il est lu chaque fois quun processus utilisant le resolver commence. Ce chier nest pas demand par les systmes qui font tourner named. Tous ces systmes peuvent utiliser la conguration par dfaut. ii-4.2a. Conguration par dfaut Pour connatre le domaine par dfaut, le resolver utilise la conguration par dfaut. Il utilise la machine locale comme serveur de nom par dfaut et tire le nom du domaine par dfaut de la sortie de la commande hostname. Pour que la conguration par dfaut fonctionne, il faut que la machine locale fasse tourner named. hostname est une commande UNIX qui permet de vrier ou dinstaller le nom de la machine. Seul, le root peut en faire linstallation. Par contre, tout le monde peut en faire la vrication :
% hostname ensisun.imag.fr

29 / 69

Administration rseau.

II : Configuration

Si le chier resolv.conf nexiste pas, le resolver enlve la premire partie de lafchage de hostname, i.e ensisun et utilise le reste, i.e imag.fr comme nom de domaine. Cela marche correctement si le nom de la machine est fully qualied domain name FQDN. Si hostname retourne simplement ensisun, un chier resolv.conf avec le nom de domaine par dfaut est ncessaire. ii-4.2b. Fichier de conguration resolv.conf Si le systme local ne fait pas tourner named ou si le nom du domaine ne peut pas tre tir de hostname, on doit utiliser le chier resolv.conf. La conguration avec ce chier a quelques avantages sur la conguration par dfaut. La conguration est dnie clairement et elle permet de choisir un serveur de nom autre que celui par dfaut au cas ou ce dernier ne rponde plus. Ce chier a deux entres : nameserver address : identie le ou les serveuri(s) de nom par son adresse IP. Si cette entre nexiste pas dans le chier, le serveur de nom est suppos tre la machine locale. Sur une machine congure resolver-only, le chier resolv.conf contient des noms de serveurs mais qui ne sont jamais la machine locale. domain name : dnit le nom du domaine par dfaut, par exemple imag.fr.

II-4.3 Conguration de named


Alors que la conguration du resolver ncessite au plus un chier, plusieurs chiers sont ncessaires pour congurer named. ii-4.3a. Le chier named.boot Ce chier indique les sources de linformation DNS. Ces sources sont soit des chiers locaux, soit des serveurs distants. Les entres de ce chier sont les suivantes : directory : primary : cache : slave : dnit un rpertoire de rfrence des chiers. dclare que ce serveur est primaire dans la zone spcie. indique le chier cache. force le serveur seulement utiliser des forwaders.

secondary : dclare que ce serveur est secondaire dans la zone spcie. forwaders : liste des serveurs ou les requtes sont expdies.

La faon dont on congure named.boot indique si on utilise le serveur comme primary server, secondary server ou catching-only server. Conguration catching-only server Le contenu du chier named.boot ressemble ce qui suit :
; ; a catching-only server configuration ; directory /usr/local/domain

30 / 69

Administration rseau.

II : Configuration

primary 0.0.127.IN-ADDR.ARPA named.local cache root.cache

Tous les chiers sont relatifs au rpertoire /usr/local/domain Lentre cache dit named de maintenir un cache aux rponses du serveur de noms et de linitialiser avec le chier root.cache . Ce nom est choisi par ladministrateur. Nous verrons son contenu dans le paragraphe suivant. Lentre primary dnit le serveur local comme serveur primaire de son propre domaine en loopback. Ce domaine est un in-addr.arpa domaine qui donne comme adresse la machine locale 127.0.0.1. Conguration primary et secondary server Voici le dbut du chier qui dnit imag comme serveur primaire sur le domaine imag.fr :
; ; @(#)named.boot 1.3 (Berkeley) 86/01/30 IMAG JUIN 1990 ; boot file for primary and secondary name server ; directory /usr/spool/named sortlist 129.88.0.0 147.171.0.0 130.190.0.0 ; ; type domain source file or host ; primary 0.0.127.in-addr.arpa rev.127.0.0 primary imag.fr. imag.fr.zone

La deuxime entre dit que la machine imag est le serveur primaire pour le domaine imag.fr et que les donnes pour ce domaine sont lire dans le chier imag.fr.zone. Pour une conguration de serveurs secondaires, les entres secondary nindiquent plus des chiers locaux mais des serveurs distants comme source dinformation sur les domaines. Les entres secondaires donnent le nom du domaine, ladresse du serveur primaire pour de domaine et ladresse le nom du chier local ou linformation reue du serveur primaire doit tre stocke. Voici ce chier qui dnit ensisun comme serveur secondaire:
directory /var/spool/named sortlist 129.88.0.0 147.171.0.0 130.190.0.0 secondary imag.fr 129.88.32.1 imag.fr.bk secondary 88.129.in-addr.arpa 129.88.32.1 129.88.bk cache . root.cache forwarders 129.88.32.1 slave

ii-4.3b. Le chier dinitialisation cache root.cache Une entre dans chaque chier named.boot indique quel est le chier dinitialisation cache. Chaque serveur ce chier.

31 / 69

Administration rseau.

II : Configuration

Le chier cache pour ensisun est : /var/spool/named/root.cache. Il contient le nom et les adresses des serveurs root . Voici son contenu :
; ; Hints for root nameservers ; . 99999999 99999999 99999999 99999999 99999999 99999999 99999999 c.nyser.net. 99999999 kava.nisc.sri.com. 99999999 ns.nasa.gov. 99999999 99999999 aos.brl.mil. 99999999 ns.nic.ddn.mil. 99999999 terp.umd.edu. 99999999 nic.nordu.net. 99999999

IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN

NS NS NS NS NS NS NS A A A A A A A A

c.nyser.net. kava.nisc.sri.com. ns.nasa.gov. aos.brl.mil. ns.nic.ddn.mil. terp.umd.edu. nic.nordu.net. 192.33.4.12 192.33.33.24 192.52.195.10 128.102.16.10 192.5.25.82 192.112.36.4 128.8.10.90 192.36.148.17

99999999 est le ttl (time to live). ttl reprsente la dure en seconde pendant laquelle linformation doit tre conserve dans le cache. La valeur 99999999 - la plus grande possible indique que le serveur root nest jamais enlev du cache. Une liste de serveur root est disponible par ftp anonyme nic.ddn.mil dans le chier netinfo/ root/root-servers.txt. Si le rseau nest pas connect Internet, il est inutile dinitialiser le cache avec les serveurs root ci-dessus, vu que vous ne pourrez pas les atteindre. Initialisez votre cache avec des entres qui pointent sur le serveur de nom local. ii-4.3c. Le chier named.local Ce chier est utilis pour convertir ladresse 127.0.0.1 (ladresse loopback) en le nom localhost. Cest le chier zone du domaine renvers 0.0.127.in-addr.arpa. Ce chier est presque chaque fois identique sur tous les serveurs. Voici le contenu du chier mis disposition ladresse de ftp ci-dessus :
; ; @(#)named.local 1.1 (Berkeley) 86/01/21 ; @ IN SOA ucbvax.Berkeley.EDU. kjd.ucbvax.Berkeley.EDU. ( 1.2 ; Serial 3600 ; Refresh 300 ; Retry 3600000 ; Expire 14400 ) ; Minimum IN NS ucbvax.Berkeley.EDU. 0 IN PTR loopback.ucbvax.Berkeley.EDU. 1 IN PTR localhost.

32 / 69

Administration rseau.

II : Configuration

Lentre SOA (Start of authority) identie ucbvax.Berkeley.EDU comme le serveur initialisant cette zone, et ladresse e-mail kjd.ucbvax.Berkeley.EDU est ladresse ou poser des questions sur la zone. Lentr NS contient le nom de la machine hte. Les entres PTR convertissent les adresses en nom de machine. Les chiers named.boot, root.cache et named.local sont les seuls chiers ncessaires la conguration des serveurs en catching-only et secondary. La plupart des serveurs nutiliseront que ces chiers. ii-4.3d. Le chier de domaine renvers named.rev Ce chier a la mme structure que named.local car son but est de traduire des adresses IP en nom. Voici le contenu dun chier exemple cherch Berkeley. :
; ; ; @

@(#)named.rev

1.1

(Berkeley)

86/02/05

IN

SOA

0.0 0.130 2.129 2.140 3.132 4.0 5.0 6.0 6.130 7.0 7.130 9.0 10.0 11.0 11.156 38.131

IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN

NS PTR A PTR PTR PTR PTR PTR PTR PTR PTR PTR PTR PTR PTR PTR PTR PTR

ucbvax.berkeley.edu kjd.ucbvax.berkeley.edu ( 1.2 ; Serial 10800 ; Refresh 3 hours 3600 ; Retry 1 hour 3600000 ; Expire 1000 hours 86400 ) ; Minimum 24 hours ucbvax.Berkeley.EDU. Berkeley-net.Berkeley.EDU. 255.255.255.0 csdiv-net.Berkeley.EDU. monet.Berkeley.EDU. ucbarpa.Berkeley.EDU. cad.Berkeley.EDU. ucbarpa.Berkeley.EDU. cad.Berkeley.EDU. ernie.Berkeley.EDU. monet-cs.Berkeley.EDU. monet.Berkeley.EDU. kim.Berkeley.EDU. esvax.Berkeley.EDU. ucbvax.Berkeley.EDU. kim.Berkeley.EDU. esvax-156.Berkeley.EDU. monet.Berkeley.EDU.

Lentre SOA dnit le domaine pour le chier zone. On retrouve le mme SOA sur tous les chiers zone de ensisun. Lentre NS dnit le serveur de noms pour le domaine. Les entres PTR traduisent des adresses en nom. Dans notre cas, les enregistrements PTR fournissent les noms de 0.0, 130.0, 129.2,... sur le rseau 128.66.

33 / 69

Administration rseau.

II : Configuration

ii-4.3e. Le chier named.host Ce chier contient la plupart des informations sur le domaine. Ce chier convertit les noms en adresse IP. Cela correspond aux enregistrements A. Ce chier, comme named.rev est seulement cre pour les serveurs primaires. Les autres serveurs tirent ces informations des serveurs primaires. Voici le contenu dun chier exemple :
; Authoritative data for Berkeley.EDU (ORIGIN assumed Berkeley.EDU) ; @ IN SOA ucbvax.berkeley.edu kjd.ucbvax.berkeley.edu ( 1.1 ; Serial 10800 ; Refresh 3 hours 3600 ; Retry 1 hour 3600000 ; Expire 1000 hours 86400 ) ; Minimum 24 hours IN MX ucbvax 10 IN NS monet ucb-arpa IN A 10.0.0.78 IN A 128.32.0.4 IN HINFO VAX-11/780 UNIX arpa IN CNAME ucbarpa ucb-vax 9999IN A 10.2.0.78 IN A 128.32.0.10 IN HINFO VAX-11/750 UNIX ucbvax IN CNAME ucbvax monet IN A 128.32.0.7 IN HINFO VAX-11/750 UNIX ucbmonet IN CNAME monet kjd IN MB ucbarpa dunlap IN MR kjd group IN MINFO kjd kjd.Berkeley.EDU. IN MG name1 IN MG name2

II-4.4 Utilisation de nslookup


nslookup est un outil de debuggage fourni avec le BIND. Il permet de faire des requtes directement un serveur de nom et de retrouver les informations connues du DNS. Cest trs utile pour savoir si un serveur fonctionne correctement et est correctement congur. Cette commande est explique plus en dtail dans un chapitre suivant. Voici la manipulation faire pour les donnes dun domaine partir dun serveur primaire:
% nslookup Default Server: ensisun.imag.fr Addresses: 192.33.174.34, 192.33.174.65 > server imag.imag.fr Default Server: imag.imag.fr Address: 129.88.32.1 > ls imag.fr > temp [imag.imag.fr]

34 / 69

Administration rseau.

II : Configuration

#################################################################### Received 6251 records. > view temp [imag.imag.fr] imag.fr. server = imag.imag.fr imag 129.88.32.1 imag.fr. server = hal.imag.fr hal 129.88.32.24 imag.fr. server = layon.inria.fr imag.fr. server = mirsa.inria.fr imag.fr. server = archi.imag.fr archi 147.171.129.1 imag.fr. 129.88.32.1 saint-eynard 129.88.38.27 notos 147.171.149.30 maceudes 129.88.32.49 lys 147.171.150.51 durga 129.88.32.24 oahu 129.88.100.64 lion 129.88.33.32 ensitty1 192.33.174.40 ensitty2 192.33.174.41 ensitty3 192.33.174.42 ensitty4 192.33.174.43 ensitty5 192.33.174.44 gimli 129.88.33.21 athena 129.88.40.3 knuth1 192.33.172.51 knuth2 192.33.172.52 mac_archi-10 147.171.129.230 knuth3 192.33.172.53 mac_archi-11 147.171.129.231 knuth4 192.33.172.54 meltemi 147.171.149.20 mac_archi-12 147.171.129.232 knuth5 192.33.172.55 aragorn 129.88.33.23 mac_archi-13 147.171.129.233 mare 129.88.100.18 mac_archi-15 147.171.129.235 mac_archi-16 147.171.129.236 mac_archi-17 147.171.129.237 mac_archi-20 147.171.129.240 mac_archi-18 147.171.129.238 mac_b2-1 129.88.59.2 devoluy 129.88.38.14 mac_archi-21 147.171.129.241 mac_archi-19 147.171.129.239 mac_b2-2 129.88.59.3 mac_archi-22 147.171.129.242 mac_b2-3 129.88.59.4 mac_archi-23 147.171.129.243 mac_b2-4 129.88.59.5 mac_archi-24 147.171.129.244 mac_b2-5 129.88.59.6 aramis-campus 129.88.31.254 ... ( to be continued)

35 / 69

Administration rseau.

III : Applications

III

Applications

Dans ce chapitre nous allons prsenter les applications les plus courantes que lon puisse trouver au-dessus de TCP/IP. Nous voquerons leurs installations, leurs utilisations, leurs chiers de congurations (utilisateur ou systme) ainsi que certains trucs & astuces intressant. III-1 La famille des commandes r
Pour les systmes Unix, la famille des commandes r comprend toutes les commandes utiles pour travailler partir dun serveur local sur un ou des serveurs distants; pourvu que les deux systmes soient de type Unix (et que les deux machines puissent se joindre lune lautre!). Ces commandes sont trs pratiques car elles permettent de passer dune machine lautre sans avoir donner son mot de passe chaque fois ... ! Elles reprsentent aussi par consquent un danger considrable sur le plan de la scurit si lon ne sait pas les matriser1. Les trois commandes remotes qui nous intressent ncessitent la mise en place par loprateur ou par lutilisateur de chiers de congurations donnant des droits daccs, nominatifs ou par machine. Ces commandes sont : rlogin : remote login permet de se connecter sur une machine distante Unix. rcp : remote copy permet de copier des chiers dune machine Unix a une autre. rsh : remote shell permet dexcuter une commande sur une machine distante. Exemples (pour comprendre aidez-vous du man ...) :
imag{22} whoami durand imag{23} rlogin -l dupond ensisun Last login: Wed Jun 16 08:11:02 from ensisun SunOS Release 4.1.2 (ENSIMAG_SNC) #2: Fri Nov 20 16:26:13 MET 1992 *********************************************************************** You have mail. Terminal recognized as vt100 (ANSI/VT100 Clone) ensisun{10} whoami dupond ensisun{11} exit Connection closed. imag{24} rsh -l dupond ensisun ls -lag /etc/passwd -rw-r--r-- 1 root staff 29592 Jun 15 15:02 /etc/passwd imag{25} rcp dupond@ensisun:/etc/passwd pswd imag{26} ls -lag pswd -rw-r----- 1 durand students 29592 Jun 16 14:26 pswd imag{27} wich rsh /usr/ucb/rsh imag{28} ln -s /usr/ucb/rsh ensisun imag{29} ensisun echo "qui suis-je ? ... " whoami "@"$HOST qui suis-je ? ... durand@ensisun imag{30} ensisun -l dupond echo "qui suis-je ? ... " whoami "@"$HOST qui suis-je ? ... dupond@ensisun

1. le responsable systme est en mesure de dsactiver ces commandes en transformant les lignes correspondantes du chier /etc/inetd.conf en lignes de commentaires.

36 / 69

Administration rseau.

III : Applications

III-1.1 Le chier /etc/hosts.equiv


Pour ladministrateur le chier important est /etc/hosts.equiv; ce dernier est compos de zro ou plusieurs lignes de la forme
1

[+|-][nom_de_machine] [nom_dutilisateur] Ce qui donnerait par exemple dans le /etc/hosts.equiv de la machine ensisun : ensibull -ensibull dupond => Autorise toute personne ayant un compte sur ensibull et un sur ensisun sous le mme nom dutilisateur, accder ensisun depuis ensibull sans password ! => Force lutilisateur dupond@ensibull donner son password lorsque quil tente daccder ensisun depuis ensibull (utile quand dupond@ensibull et dupond@ensisun ne sont pas la mme personne). => Brche dans la scurit : Autorise toute personne ayant un compte sur une machine distante sous le nom durand accder tous les comptes utilisateur densisun sans password ! (le compte root except)

+ durand

+ ensibull durand => ATTENTION : il y a un blanc entre + et ensibull (faute dinattention?) => Brche dans la scurit : Autorise toute personne ayant un compte sur une machine distante sous le nom ensibull ou le nom durand accder tous les comptes densisun sans password ! (le compte root except)

III-1.2 Les chiers .rhosts


Le .rhosts est un chier utilisateur qui a la mme syntaxe que le chier /etc/hosts.equiv mais qui ne donne accs quau compte de lutilisateur qui la cre et plac dans la racine de sont rpertoire utilisateur (le chier .rhosts ne peut pas prendre le pas sur le chier /etc/hosts.equiv).

Exemple :
ensisun{10} pwd /users/durand ensisun{11} cat > .rhosts ensibull dupond ^D ensisun{12} chmod go-w .rhosts ... ensibull{10} whoami dupond ensibull{11} rlogin -l durand ensisun Last login: Thu Jun 17 12:19:37 from imag SunOS Release 4.1.2 (ENSIMAG_SNC) #2: Fri Nov 20 16:26:13 MET 1992 *********************************************************************** ensisun{10} ...

1. attention la position du blanc : si vous tapez un blanc entre le plus et le nom_de_machine, ce dernier sera en fait interprt comme un nom dutilisateur ce qui est fort dangereu ...

37 / 69

Administration rseau.

III : Applications

III-2

Applications de base : telnet, ftp


La conguration du systme ayant t ralise (/etc/inetd.conf), il ne devrait, pas y avoir de problme pour ce servir de ces deux utilitaires (sauf si leur usage a t volontairement restreint). telnet ftp permet de se connecter a une machine distante quelle que soit son type, pour plus dinformation utiliser le man. permet de transfrer des chiers entre des machines, mme si ce sont des systmes trs diffrents (sous FTP faire help).

Pour ce qui est de FTP quelques informations complmentaires sont tout de mme trs utiles pour le dbutant. Tout dabord, il existe des serveurs FTP anonymes, cela signie que sur de tels serveurs il est possible de se connecter sous le nom dutilisateur anonymous en donnant sa propre adresse en guise de password. Le fait de donner votre adresse en tant que password nest pas une contrainte stricte : il suft en gnral de taper un caractre @ dans la ligne pour que le serveur soit satisfait, cependant nous vous conseillons de mettre votre vritable adresse dans votre propre intrt : avoir accs au serveurs FTP anonymes nest pas un droit, cest un privilge que lon vous accorde, et il est normal (et mme souhaitable) que le responsable dun serveur anonyme soit au courant du public quil touche, de plus il peut arriver que lon prenne un chier dangereux (bug dsastreux, cheval de Troie, virus, ...) on ne peut alors tre prvenu du problme qu condition davoir donner son adresse ! Ensuite, il faut connatre quelques piges dFTP : Tout chier qui nest pas un chier texte, ne doit tre transfr quen mode binaire (par exemple, un chier *.ZIP pour les PC ou un *.hqx pour les MAC ...) A linverse, tout chier texte doit tre transfr en mode ASCII car les marques de n de ligne, de n de chier, et mme le jeux de caractre, sont diffrent dun constructeur lautre ... FTP ralise la conversion pour vous ! Enn, bien que lon puisse utiliser des pipes dans les commandes dFTP, il faut bien prendre garde de ne pas mettre de blanc entre le pipe et la commande qui le suit pour que FTP puisse linterprter correctement. De plus, il nest pas inutile de savoir que lon peut se procurer sur le rseau des variantes dFTP qui sont plus pratiques demploi (essayer sur ftp.inria.fr dans /system/user le chier ncftp.tar.Z). Quelques adresses : pilot.njin.net ftp.inria.fr tsx-11.mit.edu nic.switch.ch Exemples :
imag{10} ftp pilot.njin.net Connected to pilot.njin.net. 220 pilot.njin.net FTP server ready. Name (pilot.njin.net:dupond): anonymous 331 Guest login ok, send e-mail address as password. Password: 230 Guest login ok, access restrictions apply. ftp> help

=> => => =>

liste de serveurs anonymes : pub/ftp-list/ftp.list Sources, X11, TeX, GNU, Games, ... Linux (un Unix domaine public pour PC), GNUs, ... Programmes domaines public pour PC, archives, ...

38 / 69

Administration rseau.

III : Applications

Commands may be abbreviated. Commands are: ! cr macdef proxy send $ delete mdelete sendport status account debug mdir put struct append dir mget pwd sunique ascii disconnect mkdir quit tenex bell form mls quote trace binary get mode recv type bye glob mput remotehelp user case hash nmap rename verbose cd help ntrans reset ? cdup lcd open rmdir close ls prompt runique ftp> help dir bin hash prompt mget dir list contents of remote directory binary set binary transfer type hash toggle printing # for each buffer transferred prompt force interactive prompting on multiple commands mget get multiple files ftp> cd pub/ftp-list 250 CWD command successful. ftp> dir ftp* 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. -rw-r--r-- 1 30750 21060 7701 Jan 3 1992 ftp.help -rw-r--r-- 1 30750 21060 148620 Jan 3 1992 ftp.list -rw-r--r-- 1 30750 21060 2762 Jan 3 1992 ftpmailservers -rw-r--r-- 1 30750 21060 33890 Jan 3 1992 ftpserv.tar.uu 226 Transfer complete. remote: ftp* 268 bytes received in 0.032 seconds (8.1 Kbytes/s) ftp> prompt Interactive mode off. ftp> mget ftp.* 200 PORT command successful. 150 Opening ASCII mode data connection for ftp.help (7701 bytes). 226 Transfer complete. local: ftp.help remote: ftp.help 7897 bytes received in 0.91 seconds (8.5 Kbytes/s) 200 PORT command successful. 150 Opening ASCII mode data connection for ftp.list (148620 bytes). 226 Transfer complete. local: ftp.list remote: ftp.list 150683 bytes received in 11 seconds (13 Kbytes/s) ftp> close 221 Goodbye. ftp> open ftp.inria.fr Connected to ftp.inria.fr. 220 ftp FTP server (Version 5.60) ready. Name (ftp.inria.fr:dupond): anonymous 331 Guest login ok, send e-mail address as password. Password: 230230- ************************************* 230- * WELCOME to the INRIA FTP server * 230- ************************************* 230-Please read the file README

39 / 69

Administration rseau.

III : Applications

230- it was last modified on Tue Jun 8 08:30:26 1993 - 9 days ago 230 Guest login ok, access restrictions apply. ftp> bin 200 Type set to I. ftp> hash Hash mark printing on (8192 bytes/hash mark). ftp> get network/ftp.servers.Z |uncompress>tst 200 PORT command successful. 150 Opening BINARY mode data connection for ftp.servers.Z (47919 bytes). ######################################################################### 226 Transfer complete. local: |uncompress>tst remote: ftp.servers.Z 47919 bytes received in 3.3 seconds (14 Kbytes/s) ftp> bye 221 Goodbye.

III-3

Le mail : courrier lectronique


Une discussion dtaille du courrier electronique pourait sufre faire lobjet dun livre entier, cest pourquoi nous nous contenterons ici de ne donner quun descriptif assez bref.

Lorsque vous envoyez un courrier par la commande mail1, il se passe tout un enchainement doprations, mais limportant est la commande sendmail qui est le centre nerveux du systme de courrier lectronique. On peut distinguer trois tches de sendmail : Recevoir le courrier lectronique Internet : SMTP Permettre lutilisation dalias et listes de mailing Faire parvenir le courrier destination en analysant ladresse destinataire (ce dernier point masque aussi le fait quil y a pas moins de trois programmes de traitement du courrier lectronique suivant quil sagisse dun courrier Internet, dun courrier entre systmes UUCP, ou, dun courrier local entre deux utilisateurs dune mme machine !)

III-3.1 Sendmail le dmon SMTP


Le dmon sendmail, prend le courrier Internet qui arrive sur le port TCP 25 et le traite ... Pour comprendre ce quil fait, regardons les lignes qui dmarrent sendmail en tant que dmon lors du boot :
if [ -f /usr/lib/sendmail -a -f /etc/sendmail.cf ]; then (cd /var/spool/mqueue; rm -f nf* lf*) /usr/lib/sendmail -bd -q1h ; echo -n sendmail fi

On voit dabord le classique test dexistence des chiers ncessaires, puis la ligne rm qui est charge dliminer tous les verrous qui auraient pu rester dans le rpertoire /var/spool/mqueue si la

1. Pour plus de renseignements lancer la comande mail puis demander laide en ligne en tapant help ... (il y a trop de version trs differantes de mail)

40 / 69

Administration rseau.

III : Applications

machine cest crash alors que des courriers taient en cours de traitement. Enn on peu dmarrer le dmon avec les options1 : -qintervale -bd => prcise la frquence la quelle on doit traiter la queue (1h => toute les heures; 15m => tout les quarts dheure ...) => prcise que sendmail doit fonctionner comme un dmon, et doit couter le port 25 pour rceptionner les courriers arrivant.

III-3.2 Sendmail le pourvoyeur dalias


Les aliases que reconnat sendmail sont dnis dans /etc/aliases avec le format : alias:recipient[,recipient]... ou owner-aliasname:address

Ces aliases peuvent servir trois causes : donner des surnoms aux utilisateurs (ou admettre des noms complets, avec majuscule ...) faire suivre le courrier (cas des comptes dplac ou supprims) tablir des listes de mailing exemple :
## # Aliases can have any mix of upper and lower case on the left-hand side, # but the right-hand side should be proper case (usually lower) # # >>>>>>>>>> The program "newaliases" will need to be run after # >> NOTE >> this file is updated for any changes to # >>>>>>>>>> show through to sendmail. # # @(#)aliases 1.10 89/01/20 SMI ## # Following alias is required by the mail protocol, RFC 822 # Set it to the address of a HUMAN who deals with this systems mail problems. Postmaster: root # Alias for mailer daemon; returned messages from our MAILER-DAEMON # should be routed to our local Postmaster. MAILER-DAEMON: postmaster # Une alternative pour joindre le compte cathy : cassagne: cathy # Mailing-liste pour joindre les responsable ... admin: cassagne, dupond, durand@ensibull, smith@imag owner-admin: cathy

Il est noter que tout changement dans le chier /etc/aliases ne sera pas pris en compte tant que lon aura pas executer la commande newaliases pour que sendmail remette jours ses donnes .

1. Pour les autres options et leurs signications, consultez le man ... !

41 / 69

Administration rseau.

III : Applications

III-3.3 Sendmail le centre de tri


Quand il faut dterminer la route que doit prendre un courrier, cest encore sendmail qui est mis contribution. Il sappui pour ce faire sur le chier de conguration sendmail.cf. Ce dernier a trois fonctions principales : Dnir lenvironnement de senmail. Donner des rgles de r-criture des adresses dans une syntaxe approprie au programme qui recevra le courrier. Etablir les instructions a excuter pour faire parvenir le courrier en fonction de ladresse. La syntaxe de ce chier tant fort complexe, (cest un vritable langage) et trs rbarbative (chaque mot, variable de ce langage nest constitu que dune seule lettre!); on se contentera dindiquer comment ce procurer un chier modle, ainsi que des guides qui vous aiderons a ladapter a vos besoins. Le chiers ftp.uu.net:mail/sendmail/sendmail-5.65.tar.Z contient tout ce dont vous aurez besoin pour tablir votre sendmail.cf, en particulier, vous y trouverez : tcpuucpproto.cf tcpproto.cf uucpproto.cf doc/07.sendmailop/ doc/16.sendmail/ modle pour les systmes ayant un accs direct au rseaux TCP et UUCP. modle pour les systmes nayant un accs direct quaux rseaux TCP. modle pour les systmes nayant un accs direct quaux rseaux UUCP. Sendmail Installation and Operation Guide ... Sendmail: An Internetwork Mail Router ...

III-3.4 Au rayon farces et attrapes : sendmail


En faisant un telnet sur le port 25 dune machine, on peu rentrer en communication directe avec sendmail (le dmon) et de cette faon, lui faire croire quil a reu un courrier SMTP. Le point intressant tant que lon peut spcier soit mme le nom de la personne lorigine du courrier !!! exemple :

ensisun~> whoami dupond ensisun~> telnet ensibull 25 Trying 192.33.174.35 ... Connected to ensibull. Escape character is ^]. 220 ensibull.imag.fr Sendmail 5.61/5.17 ready at Sat, 26 Jun 93 10:19:47 GMT help 214-Commands: 214- HELO MAIL RCPT DATA RSET 214- NOOP QUIT HELP VRFY EXPN 214-For more info use "HELP <topic>". 214-To report bugs in the implementation contact eric@Berkeley.ARPA 214-or eric@UCB-ARPA.ARPA. 214-For local information contact postmaster at this site. 214 End of HELP info MAIL FROM : le_grand_duduche 250 le_grand_duduche... Sender ok RCPT TO: dupond@ensisun 250 dupond@ensisun... Recipient ok DATA 354 Enter mail, end with "." on a line by itself

42 / 69

Administration rseau.

III : Applications

Salut, ma poule, tu sais quta dbosieux ? . 250 Ok quit 221 ensibull.imag.fr closing connection Connection closed by foreign host.

...
ensisun~> mail Mail version SMI 4.0 Wed Oct 23 10:38:28 PDT 1991 Type ? for help. "/usr/spool/mail/dupond": 1 messages 1 new 1 unread N 1 le_grand_duduche@ensibull.imag.fr Sat Jun 26 10:23 13/465 & 1 Message 1: From le_grand_duduche@ensibull.imag.fr Sat Jun 26 10:23:45 1993 Received: from ensibull.imag.fr by ensisun.imag.fr (4.1/5.17) id AA13434; Sat, 26 Jun 93 10:23:45 +0200 Received: from ensisun by ensibull.imag.fr (5.61/5.17) id AA19417; Sat, 26 Jun 93 10:20:41 GMT Date: Sat, 26 Jun 93 10:20:41 GMT From: le_grand_duduche@ensibull.imag.fr Message-Id: <9306261020.AA19417@ensibull.imag.fr> Apparently-To: dupond@ensisun Status: R Salut, ma poule, tu sais quta dbosieux ? & x

Si cette technique permet sur des systmes qui ne sont pas trs stricts sur le plan de la scurit1, de faire quelle bonne farces, nous vous conseillons de ne pas en abuser car vous pourriez en arriver a vous mer sans arrt, et a ne plus savoir distinguer le vrai du faux ... (sans parler des ennuis que vous pourriez vous attirer si lon prend vos faux courriers au srieu !).

III-4

NIS : Network Information Service


Le NIS est une base de donnes contenant des informations sur le rseau, elle assure une distribution de linformation tout en gardant lavantage de la simplicit de mise jour des information dun systme centralis. Les informations aux quelles NIS permet daccder, sont groupes dans des sortes de tables distribues sur le rseau (appeles NIS maps), mais leur contenu est en fait tir de quelques chiers Unix centraliss (dont certains ont dj t dcrits dans ce document) : Tableau 9 : Fichiers Unix et NIS maps

Fichier
/etc/ethers /etc/hosts

maps
ethers.byaddr ethers.byname hosts.byaddr hosts.byname

description
Donne les adresses ethernet partir des adresses IP (utilis par RARP) Donne les conversions d adresses IP de machine: numrique <--> par nom

1. Ce nest pas la peine dessayer de faire un faux courrier de bill-clinton@whitehouse.gov : leur dmon sendmail est un peu plus scuris, et refusera de passer le courrier ...

43 / 69

Administration rseau.

III : Applications

Tableau 9 : Fichiers Unix et NIS maps

Fichier
/etc/networks /etc/netmasks /etc/protocols /etc/services /etc/aliases /etc/netgroup

maps
networks.byaddr networks.byname netmasks.byaddr protocols.byaddr protocols.byname services.byname mail.byaddr mail.aliases netgroup.byuser netgroup.byhost

description
Donne les conversions d adresses IP de rseaux : numrique <--> par nom Donne les subnet-masks des rseaux du domaine Nom de protocole <--> port/protocole Services TCP/IP Dnit des alias pour joindre des personnes ou des groupes de personnes par mail. Dnit des groupes dutilisateur et des groupes de machines.

III-4.1 Mise en place de NIS


NIS besoin de connatre le nom du domaine pour maintenir sa base de donnes car elle rside dans un sous rpertoire de /var/yp dont le nom drive du nom du domaine : si le nom du domaine est cheops.imag.fr le rpertoire de la base NIS est /var/yp/cheops.imag.fr . Il faut donc lui indiquer ce nom de domaine au dmarrage ce qui est fait par la commande domainname dans un des chiers de boot. NIS peut tre utilis comme alternative DNS pour un rseau ferm non connect Internet, mais pour tout ceux qui utilisent Internet il faut DNS, cependant NIS apporte des informations qui ne sont pas accessibles par DNS de sorte quil est courant dutiliser les deux1. Pour ce faire il est ncessaire de faire une petite modication au chier /var/yp/Makele : il faut enlever le caractre # qui est au dbut de la ligne B=-b et en mettre un devant B=. Pour lancer le serveur et reconstruire les NIS maps il faut dabord excuter ypinit -m, dmarrer le serveur par ypserv, et enn, dmarrer le dmon de transfert des maps par ypxfrd 2 sur la machine serveur principal. Quand aux machines clientes, elles se contentent de lancer ypbind.

III-4.2 Le chier /etc/netgroup


Le chier /etc/netgroup est un chier qui nest utilis que par NIS et qui dnit des groupes de machines ou dutilisateur. Sa syntaxe est la suivante : nom_du_groupe membre [membre] . . . o membre est soit le nom dun autre groupe soit la dnition dune entit suivant le format : (nom_de_machine, nom_dutilisateur, nom_de_domaine) o le nom de domaine est optionnel. Ce qui donne par exemple : admin (ensisun, dupond, ) (ensibull, durand, )

1. Il est recommand si lon utilise la fois NIS et DNS de leur spcier le mme nom de domaine. 2. Retirez le # devant ypxfrd dans votre rc.local pour que le dmon dmarre automatiquement au boot.

44 / 69

Administration rseau.

III : Applications

staff (ensisun, smith, ) admin On peut alors utiliser ces nom de groupes partout o des noms de machine ou des noms dutilisateur sont requis, en particulier, dans les .rhosts ou le /etc/hosts.equiv il suft de prcder le nom de groupe dun caractre @ pour que le systme le comprennent comme un nom de groupe et en extrait les noms dutilisateur ou les noms de machine suivant ce qui est requis Vous avez pu noter que le nom de domaine t omis dans les exemples, cest en gnral le cas, car on sort rarement du domaine dans ce genre de chier. Une autre pratique courante est de sparer les groupe de personnes et les groupes de machine pour simplier ladministration; ce qui donne par exemple : admin (-, dupond, ) (-, durand, ) staff (-, smith, ) admin enseignement (ensisun, -, ) (ensibull, -, ) machines enseignement (imag, -, )

III-5

NFS : Network File System


NFS pour but de faire partager plusieurs machines leurs systmes de mmoires de masse. Cest une application transparente pour lutilisateur, on peut trs bien travailler sans tre au courant de lexistence de ce systme cependant je pense quil est intressant de savoir de quoi il retourne pour la culture personnel. Les avantages dNFS sont : Une rduction notable des besoin en espace disques : comme on peut avoir des stations de travail sans disques qui travail sur les chiers dune autre machine => on peut faire en sorte que tout les chier (en particulier tout le systme, les applications) sont en un seul exemplaire. Permet aux utilisateurs davoir le mme environnement,et dacceder aux mmes chiers quelle que soit le poste sur le quelle ils travaillent. Simplie les tche dadministration en centralisant les chiers qui restent pourtant accessible sur tout le rseau. NFS est bas sur un systme client / serveur, le client utilise les chiers du serveur comme sils faisaient partie des disques locaux. Lorsque que lon sattache une arborescence dun disque dune autre machine, on dit que lon monte un rpertoire (to mount a directory en anglais). Alors que rendre accessible une arborescence aux autres machines se dit exporter un rpertoire.

III-5.1 Les dmons NFS : mise en place dNFS


Les dmons ncessaires faire tourner NFS sont lancs dans les scripts de dmarrage des machines clientes et des machines serveurs :

45 / 69

Administration rseau.

III : Applications

nfsd [nservers] biod [nservers] rpc.lockd rpc.statd rpc.mountd

Le dmon des serveurs NFS (le paramtre prcise le nombre de dmon dmarrer, en gnral on met 8). Le dmon des clients NFS (nservers la mme signication). Le dmon de verrouillage de chiers tourne sur les clients comme sur les serveurs. Le dmon de contrle dtat, indispensable rpc.lockd (en particulier pour rcuprer dun crash). Le dmon de mount (tourne du cot serveur) sont rle est de grer les demandes de mount des clients.

Ce qui donne par exemple les portions de scripts1 :

# dmarrage dun client NFS if [ -f /usr/etc/biod -a -f /usr/etc/rpc.statd -a -f /usr/etc//rpc.lockd ]; then biod 8 ; echo -n biod rpc.statd & echo -n statd rpc.lockd & echo -n lockd# fi # dmarrage dun serveur NFS if [ -f /etc/exports ] ; then > /etc/xtab exportfs -a nfsd 8 & echo -n nfsd rpc.mountd fi

On notera que dans ces scripts, on a test lexistences des chiers ncessaire avant de dmarrer les dmons.

III-5.2 Cot serveur ...


Le chier /etc/exports contient les informations dcrivant les rpertoires exporter, que la commande exportfs -a utilise pour gnrer les informations ncessaires mountd dans le chier /etc/ xtab . La syntaxe de ce chier est : rpertoire [-option][,option]... o option prcise les droits daccs2. Les options de bases sont (pour plus dinformations faire man exports) : ro "Read Only" tout client NFS peut lire mais aucun na le droit dcrire dans le rpertoire. "Read Write" si un (ou plusieurs) nom de machine est prcis3, seul les machines spcies ont un accs en lecture / criture les autres ont 1. Ces programmes ne sont pas forcment dans /usr/etc/, et ne sont pas forcment prxs par rpc. ... consultez donc la documentation de vtre systme pour les dtails ... 2. Par dfaut, tout client est autoris monter les rpertoires pour des accs en lecture et en criture ! 3. Dans ce chier on peut utiliser des noms de groupe de machines (voir /etc/netgroup)

rw [=machine][:machine]...

46 / 69

Administration rseau.

III : Applications

un accs en lecture. Si aucun nom de machine nest spci, tout client NFS a accs en lecture / criture. access=machine[:machine] Prcise quelles sont les machines ayant droit de monter le rpertoire (on utilise en gnral cette option en conjonction avec loption ro) Exemple :
/usr /users /users.nfs /users.ext /usr/local /var/spool/mail /var/spool/pcnfs /export/exec/kvm/sun4c.sunos.4.1.2 /export/root/ensisun1 -access=ensisun1,root=ensisun1 /export/swap/ensisun1 -access=ensisun1,root=ensisun1 /export/root/ensisun2 -access=ensisun2,root=ensisun2 /export/swap/ensisun2 -access=ensisun2,root=ensisun2 /export/root/ensisun3 -access=ensisun3,root=ensisun3 /export/swap/ensisun3 -access=ensisun3,root=ensisun3 /export/root/ensisun4 -access=ensisun4,root=ensisun4 /export/swap/ensisun4 -access=ensisun4,root=ensisun4

III-5.3 Cot client ...


Pour monter un rpertoire export par un serveur NFS il suft (sous root) de faire un mount nom_de_serveur_NFS:nom_de_rpertoire nom_de_rpertoire_locale Par exemple :
# mkdir nfsusers # mount ensisun:/users nfsusers

Cependant, si lon veut que ces rpertoires soient monts chaque boot, il faut crer un chier /etc/fstab qui sera utilis par la commande mount -vat nfs dans un script de dmarrage pour remettre en place tous les rpertoires requis. Pour crer ce /etc/fstab, le plus simple est de monter les rpertoires la main en saidant ventuellement de la commande showmount -e nom_de_serveur qui permet de lister les rpertoires exports par un serveur NFS; puis, de gnrer le chier par la commande :
# mount -p > /etc/fstab

Ce qui donne par exemple :


ensuntx:/export/root/ensisun2 / ensuntx:/export/exec/sun4.sunos.4.1.2 /usr ensuntx:/export/exec/kvm/sun4c.sunos.4.1.2/usr/kvm nfs rw 0 0 nfs ro 0 0 nfs ro 0 0

47 / 69

Administration rseau.

III : Applications

ensuntx:/users ensuntx:/users.ext ensuntx:/var/spool/mail ensuntx:/export/share/sunos.4.1.2 ensuntx:/usr/local

/users /users.ext /var/spool/mail /usr/share /usr/local

nfs nfs nfs nfs nfs

rw rw rw rw rw

0 0 0 0 0

0 0 0 0 0

III-6

Mise en place dun serveur FTP anonyme


La mise en place dun serveur FTP anonyme en 5 tapes : 1 - Ajouter lutilisateur ftp au /etc/passwd. 2 - Crer un rpertoire racine du compte ftp, et en interdire laccs en criture. 3 - Y crer un sous rpertoire bin appartenant au root; placer-y une copie de la commande ls, dont vous ne laisserez que le droit dexcution, et enn, enlevez le droit dcriture au rpertoire bin. 4 - Crer un sous rpertoire etc appartenant au root, y placer un chier passwd et un chier group spcial, ne laisser que le droit de lecture pour ces deux chiers, et enn, interdire lcriture dans le rpertoire. 5 - Crer pour nir un sous rpertoire pub appartenant ftp avec tout les droits daccs (mode 777). Cest dans ce dernier rpertoire que les anonymes pourront dposer / prendre des chiers. Voyons en dtail un exemple de mise en pratique :

# mkdir /usr/ftp # cd /usr/ftp # mkdir bin # mkdir etc # mkdir pub # cp /bin/ls bin # chmod 111 bin/ls # cat > etc/group # attention : etc et non /etc ! anonymous:*:15: ^D # cat > etc/passwd ftp:*:15:15:acces au ftp anonyme:/usr/ftp: ^D # chmod 444 etc/group etc/passwd # cat etc/group >> /etc/group # attention : >> et non > ! # cat etc/passwd >> /etc/passwd # chown ftp pub # chmod 777 pub # chmod 555 bin etc # cd .. # chown ftp ftp # chmod 555 ftp

Cest tout pour tout ceux qui utilisent un systme diffrents du SunOS 4.x !

48 / 69

Administration rseau.

III : Applications

En effet, du fait de son fonctionnement, o les par librairies sont charges dynamiquement, SunOS 4.x a besoin de quelques composants supplmentaires : "le multiloader", les librairies C partages, et le chier dev/zero. Ce qui ce fait par exemple par :

# # # # # # # # # # # #

cd /usr/ftp mkdir usr mkdir usr/lib cp /usr/lib/ld.so usr/lib cp /usr/lib/libc.so.* usr/lib chmod 555 usr/lib/libc.so.* usr/lib usr cd /usr/ftp mkdir dev cd dev mknod zero c 3 12 cd .. chmod 555 dev

Maintenant, vous navez plus qu mettre en place les chiers que vous voulez rendre accessible par FTP anonyme dans le rpertoire /usr/ftp/pub (si vous voulez viter que vos chiers ne disparaissent, assurez vous quils nappartiennent pas ftp et que leurs droits daccs sont xs 644). Enn, il faut tre conscient quun serveur FTP reprsente quand mme un risque potentiel pour la scurit, de sorte quil est recommander de limiter le nombre de machine offrant un tel service dans un mme rseau, et de surtout de bien vrier que linstallation est correcte.

49 / 69

Administration rseau.

IV : Troubleshooting et scurit

IV

Troubleshooting et scurit

La mission de ladministrateur rseau peut tre divise en trois tches biens distinctes : la conguration du rseau, la rsolution des problmes de fonctionnement (Troubleshooting) et la scurit. Si la premire tche ncessite des connaissances dtailles des scripts dinstallation et de conguration, la rsolution des disfonctionnements du rseau est confronte a des situations imprvues. La scurit du rseau est a mi-chemin entre les deux premires tches, la scurit dun site se prvoit lors de linstallation des diffrents systmes sur le rseau et se porsuit par une surveillance et une information rgulires des utilisateurs. IV-1 Troubleshooting
Cette partie prsente les mthodes et les outils disponibles pour la rsolution des problmes du rseau. Toutefois ceci ncessite davoir une vision claire du fonctionnement du rseau, ceci a t vu dans les premiers chapitres. Nous allons tout dabord prsenter une approche mthodologique.

IV-1.1 Analyse du problme


Les problmes rencontrs avec TCP/IP sont trs varis et ncessitent souvent des mthodes assez diffrentes les unes des autres mais lanalyse conduisant la comprhension du problme est assez systmatique. La difcult principale est de pouvoir visualiser ltat du rseau et des protocoles travers de nombreuses couches logicielles. Les tests doivent permettre de savoir : si le problme est localis un utilisateur, une machine, une application si il concerne un groupe dutilisateurs, plusieurs machines ou plusieurs applications si il concerne une ou plusieurs machines distantes Toutefois la qualit de lanalyse dpend fortement de lexprience de ladministrateur. voici quelques lments qui peuvent vous clairer dans votre dmarche. un test doit tre poursuivit tant que vous estimez quil peut vous apporter de nouvelles informations mme si elles ne vous semblent pas directement lies au problme. tablir un compte rendu de vos tests avec les conclusions obtenues au terme de chacun. ne vous concentrez pas sur des hypothses trop htives, les messages derreurs contiennent beaucoup de dtails utiles. dupliquez le problme sur dautres machines. noubliez pas dinformer les utilisateurs et les autres administrateurs. vriez les connexions.

IV-1.2 Les programmes utiles


Analyser le problme en dtail donne parfois une solution vidente. Mais dans des cas plus compliqus il est ncessaire de recourir a des outils de diagnostique. Regardons ici les commandes que UNIX fournit et quelques programmes disponibles par ftp anonyme.

50 / 69

ifcong : est utilis pour attribuer les adresses a un rseau et pour congurer les parametres de linterface avec le rseau. Utilise sans options cette commande dlivre la conguration courante de linterface du rseau dsign. Les paramtres utiles observer sont les subnet mask, et les adresses IP. arp : cette commande dlivre les correspondances entre rseaux internets, utilise sans options elle donne ltat courant des tables de la machine donne. netstat : donne de nombreuses informations sur les interfaces, les sockets et les tables de routage. ping : cette commande lance un programme qui utilise le protocol ICMP, utilise sans options elle permet de savoir si une machine distante est accessible, avec loption -v (rserve aux administrateurs) la commande afche les packets ICMP quelle voit passer sur le rseau. nslookup : lance des requtes aux Internet domain name server pour avoir la liste des machines (hosts) connues sur le rseau. (Un programme similaire est disponoble sur le rseau : dig.) ripquery : afche le contenu des packets RIP diffrs qui ont t envoys une machine distante. traceroute : afche les diffrents rseaux traverss par les paquets entre deux machines distantes. ethernd : est un analyseur du protocol TCP/IP il permet dobserver le contenu des paquets ( les enttes et les donns).

IV-1.3 Tester la prsence sur le rseau


Ping est la commande qui permet de vrier que la machine est accessible partir de votre machine. Ceci permet de dterminer si on doit orienter la recherche vers le rseau lui-mme ou bien vers les couches suprieures. Si ping renvoie une rponse positive, les paquets peuvent traverser le rseau dans les deux sens et le problme doit se situer dans les couches suprieures. Si, par contre les paquets natteignent pas la machine distante, les couches basses du protocole de communication peuvent tre en cause. La commande Ping peut tre excute partir dautres comptes ou dautres machines. Si Ping choue uniquement partir de lutilisateur en question, vous pouvez orienter votre analyse sur la conguration du systme utilisateur. Si Ping ne fonctionne partir daucun sites, alors les messages derreur peuvent vous aider. Unknown host : la convertion des noms en adresses ne fonctionne pas correctement. Essayez alors deffectuer la commande ping avec ladresse IP de la machine distante concerne, si Ping latteint de cette manire cest que le name service sur votre machine ou sur lautre est dfectueux, poursuivez avec "Nslookup" ou "Dig" pour tester les serveur de noms local et distant. Network unreachable : ceci signie que le protocol na pas de route tablie pour atteindre la machine dsigne, vriez la table de routage et rinstalle la. Si la route statique par dfaut a t utilise alors rinstallez la. Si tout semble correcte alors vriez les tables de routage du gateway par dfaut spci sur votre machine. No answer : la route pour atteindre le systme distant existe mais la machine ne rpond pas. Les raisons peuvent tre multiples cela. La machine distante est peut tre mal congure ou des gateways entre les deux machines nont pas des tables de routage correctes ou encore il y a un problme de connexion. Cette situation vous impose de contacter ladministrateur du rseau o est connecte la machine distante.

Administration rseau.

IV : Troubleshooting et scurit

Quelques dtails propos de Ping Ping host[packetsize][count] host : est le nom de la machine distante. packetsize : est la taille des paquets ICMP que Ping envoie pour avoir un echo de la machine distante, par dfaut, ping envoie des paquets de 64 bytes. count : est le nombre de paquets envoys par la Ping la machine distante. loption -s permet dafcher les paquets echo retourns par la machine contacte :
~> /usr/etc/ping -s princeton.edu 56 5 PING princeton.edu: 56 data bytes 64 bytes from Princeton.EDU (128.112.128.1): 64 bytes from Princeton.EDU (128.112.128.1): 64 bytes from Princeton.EDU (128.112.128.1): 64 bytes from Princeton.EDU (128.112.128.1): 64 bytes from Princeton.EDU (128.112.128.1):

icmp_seq=0. icmp_seq=1. icmp_seq=2. icmp_seq=3. icmp_seq=4.

time=150. time=260. time=155. time=608. time=149.

ms ms ms ms ms

----Princeton.EDU PING Statistics---5 packets transmitted, 5 packets received, 0% packet loss round-trip (ms) min/avg/max = 149/264/608 ~>

Si le pourcentage de paquets perdus est lev et le temps de rponse est bas ou que les paquets arrivent dans le dsordre alors il pourrait y avoir un problme matriel sur le mdium. Il ny a pas dinquitude avoir car TCP/IP est conu pour rsoudre les erreurs. Mais si ces problmes concernent un rseau local alors il faut faire un contrle du mdium, en effet sur un rseau local le temps de parcours doit tre presque nul et il ne devrait pas y avoir de paquets perdus.

IV-1.4 Tester laccs au rseau


Les messages no answer et cannot connect permettent de conclure que le problme vient des couches basses du protocol TCP/IP. Trois commandes UNIX permettent de tester la couche daccs au rseau. Ifcong : sans options cette commande permet de vrier la conguration et les paramtres de dune interface rseau dune machine. Avec loption -a, elle renvoie les congurations de toutes les interfaces dun systme.
~> /etc/ifconfig le0 le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 129.88.32.1 netmask ffffff00 broadcast 129.88.32.255

En spciant une interface on obtient deux lignes, la premire contient le nom et les caractristiques, la deuxime donne ladresse IP, le "subnet mask" et ladresse de diffusion.
~> /etc/ifconfig -a le0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING> inet 129.88.32.1 netmask ffffff00 broadcast 129.88.32.255 le1: flags=40<RUNNING> zss0: flags=10<POINTOPOINT>

52 / 69

Administration rseau.

IV : Troubleshooting et scurit

zss1: flags=51<UP,POINTOPOINT,RUNNING> xpkt0: flags=51<UP,POINTOPOINT,RUNNING> ip0: flags=0<> std0: flags=0<> osixpkt0: flags=0<> hdlc0: flags=51<UP,POINTOPOINT,RUNNING> snit_xpkt0: flags=41<UP,RUNNING> lo0: flags=49<UP,LOOPBACK,RUNNING> inet 127.0.0.1 netmask ff000000

Arp : cette commande est utile pour analyser les problmes dus la traduction des adresses IP. Trois options sont utiles, -a donne toutes les entres, -d efface une entre de la table, -s ajoute une entre dans la table. Les deux dernires options sont rserves au root. Arp est utiliser lorsquune mauvaise machine rpond. Ce genre danomalies sont des lorsque deux machines ont la mme adresse IP.
~> /usr/etc/arp -a floyd (129.88.32.32) at 8:0:20:a:e5:d7 celsius-251 (129.88.32.64) at 0:0:a7:0:7b:9b esperanza-1 (129.88.32.65) at 0:0:a7:10:9f:62 farenheit-451 (129.88.32.33) at 0:0:a7:11:90:5 media (129.88.32.17) at 8:0:20:b:f9:2c esperanza-3 (129.88.32.66) at 0:0:a7:10:a0:b1 alexandrie (129.88.32.34) at 0:0:a7:11:8f:e2 cap-ferret (129.88.32.18) at 0:0 ...

Les trois premiers octets de ladresse physique indique la marque des machines, par exemple 8:0:20 correspond un SUN. Les rfrences sont rpertories dans Assigned Numbers RFC. Netstat : suivant les options utilises, netstat permet de de visualiser trois types dinformations, la premire dlivre les sockets valides utiliss par les diffrents protocoles, la seconde est une des nombreuses structures de donnes du rseau, la troisime sont des statistiques sur la transmission de paquets.
~> netstat -i Name Mtu Net/Dest Address Ipkts le0 1500 imag-batb imag 8864760 lo0 1536 loopback localhost 765048 ~>

Ierrs Opkts Oerrs Collis 6 8418838 2 258930 0 765048 0 0

Queue 0 0

Loption -i permet de visualiser linterface avec le rseau et les statistiques sur les paquets transmis. Si il y a des paquets dans la rubrique queue cest que linterface est changer. Si les erreurs Ierrs et Oerrs ne sont pas proches de zro, cela signie que le rseau local est satur. Les collisions sont a prendre en compte en rapport avec le nombre de paquets transmis et recus (ipkts+opkts) si ce pourcentage est lev sur toute les machines de votre rseau local cest quun sous-rseau serait le bien venu.
~> netstat -nr Routing tables Destination Gateway Flags Refcnt Use Interface 127.0.0.1 127.0.0.1 UH 17 188811 lo0 129.88.56.0 129.88.32.156 UG 2 7866 le0 default 129.88.32.254 UG 40 579209 le0 129.88.120.0 129.88.32.254 UG 0 15984 le0 129.88.40.0 129.88.32.29 UG 2 42546 le0

53 / 69

Administration rseau.

IV : Troubleshooting et scurit

129.88.32.0 129.88.32.1 U 376 2182362 le0 129.88.33.0 129.88.32.254 UG 10 59322 le0 129.88.41.0 129.88.32.55 UG 3 37240 le0 129.88.34.0 129.88.32.254 UG 2 45202 le0 129.88.2.0 129.88.32.254 UG 0 10028 le0 129.88.42.0 129.88.32.19 UG 4 72445 le0 129.88.59.0 129.88.32.159 UG 2 34573 le0 129.88.51.0 129.88.32.151 UG 2 14318 le0 129.88.100.0 129.88.32.254 UG 7 252082 le0 152.77.0.0 129.88.32.254 UG 2 15459 le0 192.33.174.0 129.88.32.254 UG 12 64083 le0 130.190.0.0 129.88.32.254 UG 5 70716 le0 129.88.38.0 129.88.32.254 UG 29 3773129 le0 129.88.110.0 129.88.32.254 UG 0 9767 le0 192.33.175.0 129.88.32.254 UG 6 23663 le0 129.88.31.0 129.88.32.254 UG 1 3411 le0 129.88.39.0 129.88.32.254 UG 16 124978 le0 129.88.111.0 129.88.32.254 UG 0 60 le0

Loption -r permet de lire les tables de routage. On peut lire la destination, le gateway quil faut emprunter pour atteindre le rseau dsign dans le premier champ.

IV-1.5 Tester les mises jour


Le dmon de routage en service sur toute machine en principe est en attente des informations de mise jour envoyes par les autres machines du rseau local. Les paquets de message de mise jour sont des RIP. Pour consulter ces messages, on utilise la commande "ripquery".
~> /local/etc/ripquery aramis-campus 444 bytes from aramis-campus(129.88.32.254): imag-geta(129.88.120.0), metric 3 rfmq-domain(129.88.111.0), metric 3 imag-rfmq(129.88.110.0), metric 3 net-bullimag0(129.88.100.0), metric 3 imag-igei(129.88.31.0), metric 1 imag-cicg(129.88.2.0), metric 1 ...

Ce sont les routes qui sont valides au moment ou la commande a t excute. Si elles diffrent de celles contenues dans la conguration des tables de routage.

IV-1.6 Tester les routes ouvertes par une connexion


La commande "traceroute" dcrit la route emprunte par les UDP pour aller dune machine une autre. Traceroute fonctionne en envoyant des paquets UDP avec une dure de vie incrmente de un a chaque fois jusqu ce que la machine distante soit atteinte. Pour chaque paquet la machine recevant le paquet dont la dure de vie est nulle retourne le temps quil a mis pour latteindre et son adresse la machine mettrice

54 / 69

Administration rseau.

IV : Troubleshooting et scurit

~> /local/etc/traceroute sumex-aim.stanford.edu traceroute to sumex-aim.stanford.edu (36.44.0.6), 30 hops max, 40 byte packets 1 aramis-campus (129.88.32.254) 3 ms 4 ms 3 ms 2 aramis-ensl (192.42.102.5) 18 ms 23 ms 18 ms 3 * * * 4 * * * 5 * * * 6 * * * 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * t3-0.New-York-cnss32.t3.ans.net (140.222.32.1) 131 ms 18 t3-1.Cleveland-cnss40.t3.ans.net (140.222.40.2) 153 ms 165 ms 136 ms 19 * t3-2.Chicago-cnss24.t3.ans.net (140.222.24.3) 169 ms 204 ms 20 t3-1.San-Francisco-cnss8.t3.ans.net (140.222.8.2) 189 ms 204 ms 199 ms 21 t3-0.San-Francisco-cnss9.t3.ans.net (140.222.9.1) 210 ms 231 ms 206 ms 22 t3-0.enss128.t3.ans.net (140.222.128.1) 206 ms 187 ms 213 ms 23 SU-CM.BARRNET.NET (192.31.48.200) 226 ms 187 ms 194 ms 24 s101-gateway.Stanford.EDU (36.56.0.41) 222 ms 190 ms 227 ms 25 SUMEX-AIM.Stanford.EDU (36.44.0.6) 257 ms 189 ms 190 ms ~>

Lorsque les 30 paquets se voient retourner des astrisques cest que les tables de routages ne sont pas bien congures. Il sagit alors de contacter les responsables de la dernire machine qui a rpondu pour rviser la conguration de leur routeur.

IV-1.7 Tester le serveur de nom


Les commandes "nslookup" et "dig" servent consulter ltat de la table du serveur de nom. Ce dernier est en cause lorsque le message "unknown host" est retourn lors dune tentative de connexion. Cette commande est trs utile lorsque ladministrateur veut vrier que la machine distante est bien congure.
~> nslookup Default Server: imag.imag.fr Address: 129.88.32.1 > set type=NS > princeton.edu Server: imag.imag.fr Address: 129.88.32.1 Non-authoritative answer: princeton.edu nameserver = PRINCETON.EDU princeton.edu nameserver = NS.CWRU.EDU princeton.edu nameserver = NISC.JVNC.NET

55 / 69

Administration rseau.

IV : Troubleshooting et scurit

Authoritative answers can be found from: PRINCETON.EDU nameserver = PRINCETON.EDU PRINCETON.EDU nameserver = NS.CWRU.EDU PRINCETON.EDU nameserver = NISC.JVNC.NET PRINCETON.EDU internet address = 128.112.128.1 NS.CWRU.EDU internet address = 129.22.4.1 NISC.JVNC.NET internet address = 128.121.50.7 > server PRINCETON.EDU Default Server: PRINCETON.EDU Address: 128.112.128.1 > set type=ANY > ls Server: PRINCETON.EDU Address: 128.112.128.1 ls.imag.fr preference = 10, mail exchanger = imag.imag.fr ls.imag.fr preference = 50, mail exchanger = babbage.imag.fr ls.imag.fr preference = 80, mail exchanger = brahma.imag.fr ls.imag.fr preference = 100, mail exchanger = sophia.inria.fr imag.imag.fr internet address = 129.88.32.1 babbage.imag.fr internet address = 129.88.31.3 babbage.imag.fr internet address = 192.33.172.34 brahma.imag.fr internet address = 129.88.32.41 sophia.inria.fr internet address = 138.96.32.20 Nslookup fonctionne selon plusieurs modes, ci-dessus on a vu lutilisation de deux dentre-elles. Le changement de mode se fait en affectant la varible type les valeurs suivantes : NS : pour obtenir les enrgistrements correspondants aux Servuers de Noms. ANY : pour obtenir tous les enrgistrements propos dune machine. SOA : pour obtenir les enrgistrements propos des domaine de start of authority. HINFO : pour obtenir les informations propos dune machine prcise. MINFO : pour obtenir les informations propos des mail list. UINFO : pour obtenir les informations propos des utilisateurs. MX : pour afficher les enrgistrements propos des changes de mail. ...

Les autres modes sont dtaills dans le RFC-1035. Par rapport nslookup, dig a lavantage de pouvoir tre utilis pour convertir les adresses IP en noms et inversement en spciant loption -x.

IV-1.8 Les problmes de protocols


TCP/IP pause souvant des problmes dans sa conguration et les outils prsents jusqu maintenant sufsent pour trouver une solution. Plus rarement, le protocol lui-mme peut tre en cause, pour cela, il est ncessaire danalyser les paquets transmis dune machine lautre. Dans un environnement UNIX, les analyseurs de protocoles les plus utiliss sont tcpdump (UNIX BSD) et ethernd (Sun-OS). Les analyseurs de protocoles proposent de ltrer les paquets spcis par lutilisateur. Le principe est de permettre aux paquets de remonter jusqu la plus haute couche du protocole pour quune application puisse visualiser le contenu des paquets (entte et donnes).

56 / 69

Administration rseau.

IV : Troubleshooting et scurit

Les primitives sont : dst destination ------------------ to destination host src source ------------------------ from source host host host ------------------------- to or from host between host1 host2 ----------- to or from host1 and host2 dstnet destination --------------- to destination network srcnet source -------------------- to source network dstport destination -------------- to destination port srcport source ------------------- to source port proto protocol ------------------- of protocol type (icmp, udp, tcp) Chaque primitive est un ltre que lon peut combiner pour obtenir des ltres plus sophistiqus.

IV-1.9 Conclusion
La rsolution des problmes de rseau ncessitent des connaissances de base sur le fonctionnement du protocol TCP/IP et plus gnralement du modle OSI. On a vu que les erreurs sont souvent localises dans les chiers de conguration des applications, des tables de routage, des serveurs de noms. Il peut arriver que le protocol lui mme soit en cause, et dans ce cas des outils spciques tels que Tcpdump ou Ethernd permettent de visualiser en dtail les paquets transmis entre deux machines.

IV-2

Scurit
It was not designed from the start to be secure. It was designed with the necessary characteristics to make security serviceable. Dennis Ritchie. Les rseaux sont bass sur le principe de lautoroute, tout le monde y a accs et cest chacun de se protger. Pour que tout soit clair, ladministrateur doit prvoir une politique de scurit prcisant les droits daccs, les services rseau disponibles, les prcautions prendre, les procdures suivre lorsquune faille a t dcele dans la protection du rseau et des mthodes de restauration de donnes. Le rle de ladministrateur consiste aussi en la diffusion des information relatives au rseau par les "mailing lists". Des informations intressantes sont diffuses rgulirement par le CERT et la DDN. Via les mails list "CERT advisories" et "DDN security bulletin". La protection des donnes et des applications dpend de leur niveau de condentialit. La protection la plus sr est lisolation physique du rseau. Toutefois les versions successives dUNIX ont proposes des solutions aux problmes daccs et aux menaces logicielles.

IV-2.1 Passwords
Les mots de passes sont la base de la scurit dune machine. Il est donc important de se prserver contre les mauvaises mes qui cherchent ouvrir les portes du systme. Des indices importants sur les utilisateurs sont accessibles par la commande nger, il est donc vivement recommand de suivre des prcautions lmentaires.

57 / 69

Administration rseau.

IV : Troubleshooting et scurit

Tout compte doit comporter un password mis part quelques uns qui sont alors trs restrcifs dans leur utilisation. Un mot de passe ne doit tre en aucun cas inspir des informations disponibles par la commande vue prcdement. Un mot de passe ne doit pas tre tir dun dictionnaire surtout de la langue anglaise. Choisir une phrase de huit mot ou plus (Unix ne crypt que huit lettres du mot de passe mais il est possible den taper plus). Insrer des caractres spciaux et des majuscules. Des outils existent comme "npasswd" ou "passwd+" qui permettent de vrier la validit dun mot de passe. Npasswd : ce programme permet lutilisateur de choisir son mot de passe mais il doit respecter certains critres tests par le programme. Il limine les rptitions de caractres, les caractres impropres, les mots en minuscules, les mots en majuscules, tous les mots se rapportant aux informations comtenues dans les chiers lus par "nger" et les mots appartenant un dictionnaire. "Passwd+" propose un jeu de tests plus important et peut tre congur par un langage assez complet. Les mots de passe doivent tre changs rgulirement, Une procdure de surveillance des mots de passe est tablir. En voici une : copier le chier /etc/passwd sur une bande, 30 jours plus tard, comparer le chier courant avec celui sauv, avertir les utilisateurs quils doivent changer leur mot de passe dans les trente jours, vrier 21 jours aprs, prvoir un deuxime avertissement, au terme de la priode des 60 jours, faire une dernire vrication et supprimer les comptes rebelles. (L utilisateur pourra toujours retrouver son compte sur une bande de backup.) Cette mthode limine rapidement les comptes dormants, les plus compromettants pour la scurit dune machine.

IV-2.2 UID, GID

Les comptes usuels


Les utilisateurs ont accs la machine si ils ont un numros de 16 bit qui les identie dans le noyau. Ce numro est le User Identication (UID). La correspondance entre nom, le mot de passe et le UID est prcise dans le chier /etc/passwd.
denis:iORT/teYQQlko:15033:10510:Jean-Christophe Denis,,,:/h/isis/ensimag/ students/denis:/bin/tcsh

15033 est le numro dutilisateur et 10510 est le numro de groupe. Il se peut que deux utilisateurs peuvent avoir le mme numro didentifcation, dans ce cas le noyau les voit comme la mme personne. Ceci peut poser des problmes si un intrus veut se faire passer pour quelquun. Les UID ont des valeurs rserves, les entiers entre 0 et 9 identient des fonctions systme, les utilisateurs sont identis par des valeurs suprieures 20. Les utilisateurs sont regroups, chaque groupe est identi par un numro : le Group Identication (GID). Lintrt de grouper les utilisateurs est de leur donner les mmes droits sur un certain

58 / 69

Administration rseau.

IV : Troubleshooting et scurit

nombre de chiers. Ils peuvent ainsi travailler en commun sur ceux-ci sans se soucier des droits daccs. La correspondance entre le numro de GID, le mot de passe du groupe et les utilisateurs appartenant ce groupe est prcise dans le chier /etc/group.
install:*:63:cassagne,eudes,laforgue,richier,jean,nicollin,lenne,martinet, santana,challier,delaunay,rouverol

Des comptes spciaux


Le compte superuser, appel aussi root, permet laccs tous les chiers. Ce compte est celui partir duquel ladministrateur congure et contrle le systme et le rseau. Un group est rserv aux personnes ayant accs ce compte, il a pour GID 0 et porte souvent le nom de "wheel". On peut comprendre que ce compte soit la premire cible des intrus qui essaient daccder ce privilge.
wheel:*:0:cassagne,waille,laforgue,richier,root,eudes,martinet,challier,de launay,jean

Le compte UUCP, est un compte li un programme que nous dtaillerons plus tard du point de vue de la scurit. Chaque dmon est un utilisateur particulier, il possde un UID. Les dmons sont des programmes lancs au moment du boot, ils sont souvent des serveurs. La commande su est celle qui permet de devenir super-user. Elle demande une validation de mot de passe. UNIX system V nadmet quun mot de passe pour devenir superuser, ceci oblige donc une circulation dun mot de passe sensible ce qui peut compromettre la scurit du rseau. UNIX BSD propose chaque root de devenir superuser en utilisant son propre mot de passe. SU rend compte de toute tentative de login errone dans le chier /usr/adm/messages ce qui permet ladministrateur dtre averti de toute tentative dintrusion. La protection passe par une surveillance, les administrateurs doivent scruter les chiers cls et les chiers relevant les erreurs comme celui vu prcdement, ou les chiers o toutes le actions ont t enregistres comme /etc/wtmp.

Le problme des comptes publiques

On comprend lutilit des comptes de dmonstration ou les comptes usage publique. Toutefois ceux-ci reprsentent une brche dans la scurit dun systme. Une solution consiste imposer une conguration restrictive. Un interperteur shell restrictif permet de rduire le nombre de commandes accessibles par ces comptes et une sortie automatique du shell lors de tentatives illicites. Le chier .prole de ce compte permet de le congurer en prcisant les terminaux qui permettent de dutiliser ce compte, le shell restrictif, linterdiction des ports. Cette solution est toutefois fragile car un utilisateur dj logg sous un autre compte pourra y accder avec un shell normal.

59 / 69

Administration rseau.

IV : Troubleshooting et scurit

IV-2.3 Les chiers


Pour avoir une vue correcte de la vulnrabilit des chiers, il est important de rappeler comment un chier est reprsente dans le systme UNIX. Un chier est stock sur disque avec un certain nombres dinformations gres par UNIX : lemplacement sur le disque, le type, le taille, ctime, mtime, atime, owner, group. La commande ls permet daccder ces informations.
-rwx------ 1 denis 245 Apr 2 14:26 .xsession~ drwxr-xr-x 6 denis 512 Nov 13 1992 ALGO d c b l s = r w x s : : : : : : : : : : : plain file directory device (printer tty,...) lock device (disk, tape,...) link (BSD) socket (BSD) FIFO (Sys V) read write execute set mode

Chmod et Umask sont des commandes UNIX permettant de spcier ou de modier le mode des chiers. Umask est la commande qui prcise le mode par dfaut lors de la cration dun chier ou dun rpertoire. Ceci est spci dans le chier .login ou .prole ou .cshrc. On soulignera que cette commande sexcute comme cd sous le shell courant. Umask fait un & avec le masque o tous les bits sont un.

SUID et SGID
Lintrt dUNIX est que tout a une reprsentation de chier. On a pu remarquer que certain chiers peuvent tre excutables et donc provoquer la naissance dun process ls du shell qui a ouvert le chier excutable. On peut donc imaginer que des commandes (donc des chiers excutables) aient plus de privilges que les utilisateurs normaux, ils sont SUID ou SGID. Cest le cas de "passwd" qui a le droit de modier le le chier /etc/passwd. Tout chier peut devenir SUID ou SGID. Ces chiers sont reprsents par le masque du type : -rwsr-s-r-t. La dernire lettre signie que le chier est "sticky", aprs sont excution, il ne sera pas enlev de la zone mmoire qui lui est affect ce qui permet dy accder trs rapidement. Les premires versions dUNIX permettaient de faire une copie du shell avec le privilge SUID au nom du root, cette brche a t rapidement colmate et on ne peut plus faire de copie SUID de shell si lon est pas dj root. Il est donc important pour ladministrateur de connatre tous les chiers SUID prsents.
#find /-perm -002000 -o -perm -004000 -type f -print

Lors du montage des chiers distants, il est aussi important quaucun chier ne soit excutables SUID ou SGID en BSD, la commande est :
#mount -o -nosuid imag:/athena /usr/athena.

60 / 69

Administration rseau.

IV : Troubleshooting et scurit

IV-2.4 Applications

UUCP et UUX
Ce programme est le premier utilitaire qui fut disponible sous UNIX pour que des machines distantes puissent communiquer. UUCP est Unix to Unix copy et UUX est Unix to Unix eXecute.
uucp /file imag!/file

Pour la copie dun chier sur une machine distante


uucp ensisun!/file imag!/file

Pour la copie de chier entre deux machines distantes.


Soulignons que en Cshell ! est une commande permettant de rappeler la dernire commande excute, il faut donc prciser le caractre par \!. Uux permet dexcuter une commande sur une machine distante en lui prcisant le chier quelle doit prendre en entre. uux -system!commande<inputle Les ordres et ladresse du chier dentre sont tout dabord stocks dans un Spooler en attendant dtre effectivement executs sur la machine. Le programme uucico (Unix to Unix Copy in copy out) est charg de relever le login du uucp et de le comparer celui du compte uucp de la machine distante qui se trouve dans /etc/passwd. Le chier excutable uucp est SUID uucp (nom de lutilisateur particulier) ceci limite laccs au compte uucp et aux chiers world writable ou world readable. Dans la version 2, il existe des chiers de conguration, on en retiendra trois : USERFILE, l.cmds et l.sys. L.sys : contient les coordonnes des machines et des personnes qui peuvent accder au service uucp dune machine distante. L.cmds : contient le PATH local au compte uucp ce qui permet de limiter les excutables accessibles, suivit des applications qui peuvent avoir accs aux services de uucp, on inclut souvent rmail, rnews, lpr, who, nger ... USERFILE : spcie les rpertoires qui peuvent tre ouverts par uucp, si la machine distante doit rappeler son identit et quels chiers peuvent tre transfrs. Prcautions : ces chiers sont a protger pour que personne puisse les lire part le root. Le compte uucp doit contenir le moins de rpertoires possibles, il faut donner un login par machine distante et limiter les commandes utilisables.

61 / 69

Administration rseau.

IV : Troubleshooting et scurit

Les commandes rx
Unix permet aux utilisateurs dexcuter des commandes sur des machines distantes lorsque les chiers hosts.equiv et .rhosts contiennent les coordonnes des machines et des utilisateurs de conance. Dans ce cas, les utilisateurs de conance nont pas besoin de prciser un mot de passe. /etc/hosts.equiv doit contenir le nom des machines ou des groupes de machines qui peuvent accder aux services rx sur la machine. .rhosts est un chier qui se trouve dans la racine de chaque compte qui contient les comptes qui peuvent entrer sans mot de passe. Le cas particulier de rexec est quelle demande le mot de passe pour quune commande soit excute localement et elle renvoie le rsultat du test. Ceci peut tre une indication de base pour un programme recherchant un mot de passe. Il est donc vivement conseill de supprimer rexec du chier /etc/inetd.conf.

Finger
Cette commande renvoie des informations stockes dans des chiers rservs lutilisateur. Ces informations telles que le nom, ladresse, le numro de tlphone, ... Ces indications peuvent tre trs utiles pour un programme de dcriptage de mots de passe. Dans des cas sensibles, il est conseill de dsactiver ngerd, le serveur rpondant la demande nger.

Simple Mail Transfert Protocol


Les applications permettant de transfrer du courier lectronique sont nombreuses. Sendmail est la plus rpendue. Elle fait rfrence un chier dalias : /usr/lib/aliases. Dans sa conguration par dfaut, sendmail peut drouler des commandes ou ouvrir des shells chez le destinataire sans prciser le mot de passe. Trois commandes sont dangereuses: debug, wiz et kill, il faut donc vrier quelles ne sont pas valides par une session Telnet sur localhost smtp. si ces commandes sont valides alors il faut changer de version de sendmail. Vrier que des alias decode faisant rfrence uudecode ne sont pas dans le chier aliases. Quelques lignes de /usr/lib/aliases :
Francois.Borderies:borderie@isis Borderies:borderie@isis Jean-Christophe.Denis:denis@isis Denis:denis@isis

Vrier que quil ny a pas de mot de passe pour un ventuel magicien dans le chier sendmail.cf :
# let the wizarddo what he wants OWstir68ods

est a remplacer par :


#do not let the wizard do anything OW*

62 / 69

Administration rseau.

IV : Troubleshooting et scurit

NFS
Le systme de gestion montage darborescences de chiers travers le rseau conu par SUN se rfre un chier de conguration /etc/export Chaque systme peut prciser les machines auxquelles il permets de parcourir son arborescence. Il est donc conseill de ne donner ces droits qu des machines de conance. Dautre part, il est aussi important de se protger contre les chiers excutables SUID ou SGID qui pourraient sy trouver.

Les terminaux
Les terminaux sont souvent nombreux autour dune machine. les chiers /etc/ttys ou /etc/tttab contiennent la liste des crans en prcisant si le root peut se logger directement. En supprimant "secure" de toutes les lignes, ladministrateur devra donc se logger dabord sous son nom avant de passer root par la commande su.

Des logiciels de trop


Les applications systat, tftp, link sont dsactiver en les supprimant du chier /etc/inetd.conf. Les commandes rx peuvent propager la brche dans tout le rseau local. Si le niveau de condentialit est lev, alors il est conseill de dsactiver ces services.

IV-2.5 Les protections

Umask, une protection par dfaut


Les chiers privs par dfaut sont un moyen de se prserver contre les intrusions. On a vu la commande umask qui permet de prciser la protection par dfaut des chiers et des rpertoires crs.

Le cryptage
Le cryptage est une solution la condentialit des donnes. Deux programmes de cryptage sont disponibles avec le systme UNIX : "des" et "crypt". "Des" est un un programme propre UNIX dont lalgorithme a t conu dans les annes 70. "Crypt" est un programme dont lalgotithme est celui de la machine Enigma, il nest donc pas trs able car le mcanisme de dcryptage est connu de tous.

Les rewalls
Face ces nombreuses menaces, il peut sembler ncessaire disoler les rseaux locaux du rseau internationnal. Une solution efcace est la machine "rewalls". Cest une machine qui est place la place dun routeur IP qui spare deux rseaux ou le rseau local de Internet. On distingue donc les rewalls internes et les rewalls externes. La machine rewall a la fonction de serveur de noms et

63 / 69

Administration rseau.

IV : Troubleshooting et scurit

rassemble les services Internet (Telnet, ftp, mail,...) pour tout le rseau quelle protge. Ceci ncessite de crer des comptes ddis ces services, ces comptes sont accessibles par un certain nombre de personnes du rseau. Dans le cas de secteur trs sensibles, cest une possibilit de trier les personnes de conances qui peuvent accder ces services qui ont tout lintrt dInternet.

Le crontrle de routage
Les rewalls ont lavantage dtre trs srs, mais le dsavantage pour des secteurs moins sensibles la question de la scurit de limiter considrablement laccs au rseau Internet. Une solution logicielle consiste en lutilisation dun avantage du protocol IP. Un site peut tre isol de tout le rseau en ne dsignant dans sa table de routage quun seul site de sortie. Donc aucun autre site que celui dsign ne connatra le rseau ainsi protg. Toute fois ceci ncessite que toutes les machines du site soient congures de la mme manire.

Le contrle daccs
Limiter la table de routage est une solution mais elle ne convient pas une utilisation rgulire du rseau. Cest pourquoi le contrle daccs peut tre une bonne alternative. Le contrledaccs consiste en un chier qui est consult par les machines et les routeurs, laccs est accord uniquement lorsque le mot de passe est bon. Le daemon TCPD permet de faire ce contrle chaque demande daccs un server (ftp, rlogin, Telnet,...) Il suft de spcier le path de chaque daemon comme tant celui de TCPD dans le chier /etc/inetd.conf.

IV-2.6 Conclusion
La scurit rseau rejoind dans de nombreux cas la scurit du systme. On rappellera que la scurit rseau tient tout dabord ltablissement dune politique et se poursuit par une surveillance rgulire des chiers de conguration.

64 / 69

Administration rseau.

V : Bibliographie

V
[1]

Bibliographie
TCP/IP Network administration Graig HUNT (OReilly). TCP/IP Architecture, Protocoles, Applications Douglas COMER (Inter-ditions). Practical Unix Security Simson GARFINKEL & Gene SPAFFORD (OReilly). Conseil de Scurit sur lAdministration de Machines Unix sur un Rseau TCP/IP Jean-Luc ARCHIMBAUD (ftp anonyme sur ftp.urec.fr).

[2]

[3]

[4]

65 / 69

Administration rseau.

V : Bibliographie

Table des matires


I Protocole TCP/IP
I-1 Introduction TCP/IP ................................................................................ 2
I-1.1 I-1.2 I-1.3 I-1.4 I-1.5 I-1.6 I-1.7 Un peu dhistoire ....................................................................................................... 2 Spcifits dutilisation ............................................................................................... 2 Architecture ............................................................................................................... 3 La couche Physique ................................................................................................... 4 La couche IP (Internet Protocol) ............................................................................... 4 La couche transport ................................................................................................... 6 La couche Application ............................................................................................... 7

I-2 Le transfert de donnes .............................................................................. 8


I-2.1 I-2.2 I-2.3 I-2.4 I-2.5 Ladressage IP ........................................................................................................... 8 Les sous-rseaux ........................................................................................................ 9 La table de routage .................................................................................................... 9 La rsolution dadresse ............................................................................................ 11 Protocoles et Ports ................................................................................................... 12

I-3 Le serveur de noms .................................................................................. 14


I-3.1 I-3.2 I-3.3 I-3.4 Noms et adresses ..................................................................................................... 14 La Host Table .......................................................................................................... 14 Domain Name Service ............................................................................................. 15 Network Information Service .................................................................................. 15

II

Configuration
II-1 Dmarrage ................................................................................................ 16
II-1.1 II-1.2 II-1.3 II-1.4 II-1.5 II-1.6 II-1.7 Obtention dune adresse .......................................................................................... 16 Obtention dun nom de domaine ............................................................................. 17 Choix dun nom de machine .................................................................................... 17 Planning du routage ................................................................................................. 17 Dfinition dun masque de sous-rseau ................................................................... 18 Spcification de ladresse de diffusion .................................................................... 18 Feuilles de planning ................................................................................................. 18

II-2 Configuration de linterface ..................................................................... 19


II-2.1 II-2.2 II-2.3 II-2.4 La commande ifconfig ............................................................................................. 19 Vrification de linterface avec ifconfig .................................................................. 20 Autres options de ifconfig ....................................................................................... 21 TCP/IP sur une ligne srie ....................................................................................... 22

II-3 Configuration du routage ......................................................................... 23


II-3.1 Les diffrentes configurations de routage ............................................................... 23

66 / 69

Administration rseau.

V : Bibliographie

II-3.2 II-3.3 II-3.4

La table de routage minimale .................................................................................. 24 Construction dune table de routage statique .......................................................... 25 Les diffrents protocoles de routage ........................................................................ 26

II-4 Configuration du DNS ............................................................................. 28


II-4.1 II-4.2 II-4.3 II-4.4 BIND ....................................................................................................................... 28 Configuration du resolver ........................................................................................ 29 Configuration de named .......................................................................................... 30 Utilisation de nslookup ............................................................................................ 34

III Applications
III-1 La famille des commandes r .................................................................. 36
III-1.1 III-1.2 Le fichier /etc/hosts.equiv ....................................................................................... 37 Les fichiers .rhosts ................................................................................................... 37

III-2 Applications de base : telnet, ftp .............................................................. 38 III-3 Le mail : courrier lectronique ................................................................. 40
III-3.1 III-3.2 III-3.3 III-3.4 Sendmail le dmon SMTP ....................................................................................... 40 Sendmail le pourvoyeur dalias ............................................................................... 41 Sendmail le centre de tri .......................................................................................... 42 Au rayon farces et attrapes : sendmail ..................................................................... 42

III-4 NIS : Network Information Service ......................................................... 43


III-4.1 III-4.2 Mise en place de NIS ............................................................................................... 44 Le fichier /etc/netgroup ........................................................................................... 44

III-5 NFS : Network File System ..................................................................... 45


III-5.1 III-5.2 III-5.3 Les dmons NFS : mise en place dNFS ................................................................. 45 Cot serveur ... ......................................................................................................... 46 Cot client ... ............................................................................................................ 47

III-6 Mise en place dun serveur FTP anonyme ............................................... 48

IV Troubleshooting et scurit
IV-1 Troubleshooting ....................................................................................... 50
IV-1.1 IV-1.2 IV-1.3 IV-1.4 IV-1.5 IV-1.6 Analyse du problme ............................................................................................... 50 Les programmes utiles ............................................................................................. 50 Tester la prsence sur le rseau ............................................................................... 51 Tester laccs au rseau ........................................................................................... 52 Tester les mises jour ............................................................................................. 54 Tester les routes ouvertes par une connexion .......................................................... 54

67 / 69

Administration rseau.

V : Bibliographie

IV-1.7 IV-1.8 IV-1.9

Tester le serveur de nom .......................................................................................... 55 Les problmes de protocols ..................................................................................... 56 Conclusion ............................................................................................................... 57

IV-2 Scurit .................................................................................................... 57


IV-2.1 IV-2.2 IV-2.3 IV-2.4 IV-2.5 IV-2.6 Passwords ................................................................................................................ 57 UID, GID ................................................................................................................. 58 Les fichiers .............................................................................................................. 60 Applications ............................................................................................................. 61 Les protections ......................................................................................................... 63 Conclusion ............................................................................................................... 64

Bibliographie

68 / 69

You might also like