Stay tuned
Astuces dédiées à l'application VHCS 2 «
VHCS Astuce - Serveur DNS Secondaire
Posted by M. declercq on Jul. 18 2006, page edited by M. declercq on Mar. 22, (popular)
Tags: vhcs serveur dns
AVANT PROPOS :
Si vous n'y connaissez rien en matière de Serveur DNS, nous vous conseillons d'utiliser le moteur de recherche google afin de trouver de la documentation, notamment en ce qui concerne le fonctionnement du Serveur DNS Bind.
Il existe plusieurs manières de configurer des Serveurs DNS Secondaires avec l'application VHCS 2.
Celle que nous avons retenue passe par la modification des templates bind de l'application VHCS 2 et la re-génération de ses fichiers de configuration.
Cette solution fonctionne parfaitement et se révèle être assez simple. C'est celle que nous avons appliquée sur le Serveur qui gère le domaine nuxwin.com ainsi que nos autres domaines.
Pour vous en convaincre, il vous suffit de taper la commande suivante dans un terminal ce qui vous donnera la liste des Serveurs primaire et secondaires servant nos domaines. Dans cet exemple, il s'agit du domaine nuxwin.com :
Ps : Dans cette exemple, le Serveur DNS interrogé est celui de TELE-2 (132.244.127.162).
La commande à taper est la suivante :
dig ns nuxwin.com @130.244.127.162
Celle-ci renvoi le résultat suivant :
; <<>> DiG 9.3.2 <<>> ns nuxwin.com @130.244.127.162
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43054
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 4
;; QUESTION SECTION:
;nuxwin.com. IN NS
;; ANSWER SECTION:
nuxwin.com. 38400 IN NS ns0.xname.org.
nuxwin.com. 38400 IN NS ns1.xname.org.
nuxwin.com. 38400 IN NS ns1.juris-line.org.
nuxwin.com. 38400 IN NS ns6.gandi.net.
;; ADDITIONAL SECTION:
ns0.xname.org. 63250 IN A 195.234.42.1
ns1.xname.org. 80781 IN A 193.218.105.149
ns1.juris-line.org. 86399 IN A 82.216.188.133
ns6.gandi.net. 77221 IN A 217.70.177.40
;; Query time: 3 msec
;; SERVER: 130.244.127.162#53(130.244.127.162)
;; WHEN: Mon Jul 17 21:37:03 2006
;; MSG SIZE rcvd: 193
Comme vous pouvez le constater, 4 Serveurs DNS sont mentionnés dans le résultat obtenu.
En fait, seul ns1.juris-line.org d'adresse Ip 82.216.188.133 est un Serveur DNS Primaire. Les autres sont des Serveurs DNS Secondaires hébergés en dehors de notre réseau.
- ns0.xname.org est un Serveur DNS secondaire mis gratuitement à notre disposition par l'association xname.org ;
- ns1.xname.org est un Serveur DNS secondaire mis gratuitement à notre disposition par l'association xname.org ;
- ns6.gandi.net est un Serveur DNS secondaire mis gratuitement à notre disposition par notre registrar (la société qui nous a vendu et gère notre nom de domaine (gandi)).
Bien entendu, vous pouvez vous contenter d'un seul Serveur DNS secondaire.
NOTE IMPORTANTE :
Cette astuce ne traite pas de l'installation du Serveur DNS Bind ni de sa configuration.
Dans le cadre de cette astuce, nous partirons donc du principe que vous connaissez le nom de votre/vos Serveurs DNS Secondaires.
Si vous ne possédez pas de Serveur(s) DNS secondaire(s), vous pouvez soit utiliser ceux/celui de votre registrar (société qui vous a vendu et gère votre nom de domaine) si ce service vous est proposé, soit vous enregistrer gratuitement sur le site de l'association xname.org afin de pouvoir disposer d'un ou deux Serveurs DNS Secondaires.
Si vous choississez cette dernière option, choississez bien l'option Serveur DNS Secondaire et non Serveur DNS Primaire.
Nota : N'oubliez pas d'effectuer les modifications nécessaires via l'interface d'administration de votre registrar pour pouvoir utiliser vos propres Serveurs DNS si vous vous inscrivez sur le site de l'association xname.org.
Par ailleurs, si vous envisagez d'héberger des domaines dont le tld est .fr, il ne faut pas suivre cette procédure. En effet, l'Afnic procède à une vérification très stricte concernant le nom des Serveurs DNS qui ont autorité sur un domaine en fr, il convient donc de faire autrement. Nous somme actuellement entrain de rédiger un article spécial concernant la configuration d'un Serveur DNS pour ce type de domaine avec l'application VHCS 2.
Ps : Si vous n'arrivez pas à configurer vos Serveurs DNS Secondaires via le site de l'association xname.org, notre équipe peut le faire pour vous. Pour cela, nous vous remercions de nous contacter à cette adresse : assistance@nuxwin.com
I. Sauvegarde de vos templates actuels :
Si vous n'avez jamais modifié les templates bind de l'application VHCS 2 auparavant, vous allez devoir le faire maintenant.
Pour faire une copie de sauvegarde du répertoire contenant les templates bind de l'application VHCS 2, il vous suffit de taper la commande suivante dans un terminal :
sudo cp -a /etc/vhcs2/bind/parts /etc/vhcs2/bind/parts_bkp
II. Modification des templates bind de l'application VHCS 2 :
Les fichiers de configuration du Serveur DNS bind sont générés par des templates qui se trouvent dans le répertoire /etc/vhcs2/bind/parts.
A SAVOIR :
Les fichiers de configuration du Serveur DNS Primaire, une fois générés, sont placés à différents endroits :
Les fichiers de configuration principale se trouvent dans le répertoire /etc/bind/ ;
Les fichiers de zones se trouvent dans le répertoire /var/cache/bind et sont de la forme domaine.tld.db.
Les templates que vous allez devoir modifier pour mettre votre/vos Serveur(s) De Nom Secondaire(s) en place sont les suivants :
1. db_e.tpl ;
2. cfg_entry.tpl
A. Modification du template db_e.tpl :
Dans un premier temps, vous devez éditer le template db_e.tpl en tapant la commande suivante dans un terminal :
sudo gedit /etc/vhcs2/bind/parts/db_e.tpl
Si vous n'avez jamais modifié ce template, voici à quoi il devrait ressembler :
$TTL 86400
@ IN SOA ns.{DMN_NAME}. root.{DMN_NAME}. (
; dmn [{DMN_NAME}] timestamp entry BEGIN.
{TIMESTAMP}
; dmn [{DMN_NAME}] timestamp entry END.
8H
2H
4W
1D )
IN NS ns.{DMN_NAME}.
; dmn [{DMN_NAME}] dns2 entry BEGIN.
; dmn [{DMN_NAME}] dns2 entry END.
IN MX 10 mail.{DMN_NAME}.
{DMN_NAME}. A {DMN_IP}
ns IN A {DMN_IP}
mail IN A {DMN_IP}
www CNAME {DMN_NAME}.
ftp CNAME {DMN_NAME}.
; sub [{SUB_NAME}] entry BEGIN.
; sub [{SUB_NAME}] entry END.
Dans ce template, vous allez devoir rajouter un enregistrement NS ainsi qu'un enregistrement A pour chaques Serveurs De Nom Secondaires que vous désirez mettre en place.
a. Ajout d'un enregistrement NS :
Un enregistrement NS (Name Server) correspond, comme son nom l'indique, à un Serveur De Nom.
Exemple pour un Serveur De Nom Secondaire :
Si votre Serveur De Nom Secondaire se nommait ns.google.com, vous devriez rajouter l'enregistrement NS suivant dans le template db_e.tpl :
IN NS ns.google.com.
Attention : Notez le point ( . ) à la fin de l'enregistrement NS. Sans ce point, votre fichier de zone serait erroné.
b. Ajout d'un enregistrement A :
Un enregistrement A permet la résolution du nom (nom --> adresse Ip).
Pour pouvoir ajouter cet enregistrement, vous devez connaître l'adresse Ip de votre Serveur de Nom Secondaire.
CONNAITRE L'ADRESSE IP D'UN SERVEUR DNS :
Si vous ne connaissez pas l'adresse Ip de votre/vos Serveur(s) De Nom Secondaire(s), il vous suffit de taper la commande suivante dans un terminal :
dig a le_nom_de_votre_serveur_secondaire
Exemple concrêt :
Quelle est l'adresse Ip du Serveur de Nom ns0.xname.org ?
Pour le savoir, nous tapons la commande suivante dans un terminal :
dig a ns0.xname.org
et nous obtenons le résultat suivant :
; <<>> DiG 9.3.2 <<>> a ns0.xname.org
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26093
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1
;; QUESTION SECTION:
;ns0.xname.org. IN A
;; ANSWER SECTION:
ns0.xname.org. 86366 IN A 195.234.42.1
;; AUTHORITY SECTION:
xname.org. 86366 IN NS ns1.xname.org.
xname.org. 86366 IN NS ns3.xtremeweb.de.
xname.org. 86366 IN NS ns0.xname.org.
;; ADDITIONAL SECTION:
ns3.xtremeweb.de. 13797 IN A 217.160.129.106
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 18 01:34:32 2006
;; MSG SIZE rcvd: 125
Ce qui nous interresse ici, c'est les deux lignes suivantes :
;; ANSWER SECTION:
ns0.xname.org. 86366 IN A 195.234.42.1
L'adresse Ip du Serveur De Nom ns0.xname.org est donc 195.234.42.1.
Connaissant maintenant l'adresse de votre Serveur de nom Secondaire, vous allez devoir procéder à l'ajout de l'enregistrement A.
Pour exemple, si votre Serveur De Nom Secondaire se nommait ns.google.com et qu'il avait l'adresse Ip 195.162.49.130, vous devriez rajouter l'enregistrement A suivant dans le template db_e.tpl :
ns.google.com. IN A 195.162.49.130
Attention : Notez le point ( . ) à la fin du nom du Serveur De Nom Secondaire. Sans ce point, votre fichier de zone serait erroné.
Nota : Si vous désirez rajouter d'autres Serveurs De Nom Secondaires, il vous suffit de répéter la procédure à partir du point a.
Ps : Nous vous conseillons de ne pas rajouter plus de trois Serveurs De Nom Secondaires.
Ps : Une fois toutes les modifications effectuées, n'oubliez pas de sauvegarder le template.
Récapitulatif :
En partant du principe que votre Serveur de Nom Secondaire se nomme ns.google.com et que son adresse Ip soit 195.162.49.130, voici à quoi devrait ressembler le template db_e.tpl après que vous l'ayiez modifié en suivant la procédure évoquée ci-dessus :
$TTL 86400
@ IN SOA ns.{DMN_NAME}. root.{DMN_NAME}. (
; dmn [{DMN_NAME}] timestamp entry BEGIN.
{TIMESTAMP}
; dmn [{DMN_NAME}] timestamp entry END.
8H
2H
4W
1D )
IN NS ns.{DMN_NAME}.
IN NS ns.google.com.
; dmn [{DMN_NAME}] dns2 entry BEGIN.
; dmn [{DMN_NAME}] dns2 entry END.
IN MX 10 mail.{DMN_NAME}.
{DMN_NAME}. A {DMN_IP}
ns IN A {DMN_IP}
ns.google.com. IN A 195.162.49.130
mail IN A {DMN_IP}
www CNAME {DMN_NAME}.
ftp CNAME {DMN_NAME}.
; sub [{SUB_NAME}] entry BEGIN.
; sub [{SUB_NAME}] entry END.
B. Modification du template cfg_entry.tpl :
Dans un premier temps, vous devez éditer le fichier cfg_entry.tpl en tapant la commande suivante dans un terminal :
sudo gedit /etc/vhcs2/bind/parts/cfg_entry.tpl
Si vous n'avez jamais modifié ce template, voici à quoi il devrait ressembler :
zone "{DMN_NAME}" {
type master;
file "{DB_DIR}/{DMN_NAME}.db";
};
Dans ce template, vous allez devoir rajouter deux directives qui sont les suivantes :
- notify yes ;
- allow-transfer (suivie de/des adresse(s) Ip de/des Serveur(s) de nom Secondaire(s) ).
Note explicative :
La directive allow-transfer permet d'autoriser les transfers de zones à partir de telle ou telle adresse IP. D'une manière générale, il faut renseigner l'adresse Ip du Serveur Primaire lui même pour pouvoir tester le transfer de zones, notamment avec l'outil en ligne de commande Dig, ainsi que l'adresse Ip du/des Serveur(s) De Nom Secondaire(s) afin que celui-ci/ceux-ci puisse(nt) se mettre à jour à partir des données de zones du Serveur Primaire.
La directive notify yes quant à elle, permet au Serveur DNS Primaire de notifier au(x) Serveur(s) de Nom Secondaire(s) que sa configuration a changé et qu'il(s) doi(ven)t se mettre à jour en conséquence.
a. Ajout de la directive notify yes :
L'ajout de la directive notify yes est extrêmement simple. Il vous suffit de l'insérer en dessous de la ligne suivante dans le template cfg_entry.tpl :
type master;
b. Ajout de la directive allow-transfer :
L'ajout de la directive allow-transfer est un peu plus compliqué dans le sens où vous devez connaître l'adresse/les adresses Ip de votre/vos Serveur(s) De Nom Secondaire(s).
Si vous ne connaissez pas l'adresse/les adresses Ip de votre/vos Serveur(s) De Nom Secondaire(s), ce qui ne devrait pas être le cas à ce stade de la procédure, reportez vous à la section : CONNAITRE L'ADRESSE IP D'UN SERVEUR DNS située plus haut dans cette astuce.
La directive allow-transfer> doit être insérée juste en dessous de la directive notify yes
Exemple pour un Serveur De Nom Secondaire :
Si l'adresse Ip de votre Serveur De Nom Secondaire était 195.162.49.130, vous devriez rajouter la ligne suivante en dessous de la directive notify yes dans le template cfg_entry.tpl :
allow-transfer { 195.162.49.130; };
Comme évoqué ci-dessus, vous pouvez aussi rajouter votre Ip Publique ainsi que l'Ip locale de votre machine (Serveur).
En partant du principe que votre adresse Ip publique est 195.132.122.133 et que l'adresse Ip locale de votre machine Serveur soit 192.168.0.2, la ligne ci-dessus devrait devenir celle-ci :
allow-transfer { 195.162.49.130; 195.132.122.133; 192.168.0.2; };
Ps : Une fois toutes les modifications effectuées, n'oubliez pas de sauvegarder le template.
Récapitulatif :
En partant du principe que l'adresse Ip de votre Serveur de Nom Secondaire soit 195.162.49.130 et que votre adresse Ip Publique soit 195.132.122.133 et encore, que l'adresse Ip locale de votre Serveur soit 192.168.0.2, voici à quoi devrait ressembler le template cfg_entry.tpl après que vous l'ayiez modifié en suivant la procédure évoquée ci-dessus :
zone "{DMN_NAME}" {
type master;
notify yes;
allow-transfer { 195.162.49.130; 195.132.122.133; 192.168.0.2; };
file "{DB_DIR}/{DMN_NAME}.db";
};
III. Re-génération des fichiers de configurations :
Dans la mesure où en suivant cette astuce, vous avez modifié les templates bind de l'application VHCS 2, vous devez re-générer vos fichiers de configuration pour que les changements soient pris en comptes.
Voici les commandes qu'il faut taper dans un terminal pour re-générer vos fichiers de configuration :
A. On stop le daemon de VHCS 2 :
$ sudo /etc/init.d/vhcs2_daemon stop
B. On se connecte au Serveur Mysql :
$ sudo mysql -u root -p
C. On se place sur la base de données de l'application VHCS 2 :
USE vhcs2
D. On exécute divers requêtes sql pour appliquer les changements dans les tables concernées :
UPDATE `domain` SET `domain_status` = 'change' WHERE `domain_status` = 'ok';
UPDATE `domain_aliasses` SET `alias_status` = 'change' WHERE `alias_status` = 'ok';
UPDATE `subdomain` SET `subdomain_status` = 'change' WHERE `subdomain_status` = 'ok';
E. On quitte le moniteur Mysql :
quit
F. On lance un script de mise à jour :
$ sudo /var/www/vhcs2/engine/vhcs2-rqst-mngr
G. On re-démarre le daemon de l'application VHCS 2 :
$ sudo /etc/init.d/vhcs2_daemon start
FIN DE L'ASTUCE
PRECISIONS :
Cette astuce a été appliquée avec succès sur un système fonctionnant avec la distribution Ubuntu Dapper Drake (6.06 LTS) en mode graphique ainsi que sur un système fonctionnant avec la distribution Débian en mode serveur. Elle est plus particulièrement destinée à la version 2.4.7.1 de l'application VHCS.
Les outils utilisés ainsi que les commandes à taper dans le terminal peuvent différer selon la distribution sur laquelle est installée l'application VHCS 2.
Notamment, pour la plupart des distributions (Red hat, Suze, Gentoo), il convient de remplacer sudo par su
De même, l'emplacement de certain fichier peut différer selon la distribution utilisée.
Vous pouvez suivre cette procédure sur une installation Serveur en remplaçant l'éditeur gedit par vi ou encore nano
Une erreur, une incompréhension concernant cette astuce ? n'hésitez pas à utiliser la fonction commentaire de notre portail et/ou à nous joindre directement en utilisant notre formulaire contact : Nous contacter
Rédigé par M. Laurent DECLERCQ
v1.1 build 03082006.2056
Trop cool cette astuce.
Merci pour ce site formidable.
Vivement que le forum soit disponible.
Je demande éxcuse pour mon français, je suis italien.
Je voulais signaler une erreur : où on parle de l'ajout de la ridective 'notify yes', la ligne d'exemple est 'type: master'. Il devrait être 'notify: yes'.
Saluts et éxcusèe moi ancor...
@Kermit
Bonjour ;
Il ne s'agit pas d'une erreur. Le fait est que vous avez mal intérpreté la section évoquée en référence.
Il est indiqué de rajouter la directive notify yes en dessous de la directive type master.
Bonne continuation sur notre portail.