Serveur DNS · 5 min read · Oct 09, 2025
Le Cluster Web Parfait Équilibré et à Haute Disponibilité Avec 2 Serveurs Exécutant Xen Sur Ubuntu 8.04 Hardy Heron - Page 3
8. Serveur DNS (web1, web2)
8.1 Installer le Serveur DNS
Exécutez :
apt-get install bind9
Pour des raisons de sécurité, nous voulons exécuter BIND en chroot, donc nous devons suivre les étapes suivantes :
/etc/init.d/bind9 stop
Éditez le fichier /etc/default/bind9 afin que le démon s’exécute en tant qu’utilisateur non privilégié bind, chrooté à /var/lib/named. Modifiez la ligne : OPTIONS=”-u bind” pour qu’elle devienne OPTIONS=”-u bind -t /var/lib/named” :
vi /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Définir RESOLVCONF=no pour ne pas exécuter resolvconf
RESOLVCONF=yesCréez les répertoires nécessaires sous /var/lib :
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
Ensuite, déplacez le répertoire de configuration de /etc à /var/lib/named/etc :
mv /etc/bind /var/lib/named/etc
Créez un lien symbolique vers le nouveau répertoire de configuration depuis l’ancienne emplacement (pour éviter des problèmes lorsque bind sera mis à jour à l’avenir) :
ln -s /var/lib/named/etc/bind /etc/bind
Créez des dispositifs null et random, et corrigez les permissions des répertoires :
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Nous devons modifier /etc/default/syslogd afin que nous puissions toujours obtenir des messages importants enregistrés dans les journaux système. Modifiez la ligne : SYSLOGD=”” pour qu’elle devienne : SYSLOGD=”-a /var/lib/named/dev/log” :
vi /etc/default/syslogd
#
# Fichier de configuration principal pour syslogd
#
# La documentation complète des arguments possibles se trouve dans la page de manuel
# syslogd(8).
#
# Pour l'enregistrement UDP distant, utilisez SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"Redémarrez le démon de journalisation :
/etc/init.d/sysklogd restart
Démarrez BIND, et vérifiez /var/log/syslog pour les erreurs :
/etc/init.d/bind9 start
8.2 Configurer bind
Nous allons configurer bind avec 2 domaines, example.com qui sera le serveur de noms et nous allons configurer bind pour yoursite.com également.
Maintenant, le fichier de configuration principal dans BIND s’appelle named.conf, cependant named.conf.local est déjà inclus dans named.conf et il est là pour la configuration personnalisée, donc nous allons éditer named.conf.local et nous allons ajouter nos zones, ici j’ai ajouté une zone camed tm.local ainsi qu’une zone inverse pour 192.168.1.0 :
vi /etc/bind/named.conf.local
#EXAMPLE.COM
zone "example.com" {
type master;
file "/etc/bind/zones/example.com.db";
};
#YOURSITE.COM
zone "yoursite.com" {
type master;
file "/etc/bind/zones/yoursite.com.db";
};
# Ceci est la définition de la zone pour le DNS inverse. remplacez 1.168.192 par votre adresse réseau en notation inverse - par exemple mon adresse réseau est 192.168.1.X
zone "1.168.192.in-addr.arpa." {
type master;
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
};Note : Si votre FAI vous délègue une plage de sous-réseaux (disons ip 192.168.1.100 à 192.168.1.112) lisez ceci pour la zone inverse (voir Fichier de Zone Client/Utilisateur) :
http://www.zytrax.com/books/dns/ch9/reverse.html
8.3 Configurer les zones
mkdir /etc/bind/zones
vi /etc/bind/zones/example.com.db
et faites-le ressembler à ceci :
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2008060902 ; numéro de série, date d'aujourd'hui + numéro de série d'aujourd'hui
28800 ; rafraîchir, secondes
7200 ; réessayer, secondes
604800 ; expirer, secondes
86400 ) ; minimum, secondes
;
NS ns1.example.com. ; Adresse Inet du serveur de noms 1
NS ns2.example.com. ; Adresse Inet du serveur de noms 2
;
MX 10 example.com.
example.com. A 192.168.1.106
www A 192.168.1.106
ns1 A 192.168.1.106
ns2 A 192.168.1.106
dom01 A 192.168.1.100
dom02 A 192.168.1.101
lb1 A 192.168.1.102
lb2 A 192.168.1.103
web1 A 192.168.1.104
web2 A 192.168.1.105
example.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"Maintenant, nous allons créer la zone pour yoursite.com :
vi /etc/bind/zones/yoursite.com.db
Faites-la ressembler à ceci :
$TTL 86400
@ IN SOA ns1.example.com. admin.yoursite.com. (
2008060902 ; numéro de série, date d'aujourd'hui + numéro de série d'aujourd'hui
28800 ; rafraîchir, secondes
7200 ; réessayer, secondes
604800 ; expirer, secondes
86400 ) ; minimum, secondes
;
NS ns1.example.com. ; Adresse Inet du serveur de noms 1
NS ns2.example.com. ; Adresse Inet du serveur de noms 2
;
MX 10 yoursite.com.
yoursite.com. A 192.168.1.107
www A 192.168.1.107
yoursite.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"Maintenant, allons de l’avant avec la zone inverse.
vi /etc/bind/zones/rev.1.168.192.in-addr.arpa
$TTL 86400
@ IN SOA ns1.example.com. hostmaster.example.com. (
2008060901 ; numéro de série, date d'aujourd'hui + numéro de série d'aujourd'hui
28800 ; Rafraîchir
7200 ; Réessayer
604800 ; Expirer
86400) ; TTL minimum
NS ns1.example.com.
NS ns2.example.com.
100 PTR dom01.example.com.
101 PTR dom02.example.com.
102 PTR lb1.example.com.
103 PTR lb2.example.com.
104 PTR web1.example.com.
105 PTR web2.example.com.
106 PTR example.com.
107 PTR yoursite.com.Maintenant configurez le serveur pour transférer toutes les demandes à votre serveur FAI afin qu’il puisse résoudre les IP externes.
vi /etc/bind/named.conf.options
Décommentez la section des forwarders pour qu’elle ressemble à ceci :
[...]
forwarders {
# Remplacez l'adresse ci-dessous par l'adresse de votre serveur DNS FAI
123.123.123.123;
};
[...] 8.4 Configurer le serveur pour s’utiliser comme DNS
vi /etc/resolv.conf
search example.com
nameserver localhostNous devons redémarrer bind :
/etc/init.d/bind9 restart
8.5 Tester le serveur DNS
Nous allons d’abord installer dig qui est inclus dans le paquet dnsutils :
apt-get install dnsutils
Maintenant, nous allons voir si nos serveurs DNS nous donnent les bonnes réponses :
sur web1
dig yoursite.com @192.168.1.105
sur web2
dig yoursite.com @192.168.1.104
Sur les deux, vous devriez voir une sortie comme ceci :
; DiG 9.4.2-P1 yoursite.com
;; options globales : printcmd
;; Réponse reçue :
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4547
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; SECTION QUESTION :
;yoursite.com. IN A
;; SECTION RÉPONSE :
yorsite.com. 86400 IN A 192.168.1.107
;; SECTION AUTORITÉ :
yorsite.com. 15090 IN NS ns2.example.com.
yoursite.com. 15090 IN NS ns1.example.com.
;; SECTION ADDITIONNELLE :
ns2.example.com. 162439 IN A 192.168.1.106
ns1.example.com. 162439 IN A 192.168.1.106
;; Temps de requête : 27 msec
;; QUAND : Dim Sep 21 19:07:17 2008
;; TAILLE MSG reçue : 124Maintenant, nous allons tester la recherche inverse :
sur web1
dig -x 192.168.1.107 @192.168.1.105
sur web2*
dig -x 192.168.1.107 @192.168.1.104
La sortie devrait être similaire à ceci :
; DiG 9.4.2-P1 -x 192.168.1.107
;; options globales : printcmd
;; Réponse reçue :
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22614
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; SECTION QUESTION :
;107.1.168.192.in-addr.arpa. IN PTR
;; SECTION RÉPONSE :
;107.1.168.192.in-addr.arpa. 86400 IN PTR yoursite.com.
;; SECTION AUTORITÉ :
;1.168.192.in-addr.arpa. 86400 IN NS ns2.example.com.
;1.168.192.in-addr.arpa. 86400 IN NS ns1.example.com.
;; SECTION ADDITIONNELLE :
ns1.example.com. 162147 IN A 192.168.1.106
ns2.example.com. 162147 IN A 192.168.1.106
;; Temps de requête : 88 msec
;; QUAND : Dim Sep 21 19:12:09 2008
;; TAILLE MSG reçue : 172Plus d’infos sur l’utilisation de dig :
http://www.madboa.com/geek/dig/
9. Proftpd (web1, web2)
9.1 Installation de Proftpd
Pour installer Proftpd, exécutez
apt-get install proftpd ucf
Vous serez posé une question :
Exécutez proftpd : <– autonome
9.2 Configuration de Proftpd
vi /etc/proftpd/proftpd.conf
Pour des raisons de sécurité, ajoutez les lignes suivantes à /etc/proftpd/proftpd.conf :
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."Puis redémarrez Proftpd :
/etc/init.d/proftpd restart
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.