Vous êtes sur la page 1sur 11

12/2/2016

bind9DocumentationUbuntuFrancophone

Contenu|Rechercher|Menus

Ubuntufr
Communautfrancophoned'utilisateursd'Ubuntu
Recherche: Rechercherapide....
Identifiant: Identifiant

Motdepasse:

Chercherdans: Documentation
connexion

ok

/inscription

Selonlestagsprsentssurcettepage,lesinformationsqu'ellecontientn'ontpastvrifies
depuisUbuntu10.04LTS.
Apportezvotreaide
Prrequis
Installation
Scnariosdeconfiguration
Serveurcache
Serveurmatre
Serveuresclave
Serveurshybrides
Serveursfurtifs
ServeursRcursifs/Nonrcursifs
Lestypesd'enregistrementDNS
EnregistrementdetypeA(Address)
EnregistrementdetypeCNAME(Alias)
EnregistrementMX(MailExchange)
EnregistrementNS(NameServer)
Configuration
Configurationpourunseulordinateur(PCDomestique)
Configurationpourunserveurcache
ConfigurationServeurMatre
Configurationenserveuresclave
ChrooterBIND9
Logging
OptionChannel
OptionCategory
Enregistrementdynamiquedesclients
Autrespossibilits
Dsinstallation
Voiraussi
Lucid,Serveur,rseau,dns

BIND9
LeserviceDNS(DomainNameService)estunserviceTCP/IPpermettantlacorrespondanceentre
unnomdedomainequalifi(FQDN:FullyQualifiedDomainName)etuneadresseIP,parexemple
www.ubuntufr.org=193.55.221.76.Ainsi,grceDNS,iln'estpasncessairedesesouvenirdes
adressesIP.
UnserveurquihbergeleserviceDNSestappel"serveurdenoms".Ubuntuestlivrpardfaut
avecBIND(BerkleyInternetNamingDaemon),leserveurDNSleplusutilissurInternet.

https://doc.ubuntufr.org/bind9

1/11

12/2/2016

bind9DocumentationUbuntuFrancophone

Ce guide est destin aux personnes dsireuses d'apprendre comment configurer et maintenir un
serveurDNSBIND9.

Prrequis
Disposerdesdroitsd'administrationsurleserveur.
Disposerd'unrseaulocal.
ConnatrelesbasesdeTCP/IP.
ventuellementdisposerd'uneconnexionInternetconfigureetactive,pourfaireles
tests.

Installation
BIND9estdisponibledansledptprincipal.Aucundptsupplmentairen'estncessaire
PourinstallerleserveurBIND9,ilsuffitd'installerlepaquetbind9.
Lepaquetdnsutils ( sudo aptget install dnsutils ) fournit des outils trs pratiques pour tester et
dbugger le service DNS. La documentation BIND9 peut galement tre trouve dans le paquet
bind9doc(sudoaptgetinstallbind9doc).

Scnariosdeconfiguration
BIND9peuttreutilisdediffrentesmanires.Lesconfigurationslesplusfrquentessont:
Danscetteconfiguration,BIND9vaeffectuerlesrequtesDNSetserappelerdelarponsepourla
prochainerequte.Cettemthodepeuttreutilepouruneconnexioninternetlente.Enmettantles
rponsesDNSencache,ondiminuel'utilisationdelabandepassanteet(encoreplusimportant)on
rduitgalementletempsdelatence.
Utilis pour contenir les enregistrements DNS d'un nom de domaine enregistr. Un ensemble
d'enregistrementsDNSpourunnomdedomaineestappelunezone.(Lenomdedomainepeut
treimaginairesionestdanslecasd'unrseaulocalferm)
Unserveuresclaveestutilisencomplmentunserveurmatre,enservantdecopielaoules
zones configures sur le serveur principal. Les serveurs secondaires sont recommands sur des
grosrseaux.CeuxciassurentladisponibilitdelazoneDNS,mmesileserveurmatreesthors
ligne.
Un serveur BIND9 peut tre configur la fois comme serveur cache et comme serveur matre,
comme serveur cache et serveur esclave, ou mme serveur cache, serveur matre et esclave. Il
suffitdecombinerlesdiffrentesconfigurationsprsentesdanslesexemples.
Il existe deux autres configurations frquentes pour un serveur DNS. Serveur furtif matre et
serveur furtif esclave. Ils sont identiques aux serveurs matre et esclave, mais avec une
organisationlgrementdiffrente:ilsnesontvisiblesqu'l'intrieurdudomaine.
Parexemple,vousdisposezde3serveursDNS:A,BetC.
Aestunserveurmatre,BetCsontdesesclaves.
Si votre domaine est configur pour utiliser A et B comme serveurs de noms, alors C est un
serveur furtif esclave. Il fait toujours office de serveur esclave, mais il ne sera pas interrog
depuisInternet.

