Académique Documents
Professionnel Documents
Culture Documents
Administration Réseau
Administration Réseau
Marc Baudoin
1
Introduction
administration rseau, de mme que ladministration systme dailleurs, est
une discipline qui ne senseigne pas. Ceci peut paratre paradoxal puisque ce
document est le support dun cours dadministration rseau, justement. Relativisons
les choses, si ladministration rseau ne senseigne pas, en revanche, elle sapprend et
le but de ce cours est de donner aux lves un minimum dlments leur permettant
par la suite dorienter leur apprentissage dans la bonne direction.
Pourquoi ladministration rseau ne senseigne-t-elle donc pas ? Tout dabord,
parce cest un domaine bien trop vaste et qui volue trop rapidement pour que
quiconque puisse le dominer de la tte et des paules. De plus, le nombre de
matriels et de logiciels est trop important pour quon puisse en faire une tude
srieuse. De toute faon, chaque entreprise a fait ses choix dans ce domaine et les
jeunes ingnieurs auront gnralement sy plier.
Ce cours ne se veut donc pas exhaustif. En particulier, nous naborderons pas du
tout la configuration des quipements actifs (routeurs, commutateurs, etc.). Celle-ci
ncessiterait un cours entier elle seule et obligerait faire un choix partial pour tel
ou tel constructeur.
En revanche, dans ce cours, nous essaierons de dgager des principes gnraux
sur la bonne faon dadministrer un rseau. Le champ dapplication tant plutt
tendu, nous nous limiterons quelques technologies fondamentales, applicables
aux rseaux IP sur Ethernet :
les rseaux virtuels (VLAN), sans lesquels on ne peut construire de nos jours un
rseau moderne et souple ;
Simple Network Management Protocol (SNMP), le protocole dadministration
rseau par excellence, que nous tudierons en dtail et dont nous discuterons
les avantages et les inconvnients ;
les annuaires, en particulier le Domain Name System (DNS), Dynamic Host
Configuration Protocol (DHCP) et Lightweight Directory Access Protocol
(LDAP) ;
la messagerie, avec ltude des logiciels sendmail et Postfix.
Par ailleurs, le langage de programmation Perl, outil indispensable tout administrateur rseau, sera rapidement voqu, son tude pouvant reprsenter elle
seule lobjet dun cours entier.
3
Chapitre 1. Introduction
Mais, tout dabord, il convient de poser les bases sans lesquelles tout travail
srieux est impossible.
2
Les fondements
Nous allons tudier dans ce chapitre quelques principes fondamentaux que tout
administrateur rseau doit constamment avoir lesprit.
2.1
2.2
Le matriel
2.2.1
Cest bien connu, les fournisseurs sont l pour vous faire acheter leurs matriels.
Ils sont en revanche beaucoup plus discrets lorsquil sagit de rsoudre les problmes
que leur utilisation pourrait entraner. Le souci le plus commun survient lors de
la mise jour des logiciels (en particulier les systmes dexploitation des matriels
actifs) vers une version plus rcente. Certains constructeurs poussent mme le vice
jusqu sortir des versions mineures de leurs logiciels chaque semaine. Dans ces
conditions, il est bien videmment impossible deffectuer des mises jour aussi
frquemment.
La dmarche la plus sage consiste bloquer son parc sur une version particulire
des logiciels, dont on aura constat la stabilit, et de ne les mettre jour que
pour de bonnes raisons (cela peut tre la disponibilit de nouvelles fonctionnalits,
lamlioration des performances, la correction dun problme de scurit, etc.).
2.2.2
La maintenance
Les quipements tombent en panne un jour ou lautre, cest dans lordre des
choses.
En consquence, tous les matriels doivent disposer dune maintenance permettant de faire remplacer les pices dfectueuses. Il existe diffrents dlais de
remplacement, plus ou moins rapides, et cest chacun de dfinir ce qui convient
le mieux son rseau, en fonction de ses contraintes de fonctionnement et de ses
moyens financiers, les dlais de remplacement les plus courts tant videmment les
plus coteux.
Une option intressante, pour les parcs dune taille suffisante et suffisamment
homognes, est de disposer dun quipement supplmentaire de chaque type et de
souscrire la maintenance la plus lente possible lorsque ceci est rentable. Il est trs
improbable davoir deux pannes en mme temps donc, en cas de dfaillance, cest
lquipement supplmentaire (ou lun de ses composants) qui remplacera dans un
dlai trs court lquipement dfaillant. Celui-ci sera alors remplac au titre de la
maintenance par un quipement qui deviendra le nouvel quipement de secours.
2.2.3
Il existe des entreprises spcialises dans la vente et lachat dquipement informatique doccasion, dont le matriel rseau. Lors de la rforme danciens appareils,
1.
http://www.nagios.org/
2.3
2.4
2.5
adresse_IP
2.6. Perl
elle permet de suivre les incidents plus facilement). Pour cela, le serveur DHCP a
besoin dun fichier de configuration contenant un certain nombre dinformations
dont, pour chaque machine, son adresse Ethernet et son adresse IP ou son nom
(dans ce cas, le serveur DHCP utilise le DNS pour faire la conversion). En tendant
le format du fichier unique utilis pour le DNS quelque chose du genre :
nom_de_machine
adresse_IP
adresse_Ethernet
on peut continuer utiliser ce fichier pour le DNS (il suffit dignorer le dernier
champ) et galement pour gnrer le fichier de configuration du serveur DHCP
laide dun deuxime programme maison.
Jarrterai cet exemple ici, mais on peut encore ltendre la configuration des
commutateurs.
2.6
Perl
Nous venons de voir que ladministrateur rseau fut est celui qui se simplifie la
vie en mettant au point de petits programmes lui permettant de gnrer des fichiers
de configuration complexes partir de fichiers beaucoup plus simples. Ceci peut,
bien entendu, tre ralis au moyen de nimporte quel langage de programmation
mais lun deux se rvle particulirement adapt ce type de travail, il sagit de Perl.
Perl, galement trs utilis en administration systme, est incontournable ds
quil est question danalyser et de gnrer des fichiers au format texte parce que les
outils le permettant sont intelligemment inclus dans le langage lui-mme. Sorte de
mlange de nombreux autres langages, reprenant chacun ce quil sait bien faire,
Perl dispose de plus dune immense bibliothque de modules permettant de raliser
trs simplement peu prs tout ce quoi lon peut penser.
Ici nest malheureusement pas la place pour un cours dtaill sur Perl. Une
prsentation trs rapide est fournie dans le cours B1-3.
3
Les rseaux virtuels (VLAN)
3.1
Historique
bien que tout signal lectrique mis par lun deux tait reu par tous les autres.
Lensemble des machines ainsi relies entre elles sappellait un domaine de collision
(puisque ces machines partageaient le mme mdium physique).
Dans le cas de grands rseaux locaux, il tait impossible davoir un seul domaine
de collision (pour des raisons dloignement gographique, de longueur de cbles,
de temps de propagation ou cause du nombre trop important dordinateurs) et il
fallait donc concevoir des domaines de collision de taille raisonnable, relis entre eux
par des routeurs. Des ponts Ethernet nauraient pas suffi car ils augmentent le temps
de propagation des signaux lectriques, do la ncessit de remonter en couche 3.
Chacun de ces domaines de collision tait galement appel segment Ethernet.
chaque segment Ethernet correspondait donc un sous-rseau IP. Au bout
du compte, on aboutissait un dcoupage logique calqu trs exactement sur le
dcoupage physique du rseau. Cela imposait une proximit gographique des
machines si lon voulait quelles appartiennent au mme segment Ethernet, ce qui
nest pas ncessairement pratique. Par ailleurs, ceci limitait grandement la mobilit
des ordinateurs.
Aprs larrive des premiers commutateurs, de nouvelles possibilits sont apparues. Compte tenu de llectronique interne des commutateurs, plus complexe que
celles des rpteurs, il devenait possible de disposer de plusieurs segments Ethernet
au sein dun mme commutateurs (ce qui tait dailleurs dj possible moindre
chelle dans les rpteurs segmentables). Mais, en ajoutant quelques en-ttes supplmentaires aux trames Ethernet, il devenait possible dtendre la taille de ces
segments Ethernet lensemble dun rseau de commutateurs interconnects. Les
rseaux virtuels (virtual LAN, VLAN) taient ns.
3.2
Principe
3.3
3.4
En pratique
http://www.ieee802.org/
http://standards.ieee.org/getieee802/download/802.1Q-1998.pdf
12
3.4. En pratique
Mais il faut avant tout dterminer comment dcouper son rseau et selon quels
critres. Il ny a videmment pas de rgle gnrale mais lusage le plus rpandu est
de calquer lorganisation du rseau sur lorganisation administrative de lentreprise.
13
4
Simple Network Management Protocol (SNMP)
NMP permet ladministrateur rseau, depuis un poste de contrle central,
et de logiciels.
SNMP est un paradoxe dans le monde de ladministration rseau. Conu comme
un protocole cens unifier et simplifier la gestion des matriels et des logiciels (ce
qui est un but absolument louable), il na pas encore russi simposer auprs des
administrateurs pour des raisons parfaitement valables :
SNMP nest pas si simple que a (lisez donc les spcifications des diffrentes
versions de ce protocole pour en avoir le cur net) ;
sa mise en uvre (autrement que pour de petits besoins ponctuels) ncessite
des investissements gigantesques en logiciels dadministration ;
sa scurit laisse dsirer (cest un comble pour un protocole ddi ladministration) bien que la situation se soit bien amliore avec SNMPv3.
En fait, lutilisation systmatique de SNMP est difficile justifier lorsquon nadministre pas un gigantesque rseau compos de matriels et de logiciels htrognes
et quon na pas quelques centaines de milliers deuros y consacrer.
Cependant, dans certains cas, SNMP peut tout de mme savrer fort utile si
lon sait lutiliser bon escient.
Ce chapitre ne se veut pas exhaustif, le lecteur dsirant approfondir son tude
de SNMP pourra se reporter aux URL suivantes :
http://www.snmplink.org/
http://www.faqs.org/faqs/by-newsgroup/comp/comp.protocols.snmp.html
4.1
Historique
4.2
Scurit
4.3
Principes
4.3.1
Les agents
4.3.2
Les MIB
Les paramtres pouvant tre examins ou modifis par lagent sont dfinis
dans une MIB (Management Information Base), qui est un document dcrivant ces
diffrents paramtres, leur type (nombre entier, chane de caractres...), sils sont
modifiables ou non (dans labsolu, indpendamment des droits daccs), etc.
La MIB la plus utilise est certainement la MIB-II, dcrite dans le RFC 1213, qui
dfinit un ensemble cohrents de paramtres communs tous les quiments. Cest
cette MIB que nous tudierons par la suite.
Chaque lment dune MIB est dfini par un nom et un numro (comme dhabitude, on retrouve cette dualit, les noms tant plus faciles manipuler pour nous,
pauvres humains, et les nombres plus faciles manipuler par les ordinateurs). Ainsi,
dans la MIB-II, lobjet sysContact, indiquant le nom de la personne responsable
dun quipement, est dfini ainsi :
sysContact OBJECT-TYPE
SYNTAX
ACCESS
read-write
STATUS
mandatory
DESCRIPTION
"The textual identification of the contact person
for this managed node, together with information
on how to contact this person."
::= { system 4 }
16
4.3. Principes
indique le type de lobjet selon la syntaxe ASN.1 (Abstract Syntax Notation
One).
SYNTAX
ACCESS
indique si lobjet doit obligatoirement tre prsent dans toute implmentation de la MIB ou pas. Les valeurs suivantes sont possibles :
mandatory
optional
obsolete
STATUS
DESCRIPTION
En pratique, cet objet est dun type discret (ce nest pas un tableau et il ne
contient donc quune valeur) donc on lui ajoute un .0 final, ce qui donne comme
nom absolu :
17
.iso.org.dod.internet.mgmt.mib-2.system.sysContact.0
.1.3.6.1.2.1.1.4.0
Les objets pouvant contenir plusieurs valeurs se voient ajouter leur nom un .1
pour la premire valeur, .2 pour la deuxime et ainsi de suite.
Somme toute, SNMP est simple !
4.3.3
Les oprations
Sans rentrer dans le dtail du protocole et des formats de paquets, il est nanmoins intressant de savoir un minimum comment fonctionne le dialogue entre un
agent SNMP et un logiciel dadministration.
Il existe grosso modo quatre types de messages :
Get permet de rcuprer un objet bien prcis.
Get next renvoie lobjet suivant (dans lordre lexicographique) celui pass en paramtre. Ceci est particulirement utile pour passer en revue toute une MIB.
Set permet de modifier la valeur dun objet.
Trap permet un agent denvoyer un signal au logiciel dadministration et ce de
son propre chef. Les trois types de messages prcdents taient envoys par le
logiciel dadministration lagent, celui-ci fonctionne en sens inverse. Il est
trs utile pour effectuer une surveillance passive du rseau, les quipements se
plaignant si ncessaire.
4.3.4
Les communauts
Dans SNMPv2, le contrle daccs est fait en fournissant dans chaque message
un mot de passe appel communaut. Il existe gnralement deux communauts,
lune utilise pour les accs en lecture (cest par dfaut la chane de caractres public),
lautre utilise pour les accs en criture (cest par dfaut la chane de caractres
private). Il est videmment essentiel de modifier ces valeurs et de les tenir secrtes.
4.4
net-snmp
4.4. net-snmp
4.4.1
4.4.2
Compilation
4.4.3
Installation
Ceci installe :
un ensemble de programmes dans /usr/local/bin ;
des bibliothques dans /usr/local/lib afin de pouvoir communiquer par
SNMP depuis des programmes en C ;
les fichiers den-tte correspondants dans /usr/local/include/ucd-snmp ;
divers fichiers dans /usr/local/share/snmp (fichiers de configuration, MIB) ;
des pages de manuel dans /usr/local/man.
4.4.4
Configuration
syslocation
syscontact
rocommunity
public
rwcommunity
private
19
4.4.5
/var/log/snmpd.log
-d pour journaliser galement le contenu des datagrammes (cette option est rarement utilise, sauf dans des buts pdagogiques) ;
-A pour journaliser la suite du fichier existant et ne pas en craser lancien
contenu ;
-L pour journaliser lcran plutt que dans un fichier (utile uniquement pendant
la mise au point du fichier de configuration) ;
-f pour que lagent ne se mette pas en arrire-plan (utile uniquement pendant la
mise au point du fichier de configuration).
En pratique, lagent se lance ainsi dans une configuration de production :
# /usr/local/sbin/snmpd -V -A
# /usr/local/sbin/snmpd -V -L -f
4.4.6
4.4.6.1
Loutil snmpwalk permet de parcourir une MIB (la MIB-II par dfaut) au moyen
de lopration get next. Il suffit de lui indiquer le nom de la machine et la communaut permettant dy accder en lecture :
20
4.5. MRTG
4.4.6.2
Loutil snmpget permet de rcuprer la valeur dun objet bien prcis (par dfaut
dans la MIB-II) :
% snmpget -v 2c -c public localhost sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: Sraphin Lampion <seraphin@lampion.org>
4.4.6.3
Loutil snmpset permet de modifier la valeur dun objet bien prcis (par dfaut
dans la MIB-II) :
% snmpset -v 2c -c private localhost system.sysContact.0 s toto
SNMPv2-MIB::sysContact.0 = STRING: toto
4.5
MRTG
Voici un cas pratique, trs simple et nanmoins fort utile dutilisation de SNMP.
MRTG est un logiciel permettant dinterroger divers types dappareils (routeurs,
commutateurs, ordinateurs) et de reprsenter sous forme graphique le trafic rseau
sur chacune de leurs interfaces. Vous pouvez en voir quelques exemples lURL
suivante :
http://netadm.pasteur.fr/mrtg/
4.5.1
21
4.5.2
Compilation
4.5.3
Installation
Ceci installe :
divers programmes dans /usr/local/mrtg-2/bin ;
de la documentation dans /usr/local/mrtg-2/doc ;
des fichiers additionnels dans /usr/local/mrtg-2/lib ;
des pages de manuel dans /usr/local/mrtg-2/man.
MRTG fonctionne galement fort bien sans quil y ait besoin de linstaller.
4.5.4
Configuration
MRTG se configure au moyen dun fichier qui peut tre gnr automatiquement
grce au programme cfgmaker fourni avec MRTG :
% cfgmaker public@quipement > mrtg.cfg
22
4.5. MRTG
Le paramtre WorkDir indique le chemin daccs du rpertoire dans lequel
MRTG va gnrer ses fichiers HTML et ses images.
Le paramtre Language demande MRTG de parler franais.
Le paramtre RunAsDaemon indique MRTG quil va fonctionner en tche de
fond (plutt que dtre lanc par cron).
Les deux valeurs du paramtre Options demandent MRTG respectivement
dafficher un axe des abscisses orient de gauche droite (il fait linverse par
dfaut) et dindiquer des valeurs de trafic en bits par seconde (il compte en
octets par seconde par dfaut).
4.5.5
Lancement
23
5
Les annuaires
n dsigne sous le terme gnrique annuaire tout service permettant dobtenir
O des informations partir dune base, centrale ou rpartie (de mme que
5.1
5.1.1
Un peu dhistoire
Dans les temps anciens, lpoque o lInternet ntait compos que dune
poigne de machines sur des sites qui se comptaient sur les doigts des deux mains, on
disposait dj dun systme permettant dassocier des noms aux adresses IP. Il tait
25
guinness
147.250.14.2
blanche
videmment, lajout dune nouvelle machine impliquait la recopie du nouveau fichier sur toutes les autres et ce systme a trs vite montr ses limites, do
linvention du DNS.
5.1.2
Principes de fonctionnement
Le DNS est une base de donnes rpartie. Par rapport au systme prcdent, on
ne dispose plus dun fichier unique de correspondances entre adresses IP et noms
mais de plusieurs et chaque site maintient les informations correspondant ses
machines et les met la disposition du reste de lInternet par un protocole appropri.
Pour savoir quel serveur interroger, le systme de nommage a t hirarchis. cet
effet, lInternet a t dcoup en domaines. Un domaine correspond un ensemble
de machines dpendant administrativement de la mme entit.
5.1.2.1
Le systme de nommage
Les serveurs
La rsolution de nom
5.1.3
Le DNS est gnralement interrog de manire transparente par divers programme mais il est galement possible de linterroger explicitement, pour tester un
serveur ou par simple curiosit. Les principaux programmes permettant ceci sont
dig, nslookup et host. Plus spartiate, dig est nanmoins plus prcis et les puristes le
prfrent aux autres, principalement parce quil renvoie des rsultats dans un format
directement exploitable par un serveur de noms.
Lanc sans argument, dig affiche la liste des serveurs de noms de la racine :
28
% dig
; <<>> DiG 9.1.3 <<>>
;; global options:
printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 641
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
;; QUESTION SECTION:
;.
IN
NS
;; ANSWER SECTION:
.
253982
IN
NS
I.ROOT-SERVERS.NET.
253982
IN
NS
J.ROOT-SERVERS.NET.
253982
IN
NS
K.ROOT-SERVERS.NET.
253982
IN
NS
L.ROOT-SERVERS.NET.
253982
IN
NS
M.ROOT-SERVERS.NET.
253982
IN
NS
A.ROOT-SERVERS.NET.
253982
IN
NS
B.ROOT-SERVERS.NET.
253982
IN
NS
C.ROOT-SERVERS.NET.
253982
IN
NS
D.ROOT-SERVERS.NET.
253982
IN
NS
E.ROOT-SERVERS.NET.
253982
IN
NS
F.ROOT-SERVERS.NET.
253982
IN
NS
G.ROOT-SERVERS.NET.
253982
IN
NS
H.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.
474182
IN
192.36.148.17
J.ROOT-SERVERS.NET.
474182
IN
192.58.128.30
K.ROOT-SERVERS.NET.
474182
IN
193.0.14.129
L.ROOT-SERVERS.NET.
474182
IN
198.32.64.12
M.ROOT-SERVERS.NET.
474182
IN
202.12.27.33
A.ROOT-SERVERS.NET.
474182
IN
198.41.0.4
B.ROOT-SERVERS.NET.
474182
IN
128.9.0.107
C.ROOT-SERVERS.NET.
474182
IN
192.33.4.12
D.ROOT-SERVERS.NET.
474182
IN
128.8.10.90
E.ROOT-SERVERS.NET.
474182
IN
192.203.230.10
F.ROOT-SERVERS.NET.
474182
IN
192.5.5.241
G.ROOT-SERVERS.NET.
474182
IN
192.112.36.4
H.ROOT-SERVERS.NET.
474182
IN
128.63.2.53
;; ADDITIONAL SECTION:
5 17:19:53 2003
rcvd: 436
ensta.ensta.fr
% dig a ensta.ensta.fr.
; <<>> DiG 9.1.3 <<>> a ensta.ensta.fr.
;; global options:
printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45952
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;ensta.ensta.fr.
IN
;; ANSWER SECTION:
ensta.ensta.fr.
259200
IN
147.250.1.1
ensta.fr.
259200
IN
NS
ensta.ensta.fr.
ensta.fr.
259200
IN
NS
nis1.ensta.fr.
ensta.fr.
259200
IN
NS
nis2.ensta.fr.
ensta.ensta.fr.
259200
IN
147.250.1.1
nis1.ensta.fr.
259200
IN
147.250.1.21
nis2.ensta.fr.
259200
IN
147.250.1.22
;; AUTHORITY SECTION:
;; ADDITIONAL SECTION:
5 17:17:31 2003
rcvd: 148
SECTION.
% dig -x 147.250.1.1
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45845
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;1.1.250.147.in-addr.arpa.
IN
PTR
;; ANSWER SECTION:
1.1.250.147.in-addr.arpa. 259200 IN
PTR
ensta.ensta.fr.
;; AUTHORITY SECTION:
250.147.in-addr.arpa.
259200
IN
NS
ensta.ensta.fr.
250.147.in-addr.arpa.
259200
IN
NS
nis1.ensta.fr.
250.147.in-addr.arpa.
259200
IN
NS
nis2.ensta.fr.
ensta.ensta.fr.
259200
IN
147.250.1.1
nis1.ensta.fr.
259200
IN
147.250.1.21
nis2.ensta.fr.
259200
IN
147.250.1.22
;; ADDITIONAL SECTION:
5.1.4
5 17:18:22 2003
rcvd: 170
BIND
Le logiciel utilis sur quasiment tous les serveurs de noms du monde est Berkeley
Internet Name Domain (BIND), dvelopp par lInternet Software Consortium
(ISC).
BIND est livr en standard avec tous les systmes UNIX mais il sagit rarement
de la dernire version. Or il est important de toujours utiliser la dernire version de
BIND pour viter lexploitation de failles de scurit connues et pour profiter des
dernires fonctionnalits (BIND ayant normment volu ces dernires annes).
La dernire version de BIND est la 9.7.0, sortie le 16 fvrier 2010. De nombreux
serveurs DNS utilisent encore BIND 8 ou BIND 4 (il ny a pas eu de versions
intermdiaires entre BIND 4 et 8) mais seule la version 9 est activement dveloppe
par lISC.
5.1.4.1
Pour installer BIND, lidal est de sen procurer les sources directement chez
lInternet Software Consortium. Elle sont disponibles lURL :
31
5.1.4.2
Compilation
5.1.4.3
Installation
Ceci installe :
des excutables dans /usr/local/bin (dont dig) et
named, qui est le serveur de noms).
des fichiers den-tte dans /usr/local/include ;
des bibliothques dans /usr/local/lib ;
5.1.4.4
/usr/local/sbin
(dont
Configuration
options
{
directory "/" ;
} ;
# serveurs racine
zone "."
{
type hint ;
file "named.root" ;
} ;
# zones matres
zone "tp.ensta.fr"
{
type master ;
file "master/tp.ensta.fr" ;
} ;
zone "14.250.147.in-addr.arpa"
{
type master ;
file "master/14.250.147.in-addr.arpa" ;
} ;
# zones esclaves
zone "ensta.fr"
{
type slave ;
file "slave/ensta.fr" ;
masters
{
147.250.1.1 ;
} ;
} ;
IN
SOA
ns.ensta.fr. hostmaster.ensta.fr. (
2001012800
; serial
; RFC 1537
8h
; refresh
2h
; retry
1w
; expiry
1h )
; negative caching
IN
NS
ns.ensta.fr.
localhost
IN
127.0.0.1
guinness
IN
147.250.14.1
blanche
IN
147.250.14.2
IN
valeur(s)_du_paramtre
RR
Ici, IN indique que le RR est de la classe Internet. Il existe dautres classes mais,
en pratique, elles ne sont pas utilises.
Le premier RR du fichier est le SOA (start of authority), qui indique divers
paramtres de la zone.
La premire ligne indique :
le nom de la zone contenue dans le fichier ou @ pour utiliser le nom de zone
tel quindiqu dans named.conf ;
la classe Internet ;
le type du RR (ici SOA) ;
le nom du serveur matre pour cette zone ;
ladresse lectronique de la personne responsable de cette zone.
Dans cette adresse, le @ habituel est remplac par un point (ce qui implique que
la partie gauche de ladresse ne peut pas en contenir). Le RFC 2142 recommande
que cette adresse soit hostmaster.
Notez les points terminaux qui indiquent la racine du DNS ( partir de maintenant, faites attention ne pas les oublier, sauf dans certains cas qui seront dtaills
plus loin).
Suivent un ensemble de paramtres numriques, contenus entre parenthses (ce
qui permet de faire tenir le RR sur plusieurs lignes ; cette possibilit nest dailleurs
utilise que pour le SOA) :
Le numro de srie qui est un entier sur 32 bits devant tre augment chaque
modification de la zone. Par convention (et parce que a tient dans un entier
de 32 bits), on utilise un format AAAAMMJJNN contenant la date de la
dernire modification de la zone au format ISO 8601 (AAAA pour lanne,
MM pour le mois, JJ pour le jour) suivie dun numro dordre (NN valant 00
pour la premire modification du jour, 01 pour la deuxime, etc.). Une erreur
classique consiste modifier les donnes de la zone sans augmenter le numro
de srie.
La dure de rafrachissement qui tait utilise par les esclaves pour savoir quel
intervalle ils devaient interroger le matre pour savoir si une zone avait t
modifie. Maintenant, le matre avertit immdiatement ses esclaves de toute
modification donc ce paramtre nest plus utilis.
35
guinness.tp.ensta.fr
IN
147.250.14.1
guinness.tp.ensta.fr.tp.ensta.fr.
IN
147.250.14.1
$TTL 1d
@
IN
SOA
ns.ensta.fr. hostmaster.ensta.fr. (
2001012800
; serial
; RFC 1537
8h
; refresh
2h
; retry
1w
; expiry
1h )
; negative caching
IN
NS
ns.ensta.fr.
IN
PTR
guinness.tp.ensta.fr.
IN
PTR
blanche.tp.ensta.fr.
IN
NS
ns.b1-4
ns.b1-4
IN
147.250.14.51
5.1.4.5
Lancement
Pour pouvoir utiliser les ports UDP et TCP 53, le serveur de noms a besoin
dtre lanc sous lidentit du super-utilisateur.
Il est recommand dutiliser les options suivantes :
-t qui indique le rpertoire auquel restreindre le serveur ;
-c qui indique le nom du fichier de configuration relativement ce rpertoire ;
-u qui indique le nom de lutilisateur sous lidentit duquel tournera le serveur de
noms aprs son dmarrage.
Ainsi, le serveur de noms peut se lancer par la commande :
37
5.2
LDAP est lannuaire qui monte en ce moment. Il est principalement utilis pour
centraliser les bases dauthentification ou les carnets dadresses lectroniques mais il
sagit dun annuaire gnraliste pouvant tre utilis pour presque nimporte quoi.
LDAP est dcrit dans le RFC 2251 et utilise le port TCP 389.
5.2.1
Principes
LDAP est ladaptation dans le monde IP de DAP (Directory Access Protocol), qui
permet daccder des annuaires X.500 dans le monde ISO. Cest ce qui explique la
structure particulires des bases LDAP et leur systme de nommage.
la diffrence des systmes de gestion de bases de donnes (SGBD), les bases
LDAP sont optimises pour la lecture. En consquence, elles peuvent aisment tre
rpliques pour assurer une meilleure disponibilit.
38
Les trois classes que nous venons de voir sont les plus frquemment utilises
(surtout la dernire) dans les annuaires LDAP, bien quil en existe de nombreuses
autres.
Les attributs possibles pour ces classes sont les suivants :
organization
(obligatoire)
39
businessCategory
description
facsimileTelephoneNumber
location (l)
postalAddress
seeAlso
telephoneNumber
organizationalUnit
ou
(obligatoire)
businessCategory
description
facsimileTelephoneNumber
location (l)
postalAddress
seeAlso
telephoneNumber
inetOrgPerson
commonName (cn)
surname (sn)
(obligatoire)
(obligatoire)
businessCategory
carLicense
departmentNumber
description
employeeNumber
facsimileTelephone
Number
givenName
mail
manager
mobile
organizationalUnit (ou)
pager
postalAddress
roomNumber
secretary
seeAlso
telephoneNumber
title
labeledURI
uid
40
5.2.2
OpenLDAP
Le serveur LDAP le plus rpandu sous UNIX est OpenLDAP 1 , dont la dernire
version est la 2.4.21.
5.2.2.1
5.2.2.2
Compilation
5.2.2.3
Installation
1.
http://www.openldap.org/
41
Configuration
OpenLDAP est un logiciel bien trop complexe pour que sa configuration soit
dcrite en dtail ici. Dans le cadre de ce cours, vous pouvez vous reporter http:
//www.openldap.org/doc/admin/quickstart.html.
Pour la documentation complte dOpenLDAP (un peu lgre par endroits,
dailleurs), vous pouvez vous rfrer http://www.openldap.org/doc/admin/.
5.2.2.5
Tests
Outre le programme ldapsearch, fourni avec OpenLDAP mais dun usage peu
pratique, il est possible dinterroger une base LDAP avec le client graphique http:
//biot.com/gq/ ou avec le carnet dadresses du module de courrier lectronique de
Netscape.
5.2.2.6
Cas pratique
5.3
Autres annuaires
Network Information System (NIS), auparavant appel Yellow Pages (YP) est
un systme cr par Sun Microsystems et permettant le partage de divers bases
dinformations (notamment /etc/passwd et /etc/group) au sein dun ensemble de
machines sous UNIX. Il est aujourdhui en voie de disparition au profit de LDAP.
42
6
La messagerie
a messagerie est certainement lun des services rseau les plus utiliss. Il existe
des messageries utilise le protocole SMTP (Simple Mail Transfer Protocol). Quelques
messageries dentreprise utilisent galement le protocole X.400 mais uniquement
en interne, la communication vers lextrieur se faisant par lintermdiaire dune
passerelle SMTP.
SMTP est dcrit dans le RFC 5321. Le format des courriers lectroniques est
dcrit dans le RFC 5322. SMTP utilise le port TCP 25.
6.1
SMTP
Le fonctionnement de SMTP est en fait trs simple. tudions une session type :
43
Chapitre 6. La messagerie
et le serveur lui rend la politesse en indiquant la liste des options quil connat :
44
6.1. SMTP
Le message, tel que gnr par mail, est le suivant, vous pouvez recompter, il
contient bien 47 caractres :
To: babafou@babafou.eu.org
Subject: test
test
et envoie le message :
>>> DATA
Le message en question est celui indiqu plus haut, avec ses en-ttes et son
corps. Le serveur de messagerie rajoutera dailleurs dautres en-ttes pour aboutir au
message qui partira effectivement.
Les adresses lectroniques indiques par le client dans son dialogue avec le
serveur (par les commandes MAIL From et RCPT To) constituent ce quon appelle les
adresses denveloppe du message. Elles correspondent gnralement aux adresses
indiques en From, To et Cc de len-tte du message, sauf dans le cas dadresses en Bcc,
auxquel cas celles-ci napparaissent nulle part dans len-tte mais figurent bel et bien
dans lenveloppe.
45
Chapitre 6. La messagerie
6.2
IN
MX
10 ensta.ensta.fr.
IN
MX
0 mail.pasteur.fr.
IN
MX
10 mail0.pasteur.fr.
6.3
Serveurs de messagerie
http://www.sendmail.org/
http://www.postfix.org/
http://www.qmail.org/
http://www.exim.org/
46
6.4. sendmail
6.4
sendmail
6.4.1
6.4.2
Compilation
6.4.3
Installation
6.4.4
Configuration
Chapitre 6. La messagerie
6.4.4.1
Le fichier sendmail.cf
Ceci dfinit (cest ce quindique le D) une variable appele H et dont la valeur est
Cette variable a une signification particulire pour sendmail, elle
indique le nom du serveur de messagerie auquel envoyer tous les messages pour leur
expdition.
Le fichier continue par la dfinition de certaines options :
ensta.ensta.fr.
O EightBitMode=pass8
6.4. sendmail
Scanonify
Viennent ensuite les rgles proprement dites, une par ligne, introduites par R :
R$-@$+
$1 $2
|$1
$2
|ceci
est un commentaire
$>51 $1 $2
Chapitre 6. La messagerie
6.4.4.2
Comme vous avez pu lentrevoir, les rgles de rcriture sont rserves une
certaine lite capable de comprendre le sendmail dans le texte. Presque plus personne
ne gre son serveur de messagerie en allant farfouiller directement dans le sendmail.
cf. Comme pour tous les fichiers de configuration, on prfre le faire gnrer
automatiquement partir dun fichier plus simple.
Pour cela, sendmail est fourni dorigine avec les bons outils, autant les utiliser.
Le rpertoire cf de la distribution contient dans ses sous-rpertoires divers
fichiers permettant de construire un sendmail.cf au moyen dun fichier matre
grce au prprocesseur m4. Divers exemples de fichiers matres se trouvent dans le
sous-rpertoire cf (donc cf/cf par rapport au sommet de la distribution).
Considrons le fichier sendmail.mc suivant :
include(../m4/cf.m4)
OSTYPE(linux)dnl
define(confSMTP_MAILER, smtp8)dnl
define(confPRIVACY_FLAGS, authwarnings,restrictqrun,restrictmailq,noetrn,noexpn)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(always_add_domain)dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(relay_entire_domain)dnl
define(PROCMAIL_MAILER_PATH, /usr/local/bin/procmail)dnl
FEATURE(local_procmail)dnl
MASQUERADE_AS(ensta.fr)dnl
MASQUERADE_DOMAIN(ensta.fr)dnl
FEATURE(masquerade_envelope)dnl
MAILER(local)dnl
MAILER(smtp)dnl
6.4.5
Lancement
Sendmail dispose de trop doptions pour toutes les citer ici. Il se lance gnralement par la squence suivante :
50
Chapitre 6. La messagerie
51
A
Revision Control System (RCS)
R difications apportes un fichier. En ce sens, il est fort utile afin de suivre les
volutions dun fichier de configuration et de revenir, le cas chant une version
antrieure. RCS permet galement de grer laccs concurrent un fichier, dans le
cas dun travail en quipe.
RCS est fourni avec la plupart des systmes UNIX mais il est possible au besoin
den tlcharger les sources lURL ftp://ftp.gnu.org/pub/gnu/rcs/. La version
courante est la 5.7.
A.1
Principe de fonctionnement
RCS stocke la dernire version dun fichier, ainsi que chacune des modifications
permettant de gnrer les versions prcdentes dans un fichier appel fichier RCS. Le
nom de ce fichier est construit en ajoutant le suffixe ,v (oui, oui, avec une virgule,
pas un point) au nom du fichier grer. Nous utiliserons comme exemple le fichier
toto, dont le fichier RCS correspondant sappelle donc toto,v.
Par dfaut, le fichier RCS est stock dans le mme rpertoire que le fichier
principal. Ceci peut rapidement multiplier le nombre de fichiers dans ce rpertoire
et y noyer les fichiers importants. Cest pourquoi RCS stocke plutt ses fichiers
dans un sous-rpertoire RCS lorsquil existe. Il est donc recommand dutiliser cette
possibilit.
A.2
Afin de pouvoir grer un fichier avec RCS, il faut tout dabord crer le fichier
RCS (ce qui suppose que le fichier principal existe dj). Ceci se fait grce la
commande ci (check in) :
53
% ci -u toto
toto,v
<--
toto
A.3
-->
toto
<--
toto
54
A.4
Travail en groupe
Comme la commande co permet dviter laccs simultan de plusieurs personnes au mme fichier, RCS se rvle fort utile lorsquon travaille en quipe sur un
ensemble de fichiers. cet effet, il faut que chacun ait accs en criture au rpertoire
RCS contenant les fichiers RCS. Pour cela, il suffit que les personnes en question
appartiennent au mme groupe UNIX, de mme que le rpertoire RCS.
A.5
% rlog ethers
RCS file: RCS/ethers,v
Working file: ethers
head: 1.1240
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 1240;
description:
Fichier de correspondance adresse Ethernet <-> nom de machine
---------------------------revision 1.1240
date: 2002/01/31 16:51:23;
> 00:c0:4f:b4:d3:06
author: masson;
state: Exp;
lines: +1 -0
cardamone.pmo.pasteur.fr
---------------------------revision 1.1239
date: 2002/01/31 15:58:36;
author: masson;
< 00:02:55:6b:60:44
odile.sig.pasteur.fr
> 00:02:55:2b:60:44
odile.sig.pasteur.fr
state: Exp;
lines: +1 -1
---------------------------[...]
La commande rcsdiff permet dafficher les diffrences entre deux versions dun
fichier (au mme format que la commande diff) :
55
cardamone.pmo.pasteur.fr
2923c2924
< 00:02:55:6b:60:44
odile.sig.pasteur.fr
--> 00:02:55:2b:60:44
odile.sig.pasteur.fr
56
Bibliographie
Rseaux informatiques
[1]
Olivier Bonaventure.
Computer Networking. Principles, Protocols and Practice.
Presses universitaires de Louvain, 2010.
url : http://inl.info.ucl.ac.be/cnp3.
[3]
Mark E. Miller.
Managing Internetworks with SNMP.
3e dition.
IDG Books Worldwide, 1999.
Les annuaires
[4]
Gerald Carter.
LDAP System Administration.
OReilly Media, 2003.
url : http://shop.oreilly.com/product/9781565924918.do.
[5]
57
Bibliographie
[6]
[7]
[8]
Jan-Piet Mens.
Alternative DNS Servers. Choice and deployment, and optional SQL/LDAP
back-ends.
UIT Cambridge Ltd, 2009.
url : http://www.uit.co.uk/BK-ADNS/HomePage.
Ce livre est tlchargeable au format PDF : http://mens.de/:/altdnsbook.
La messagerie
[9]
[10]
Kyle D. Dent.
Postfix : The Definitive Guide.
OReilly Media, 2003.
url : http://shop.oreilly.com/product/9780596002121.do.
[11]
Philip Hazel.
Exim : The Mail Transfer Agent.
OReilly Media, 2001.
url : http://shop.oreilly.com/product/9780596000981.do.
[12]
John Levine.
qmail.
OReilly Media, 2004.
url : http://shop.oreilly.com/product/9781565926288.do.
58
Bibliographie
59
Introduction
Les fondements
2.1 Les doigts de pied en ventail . . . . . . . . . . .
2.2 Le matriel . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Mfiance face aux fournisseurs . . . . .
2.2.2 La maintenance . . . . . . . . . . . . . . .
2.2.3 La valorisation des vieux quipements
2.3 Un peu dadministration systme . . . . . . . .
2.4 La scurit est essentielle . . . . . . . . . . . . . .
2.5 Les fichiers de configuration . . . . . . . . . . . .
2.6 Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
61
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
6
6
6
7
7
8
9
.
.
.
.
11
11
11
12
12
.
.
.
.
.
.
.
.
.
.
.
.
15
15
16
16
16
16
18
18
18
19
19
19
19
4.5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
20
21
21
21
21
22
22
22
23
Les annuaires
5.1 Domain Name System (DNS) . . . . . . . . . . . .
5.1.1 Un peu dhistoire . . . . . . . . . . . . . . . .
5.1.2 Principes de fonctionnement . . . . . . . .
5.1.2.1 Le systme de nommage . . . .
5.1.2.2 Les serveurs . . . . . . . . . . . . .
5.1.2.3 La rsolution de nom . . . . . .
5.1.3 Interrogation du DNS avec dig . . . . . .
5.1.4 BIND . . . . . . . . . . . . . . . . . . . . . . .
5.1.4.1 Rcupration des sources . . . .
5.1.4.2 Compilation . . . . . . . . . . . .
5.1.4.3 Installation . . . . . . . . . . . . .
5.1.4.4 Configuration . . . . . . . . . . .
5.1.4.5 Lancement . . . . . . . . . . . . .
5.1.5 Quelques liens . . . . . . . . . . . . . . . . .
5.1.6 Quelques bizarreries . . . . . . . . . . . . .
5.2 Lightweight Directory Access Protocol (LDAP) .
5.2.1 Principes . . . . . . . . . . . . . . . . . . . . .
5.2.2 OpenLDAP . . . . . . . . . . . . . . . . . . .
5.2.2.1 Rcupration des sources . . . .
5.2.2.2 Compilation . . . . . . . . . . . .
5.2.2.3 Installation . . . . . . . . . . . . .
5.2.2.4 Configuration . . . . . . . . . . .
5.2.2.5 Tests . . . . . . . . . . . . . . . . .
5.2.2.6 Cas pratique . . . . . . . . . . . .
5.3 Autres annuaires . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
25
26
26
27
27
28
31
31
32
32
32
37
38
38
38
38
41
41
41
41
42
42
42
42
La messagerie
6.1 SMTP . . . . . . . . . . .
6.2 Relation avec le DNS .
6.3 Serveurs de messagerie
6.4 sendmail . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
46
46
47
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
62
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Bibliographie
Rseaux informatiques . . . . . . . . . . . . . . . . .
Simple Network Management Protocol (SNMP)
Les annuaires . . . . . . . . . . . . . . . . . . . . . . .
La messagerie . . . . . . . . . . . . . . . . . . . . . . .
Revision Control System (RCS) . . . . . . . . . . .
Table des matires
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
47
47
47
47
48
50
50
.
.
.
.
.
53
53
53
54
55
55
.
.
.
.
.
57
57
57
57
58
59
61
63