Debian 10 Buster : configurer votre hostname et votre reverse DNS
dim, 09/22/2019 - 15:17 — geek17Introduction
Si vous êtes ici, c'est que vous avez au moins un serveur et au moins un nom de domaine.
Mais rien ne vous empêche de faire pointer plusieurs noms de domaine (ou des sous-domaine, images.geek17.com par exemple) sur un seul et même serveur.
De même, votre serveur fait office de serveur web (nginx + MariaDB) mais il va certainement héberger d'autres services (serveur mail via postfix par exemple).
Il est donc important d'identifier de manière unique votre serveur sur le web en spécifiant un hostname (nom d'hote) et en configurant vos DNS en conséquence.
Prenons l'exemple concret de geek17.com
- j'ai un serveur pour héberger le site web de geek17.com
- j'héberge également d'autres sites : toto1.com et toto2.com
- j'ai une seule adresse IP : 123.456.789.123
- mon serveur héberge et réceptionne les mails des 3 domaines geek17.com, toto1.com et toto2.com
J'ai décidé de nommer mon serveur server1.geek17.com
Mais vous pouvez utiliser n'importe quel nom (en évitant les caractères spéciaux et accentués), suivi d'une de votre nom de domaine.
Ajout de l'enregistrement CNAME dans vos DNS
Rendez-vous dans l'interface de gestion de votre nom de domaine.
Les données de votre zone DNS sont présentées sous la forme d'un tableau de 3 colonnes.
Champ | Type | Cible |
A | 123.456.789.123 | |
www | CNAME | geek17.com. |
server1 | CNAME | geek17.com. |
Vous devez à minima avoir une entrée de Type A, dont le Champ est vide et qui contient votre adresse IP en Cible.
C'est grâce à cette entrée que quand vous tapez votre nom de domaine dans votre navigateur web, celui-ci contacte l'adresse IP de votre serveur pour charger les données.
Mais vous avez peut-être également une entrée de Type CNAME et dont le Champ est www et la Cible est votre nom de domaine avec un . à la fin
Cette entrée permet à votre navigateur de contacter la même adresse IP que pour geek17.com si vous taper www.geek17.com pour accéder au site.
Enfin, vous comprenez logiquement que l'entrée Type CNAME et avec le Champ est server1 permet exactement la même chose qu'avec www.
C'est mon IP qui est contacter en cas de contact sur server1.geek17.com
A titre d'info, j'aurai également pu utiliser une entrée de Type A, en indiquant Champ = server1 et l'adresse IP de mon serveur en Cible
Champ | Type | Cible |
server1 | A | 123.456.789.123 |
On utilise les entrées de type A pour pointer vers une adresse IP et les entrées de type CNAME pour pointer vers un domaine.
Configuration du reverse DNS
Rendez-vous à présent dans l'interface d'administration de votre serveur et rendez-vous dans la zone "IP" (dans le menu du gauche), exemple ci-dessous pour mon VPS OVH.
Il vous reste à indiquer le nom complet server1.geek17.com qui sera renvoyé lors des demandes de reverse DNS.
C'est en fait le fonctionnement inverse du DNS, cette fois-ci on connait l'adresse IP mais on veut savoir à quel serveur elle correspond.
Et c'est donc server1.geek17.com qui sera renvoyé lors des demandes de Reverse DNS sur mon adresse IP 123.456.789.123
Configuration du serveur Debian
Bon, nos DNS sont configurés, passons maintenant à la configuration du serveur.
Commencez par taper les commandes hostname et hostname -f dans le shell de votre serveur pour voir l'identification actuelle de votre serveur.
Dans l'exemple ci-dessous, c'est la config de mon VPS OVH après installation.
$ hostname
vps123456
$ hostname -f
vps123456.ovh.net
Commençons par changer le hostname, pour cela ouvrez le fichier /etc/hostname
sudo nano /etc/hostname
Dans mon cas, ce fichier contenani vps123456 que j'ai remplacé par server1
Ne mettez pas le nom de domaine dans ce fichier !
Reste le fichier /etc/hosts à mettre à jour,
sudo nano /etc/hosts
Normalement, il faut simplement remplacer la dernière ligne par 127.0.1.1 server1.geek17.com geek17
Sauf que OVH a préinstallé le service Cloud Init sur le VPS, et le fichier /etc/hosts ci-dessous sera modifié au reboot du serveur par le service Cloud Init.
Il est donc inutile de le modifier directement, il faut modifier la config du service Cloud Init !
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 debian.example.com
127.0.1.1 vpsxxxxxx vpsxxxxxx
127.0.1.1 vpsxxxxxx.ovh.net vpsxxxxxx
On ferme donc le fichier /etc/hosts (sans modification) et on ouvre le fichier /etc/cloud/cloud.cfg
sudo nano /etc/cloud/cloud.cfg
Au tout début de ce fichier, replacez l'entrée vps123456.ovh.net par server1.geek17.com (enfin votre équivalent à vous ).
#hostname: vps123456.ovh.net
hostname: server1.geek17.com
Enregistrez la modification et redémarrer le serveur via la commande
sudo reboot
Après le reboot, la configuration sera active. Pensez à vérifier avec la commande hostname
$ hostname
server1
$ hostname -f
server1.geek17.com