https://doc.ubuntufr.org/bind9

2/11

12/2/2016

bind9DocumentationUbuntuFrancophone

Si votre domaine est configur pour utiliser B et C comme serveurs de noms, alors A est un
serveur furtif matre. Tout dition de la zone ou ajout est fait sur A, mais les ordinateurs depuis
internetinterrogerontseulementBetC.
Danslesdeuxcas,leserveurpassifn'estpasinterrogdepuisinternet.Ilpeutainsitrerserv
pouruneutilisationlocale.
Les serveurs BIND9 peuvent tre rcursifs, cestdire interroger tour tour les serveurs DNS
ncessairesjusqu'obtenirlarponse,etlatransmettreleurclient.
Danslecascontraire(pardfaut),leserveurDNSdlguelarsolutiondunomdedomaineun
autreserveurDNS.
Pouractiverlarcursivit,modifier/etc/bind/named.conf.options
allowrecursion{any}

Lestypesd'enregistrementDNS
Ilexistedenombreuxtyped'enregistrementsDNS,maiscertainssontpluscommuns:
C'est le type le plus courant. Cet enregistrement fait correspondre une adresse IP un nom de
machine.
wwwINA1.2.3.4

Utilis pour crer un alias depuis un enregistrement de type A. Il est possible de crer un
enregistrementdetypeCNAMEquipointeversunautreenregistrementCNAME,maiscecidoublele
nombrederequtesquiserontfatesauserveurdenoms.Cettemthodeestdoncdconseille.
mailINCNAMEwww
wwwINA1.2.3.4

Utilis pour dfinir vers quel serveur de la zone un email destination du domaine doit tre
envoy,etavecquellepriorit.CetenregistrementdoitpointerversunenregistrementdetypeA,
etnonunaliasCNAME.IlpeutyavoirplusieursenregistrementsMXsiilexisteplusieursserveurs
demessageriesurledomaine.
INMX10mail.ubuntufr.lan.
mailINA1.2.3.4

Utilispourdfinirquelsserveursrpondentpourcettezone.Cetenregistrementdoitpointervers
unenregistrementdetypeA,nonpasversunenregistrementdetypeCNAME.
C'est ici que le serveur matre et les esclaves sont dfinis. Les serveurs furtifs sont
intentionnellementomis.
INNSns.ubuntufr.lan.
[...]
nsINA1.2.3.4

Configuration
LesfichiersdeconfigurationdeBIND9sontstockssous:
https://doc.ubuntufr.org/bind9

3/11

12/2/2016

bind9DocumentationUbuntuFrancophone

/etc/bind/

LaconfigurationprincipaledeBIND9esteffectuedanslesfichierssuivant:
/etc/bind/named.conf
/etc/bind/named.conf.options
/etc/bind/named.conf.local

Danscecas,BINDestconfigurpournerpondrequ'auxrequtesduPCsurlequelilestinstall.
Ilsechargeluimmedelarsolutiondenoms,sanspasserparlesserveursDNSdevotreFAI.
Cetteconfigurationimpliquequevousvouschargiezdirectementdelarsolutiondesnomsde
domaine.VousneprofitezplusducacheDNSdevotrefournisseurd'accs,etvoussollicitezdu
couppluslesserveursracines,maisvousneserezpassoumisaufiltrage(ouparfoisauDNS
menteur)devotrefournisseurd'accs.

Editerlefichier"/etc/bind/named.conf.options",positionnerl'option"listenon"sur
l'interfacerseauinterne127.0.0.1".BINDneseraplusaccessibledepuisl'extrieur.
Modifierlaligne18dufichier"/etc/bind/named.conf.options"quiressemblececi:
listenonv6{any}

Afinqu'elleressemblecela:
listenonv6{::1}

Puistoujoursdanscemmefichier,commenterl'option"forwarders".Ilsuffitdemettre
un#devantchaqueligne:
#//forwarders{
#//0.0.0.0
#//}

PourquetouteslesrequtespassentparBIND:
Si votre carte rseau est configure pour utiliser DHCP, dcommenter la ligne 20 du fichier
"/etc/dhcp3/dhclient.conf":
prependdomainnameservers127.0.0.1

Si, au contraire, elle est configure avec une adresse IP statique, modifier le fichier
"/etc/resolv.conf"afinquetouteslesrequtespassentparBIND.Cefichierdoitdonccontenir:
nameserver127.0.0.1

