Virtualmin et DNS secondaire chez OVH

Si vous installez Virtualmin sur un serveur dédié et que vous vous empressez de créer un hébergement (un “Virtual Server” en langage Virtualmin), voici le genre de zone Bind que vous allez obtenir pour votre nom de domaine. Elle sera automatiquement créée par Virtualmin  et, pour l’exemple, je prends ici syrelis.com comme nom de domaine, 11.22.33.44 comme adresse IP et ns1234.ovh.net comme nom de serveur :

(contenu de /var/lib/bind/syrelis.com.hosts)

$ttl 38400
@    IN    SOA    ns1234.ovh.net. root.ns1234.ovh.net. (
1299337556
10800
3600
604800
38400 )
@    IN    NS    ns1234.ovh.net.
syrelis.com.    IN    A    11.22.33.44
www.syrelis.com.    IN    A    11.22.33.44
ftp.syrelis.com.    IN    A    11.22.33.44
m.syrelis.com.    IN    A    11.22.33.44
localhost.syrelis.com.    IN    A    127.0.0.1
webmail.syrelis.com.    IN    A    11.22.33.44
admin.syrelis.com.    IN    A    11.22.33.44
mail.syrelis.com.    IN    A    11.22.33.44
syrelis.com.    IN    MX    5 mail.syrelis.com.
syrelis.com.    IN    TXT    "v=spf1 a mx a:syrelis.com ip4:11.22.33.44 ?all"

A première vue, ça a une bonne tête, mis à part peut-être le numéro de série (ici : 1299337556) qui devrait plutôt être au format “année-mois-jour-chiffre-chiffre”, soit 2011030501 à l’heure où j’écris ces lignes) mais passons, ce n’est pas le but de ce billet…

Il manque en tout cas quelque chose d’important, vous ne trouvez pas ?

Il s’agit bien sûr d’un champ NS, car savez sûrement que l’usage veut qu’un nom de domaine doit avoir 2 serveurs DNS. Il est donc logique que sa zone Bind ait 2 champs NS !

Toujours en suivant notre exemple, syrelis.com doit donc avoir 2 serveurs DNS : (1) le primaire qui correspond au serveur sur lequel est installé le site (en l’occurrence ns1234.ovh.net) et (2) le secondaire, qui dépend d’OVH. Chez OVH, quand vous installez un nom de domaine sur un serveur dédié, ils est d’ailleurs nécessaire d’inscrire vous-même le nom de domaine sur le DNS secondaire. Cela se passe dans le manager, plus précisément là (ns1234.ovh.net > Services) :

Inscrire votre nom de domaine dans le DNS secondaire (sdns2.ovh.net – ou bien ns.kimsufi.com si votre serveur est un Kimsufi), c’est bien. Mais faire en sorte que votre serveur communique avec le DNS secondaire, c’est bien mieux ! Pour cela, retournons à votre serveur et ajoutons une ligne dans la zone Bind du nom de domaine :

@    IN    NS    sdns2.ovh.net.

Simple, non ? Oui, mais le problème c’est qu’il va falloir le faire à chaque fois que vous créez un hébergement sur le serveur via Virtualmin. Là, c’est tout de suite moins cool…

Heureusement, il y a une parade simple : juste un petit paramètre à ajouter dans Virtualmin. Commencez donc par cliquer sur System Settings > Server Templates :

Puis sur Default Settings :

Et enfin choisissez BIND DNS Domain :

Ajoutez alors sdns2.ovh.net (ou bien ns.kimsufi.com si votre serveur est un Kimsufi) dans le formulaire, là  :

Et sauvez.

C’est tout. Dorénavant, tous les “Virtual Server” que vous allez créer auront les bons champs NS dans leur zone Bind et, cerise sur le gâteau, toutes les modifications que vous allez faire sur votre serveur (ajout/suppression de sous-domaines par exemple) seront automatiquement transmises au DNS secondaire 🙂

Debian : Mise à jour de Bind9 fait buguer Webmin

Une récente mise à jour de Bind dans les dépôts Debian induit un léger bug dans Webmin / Virtualmin.

Ceux qui sont dans le cas (Webmin / Virtualmin installé sur une Debian Lenny) et qui mettent à jour (apt-get upgrade) apercevront sans doute que Bind “ne tourne plus”. En tout cas c’est ce que vous dira votre Webmin. Si vous essayez alors de lancer Bind via Webmin, vous obtiendrez une jolie erreur “Unknown Error”. Pas vraiment rassurant…

Heureusement, c’est en fait nettement moins grave qu’il n’y paraît : Bind tourne bel et bien (un petit passage en SSH vous le confirmera vite), c’est simplement Wembin qui ne le détecte plus. Pour fixer ça, il suffit de se rendre dans Webmin -> Servers -> BIND DNS Server -> Module Config -> System configuration et ajouter ceci dans Default PID file location(s) :

/var/run/bind/run/named/named.pid

Avec le bon chemin vers named.pid, Webmin retrouvera ses petits et il ne vous embêtera plus 🙂

Source : https://www.virtualmin.com/node/14569 (inscription nécessaire sur le site)

Attention, cela concerne aussi les nouvelles installations : pour ceux qui ont l’habitude d’installer Virtualmin sur Debian, ne soyez pas surpris de constater que Bind ne “semble” pas tourner sur une installation fraîche (la manipulation pour fixer le bug est évidemment identique).