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=yes

Cré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 localhost

Nous 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 : 124

Maintenant, 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 : 172

Plus 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

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.