Redmarrerbind:
sudoservicebind9restart

https://doc.ubuntufr.org/bind9

4/11

12/2/2016

bind9DocumentationUbuntuFrancophone

LeserveurBIND9estconfigurpardfautentantqueserveurcache.
Ilsuffitsimplementd'ajouterlesserveursDNSdevotreprestataireInternet.
Dcommentezetditezleslignessuivantesdans/etc/bind/named.conf.options:
[...]

forwarders{
1.2.3.4
5.6.7.8
}

[...]

(ou1.2.3.4et5.6.7.8sontlesadressesIPdesserveursDNSdevotreprestataireInternet.
RedmarrezledmonBIND9:
sudoservicebind9restart

Tests
Si le package dnsutils a t install, il est possible de tester la nouvelle configuration en utilisant
dig:
digx127.0.0.1

Sitoutfonctionnebien,vousdevriezvoirapparatreunesortiesimilaire:
<<>>DiG9.4.1P1<<>>x127.0.0.1
globaloptions:printcmd
Gotanswer:
>>HEADER<<opcode:QUERY,status:NOERROR,id:13427
flags:qraardraQUERY:1,ANSWER:1,AUTHORITY:1,ADDITIONAL:1

[...]

Querytime:1msec
SERVER:127.0.0.1#53(127.0.0.1)
WHEN:MonNov2623:22:532007
MSGSIZErcvd:93

Lacommandedigpeutaussitreutilisepourinterrogerd'autresdomaines,commeparexemple:
digubuntufr.org

Si vous "diggez" un mme domaine plusieurs fois, vous devriez voir apparatre une norme
diminutiondutempsmisparlarequte(Querytime),entrelapremireetladeuximerequte.
Ceciestpossibleparcequeleserveuradjmisencachelarponsedelarequte.

https://doc.ubuntufr.org/bind9

5/11

12/2/2016

bind9DocumentationUbuntuFrancophone

BIND9 va tre configur comme serveur matre pour le domaine ubuntufr.lan. Remplacez
simplementubuntufr.lanparvotreproprenomdedomaine.
Fichierdezone
Pourajouterunezone,etfairedeBIND9unserveurmatre:
Editerlefichiernamed.conf.local:
[...]
zone"ubuntufr.lan"IN{
typemaster;
file"/etc/bind/db.ubuntufr.lan";
};
[...]
Utiliserlefichierd'unezoneexistantecommemodle:
sudocp/etc/bind/db.local/etc/bind/db.ubuntufr.lan

Editerlenouveaufichierpourlazone(/etc/bind/db.ubuntufr.lan),
ChangerlocalhostparleFQDNdevotreserveur,enlaissantlepoint"."supplmentairela
fin.
Changer127.0.0.1parl'adresseIPduserveurdenometroot.localhostparuneadressemel
valide,maisavecunpoint"."laplacedel'arobase"@".Laissergalementlepointlafin.
CrerunenregistrementdetypehteApourleserveurdenomns.ubuntufr.lan:
;
;BINDdatafileforlocalloopbackinterface
;
$TTL604800
@INSOAns.ubuntufr.lanadmin.ubuntufr.lan(
1;Serial
604800;Refresh
86400;Retry
2419200;Expire
604800);NegativeCacheTTL
;
@INNSns.ubuntufr.lan.
NSINA10.10.10.10
boxINA192.168.1.10
Le numro de srie doit tre incrment chaque changement dans le fichier de zone. En cas de
multipleschangements,uneseuleincrmentationsuffit.

Ilestfrquentd'utiliserladated'ditiondelazonecommenumrodesrie,auformatamricain.
Exemple:2010122710=incrmentation10du27dcembre2010).

Ilestmaintenantpossibled'ajouterdesenregistrementsDNSlasuitedelazone.
https://doc.ubuntufr.org/bind9

6/11

12/2/2016

bind9DocumentationUbuntuFrancophone

Une fois les changements dans le fichier de zone effectus, il faut redmarrer BIND9 pour qu'ils
prennenteffet:
sudoservicebind9restart

Zonederechercheinverse
Maintenant que notre fichier de zone est configur et que les adresses IP sont rsolues, une zone
de recherche inverse est requise. Une zone de recherche inverse permet au DNS de convertir
uneadresseennom.
Editer/etc/bind/named.conf.localetajouterleslignessuivantes:
zone"1.168.192.inaddr.arpa"{
typemaster;
notifyno;
file"/etc/bind/db.192";
};

Remplacer1.168.192parlestroispremiersoctets(sivoustesenclasseC)devotrerseaudans
l'ordreinvers.Remplacergalementlenomdufichierdezonedb.192parlenomappropri.

Crermaintenantlefichierdb.192depuisunfichierexistant:
sudocp/etc/bind/db.127/etc/bind/db.192

Editerlefichier/etc/bind/db.192etchangercommenousl'avonsfaitprcdemmentlenom
dedomaineetl'adressemel:
;
;BINDreversedatafileforlocalloopbackinterface
;
$TTL604800
@INSOAns.ubuntufr.lanadmin.ubuntufr.lan(
2;Serial
604800;Refresh
86400;Retry
2419200;Expire
604800);NegativeCacheTTL
;
@INNSns.ubuntufr.lan.
10INPTRns.ubuntufr.lan.
Le numro de srie de la zone de recherche inverse ncessite d'tre incrment chaque
changement.PourchaqueenregistrementAajoutdans/etc/bind/db.ubuntufr.lan,ilfautcrerun
enregistrementPTRdans/etc/bind/db.192.
Aprsavoircrlefichierdelazonederechercheinverse,redmarrezBIND9:
sudoservicebind9restart
https://doc.ubuntufr.org/bind9

7/11

12/2/2016

bind9DocumentationUbuntuFrancophone

Tests
Ildoitmaintenanttrepossibledefaireunpingsurubuntufr.lanetlarequtedoittrersolue:
pingns.ubuntufr.lan

L'utilitairenamedcheckzone(inclusdanslepackageBIND9)peutgalementtreutilis:
namedcheckzoneubuntufr.lan/etc/bind/db.ubuntufr.lan

et
namedcheckzone1.168.192.inaddr.arpa/etc/bind/db.192

Utilisercetutilitaireestunbonmoyendes'assurerdel'absenced'erreursavantleredmarragede
bind.
Pourtesterlarechercheinverse,l'utilitairedigpeuttreutilis:
digx192.168.1.10

Vous devriez voir en sortie console la rsolution de 1.168.192.inaddr.arpa. par votre serveur de
nom.
Maintenant qu'un serveur matre a t configur, un serveur esclave peut tre configur pour
assurerunedisponibilitdudomaineencasdepanneduserveurmatre.
Dansunpremiertemps,leserveurmatredoittreconfigurpourpermettreletransfertdezone.
Ajoutez l'option allowtransfer dans les dfinitions des zones principales et inverses du fichier
/etc/bind/named.conf.local:
[...]
zone"ubuntufr.lan"{
typemaster;
file"/etc/bind/db.ubuntufr.lan";
allowtransfer{@ip_esclave;};
};
[...]
zone"1.168.192.inaddr.arpa"{
typemaster;
notifyno;
file"/etc/bind/db.192";
allowtransfer{@ip_esclave;};
};
[...]

Remplacez@ip_esclaveparl'adresseIPduserveuresclave.
https://doc.ubuntufr.org/bind9

8/11

12/2/2016

bind9DocumentationUbuntuFrancophone

Ensuite, sur le serveur esclave, installez le package BIND9, de la mme manire que pour le
serveurmatre.Editezlefichier/etc/bind/named.conf.local,etajoutezleslignessuivantespourla
zoneprincipaleetinverse:
[...]
zone"ubuntufr.lan"{
typeslave;
file"/var/cache/bind/db.ubuntufr.lan";
masters{@ip_maitre;};
};
[...]
zone"1.168.192.inaddr.arpa"{
typeslave;
file"/var/cache/bind/db.192";
masters{@ip_maitre;};
};
[...]

Remplacez@ip_maitreparl'adresseIPduserveurmatre.Lefichierdezonedoittredans
/var/cache/bind/,carpardfaut,AppArmornepermetl'accsencriturequedanscerpertoire
(voirlaconfigurationdeAppArmordans/etc/apparmor.d/usr.sbin.named).

Redmarrez le serveur, et dans /var/log/syslog, vous devriez voir apparatre des informations
similaires:
syslog.5.gz:Dec2723:33:53ubuntunamed[5064]:zoneubuntufr.lan/IN:transferredserial
2010122701
syslog.5.gz:Dec2723:33:53ubuntunamed[5064]:transferof'ubuntufr.lan/IN'from
10.0.0.202#53:endoftransfer
syslog.5.gz:Dec2723:33:35ubuntunamed[5064]:slavezone"1.168.192.inaddr.arpa"(IN)
loaded(serial2010122701)

Unezonen'esttransfrequesisonnumrodesriesurleserveurmatreestsuprieurceluidu
serveuresclave

Tests
Vouspouveztesterleserveuresclavedelammefaonquepourleserveurmatre.Ilestpossible
d'arrter BIND9 sur le serveur matre et essayer de faire un ping sur ubuntufr.lan. depuis un
poste configur pour utiliser le serveur esclave comme le serveur matre pour sa rsolution de
nom.Sitoutcepassebien,leserveuresclavedevraitrsoudreubuntufr.lan.

ChrooterBIND9
https://doc.ubuntufr.org/bind9

9/11

12/2/2016

bind9DocumentationUbuntuFrancophone

ConfigurerBIND9pourtrechrootestunescuritrecommandesiAppArmorn'estpasinstall.
Dans un environnement chroot, BIND9 n'a accs qu'aux fichiers et matriels dont il a besoin, et
estincapabled'accderautrechose.AppArmorestinstallpardfautdanslesversionsrcentes
d'Ubuntu.Amoinsd'avoirdsactivexplicitementAppArmor,chrooterBIND9n'estpasncessaire.
Si malgr tout, vous dsirez continuer en dsactivant AppArmor et en chrootant BIND9, vous
trouverezlesinformationsncessairessurcettepage(EN):UbuntuBind9Howto

Logging
BIND9 dispose d'une large varit de configurations possibles pour le logging. Il existe deux
options principales, l'option Channel configure o vont les logs, et l'option Category dtermine ce
quidoittrelogg.
Lesoptionspardfautsdeloggingsont:
logging{
categorydefault{default_syslog;default_debug;};
categoryunmatched{null;};
};
NousallonsconfigurerBIND9pourenvoyerlesmessagesdedbuggagerelatifsauxrequtesDNS
dansunfichierspar.
Apparmorest,aumoinsdepuislucid,installpardfaut.Celogicieldescuritnepermettrapas
bind d'crire son fichier de log o bon lui semble. On peut voir dans le fichier de configuration d'
apparmor pour bind: /etc/apparmor.d/usr.sbin.named que bind a par dfaut les droits
d'crituredanslerpertoire/var/log/named/.Ilpeutdonctrejudicieuxdel'utiliser.
Dans un premier temps, nous devons configurer un channel pour spcifier dans quel fichier les
messages seront enregistrs. Editez le fichier /etc/bind/named.conf.local et ajoutez les lignes
suivantes:
logging{
channelquery.log{
file"/var/log/named/query.log";
//Settheseveritytodynamictoseeallthedebugmessages.
severitydynamic;
};
};
Nous configurons ensuite une catgorie pour envoyer toutes les requtes DNS dans le fichier de
requtes
logging{
channelquery.log{
file"/var/log/named/query.log";
//Settheseveritytodynamictoseeallthedebugmessages.
severitydebug3;
};
categoryqueries{query.log;};
};

https://doc.ubuntufr.org/bind9

10/11

12/2/2016

bind9DocumentationUbuntuFrancophone

L'optiondebugpeuttreunniveauallantde13.Siaucunniveaun'estspcifi,leniveau1est
utilispardfaut.
Depuisqueledaemontourneentantqu'utilisateurbind,lefichier/var/log/named/query.log
doittrecretlepropritairechang:
sudomkdir/var/log/named/
sudotouch/var/log/named/query.log
sudochownRbind/var/log/named/

RedmarrezBIND9pourqueleschangementsprennenteffet:
sudoservicebind9restart

Vousdevriezvoirlefichier/var/log/named/query.logserempliravecleslogsdeBIND9.Cecin'est
qu'un simple exemple des options possibles de logging. Allez voir le manuel sur le site bind9.net
pourplusd'informations.

Enregistrementdynamiquedesclients
VoirlapageServeurDHCP:dhcp3server

Autrespossibilits
Il est possible de monitorer l'utilisation du serveur en installant le package bindgraph, depuis le
dpot Universe, et suivre les dtails de configurations dans le README de bindgraph. Tutoriel
disponiblesurlesiteopentodo.net.

Dsinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. Selon la mthode choisie, la
configurationglobaledel'applicationestconserveousupprime.

Voiraussi
(fr)http://www.commentcamarche.net/contents/internet/dns.php3
(fr)http://www.linuxfrance.org/prj/edu/archinet/systeme/ch30.html
(fr)AutoformationauDNSdel'AFNIC
(fr)Miseenplaced'unserveurDNSsousLinuxsurITConnect
(fr)ScuriserunserveurDNSBindautonomesousLinuxsurITConnect
(fr)InstalleretconfigurerunserveurDNSBind9ActualIT.info
Contributeursprincipaux:lmrv.
BassurBIND9ServerHowtoparAuteurOriginal.

Lecontenudecewikiestsouslicence:CCBYSAv3.0

Contact
PropulsparDokuwiki
https://doc.ubuntufr.org/bind9

11/11