Dans ce didacticiel, nous allons vous montrer comment installer et configurer un serveur DNS sur Ubuntu 16.04 LTS. Pour ceux d'entre vous qui ne le savaient pas, BIND est un serveur DNS largement utilisé. Idéalement , un serveur DNS est constitué de 2 machines qui fonctionnent simultanément, l'une agissant en tant que maître et l'autre en tant qu'esclave. Si votre registrar de domaine ne vous fournit pas de serveur DNS gratuit, ou si vous souhaitez créer un enregistrement DNS personnalisé, vous devrez peut-être héberger votre propre serveur DNS.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l'installation étape par étape et configurer le serveur DNS sur Ubuntu sur un serveur Ubuntu 16.04 (Xenial Xerus).
Prérequis
- Un serveur exécutant l'un des systèmes d'exploitation suivants :Ubuntu 16.04 (Xenial Xerus).
- Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
- Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
- Un
non-root sudo user
ou l'accès à l'root user
. Nous vous recommandons d'agir en tant qu'non-root sudo user
, cependant, vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.
Installer et configurer le serveur DNS sur Ubuntu 16.04 LTS
Hébergeur | Rôle | FQDN privé | Adresse IP privée |
---|---|---|---|
ns1 | Serveur DNS principal | 108.100.100.1 | |
ns2 | Serveur DNS secondaire | 108.100.100.2 | |
hébergeur | Hôte générique | votre-domaine.com | 216.239.38.120 |
Étape 1. Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant le suivant apt-get
commandes dans le terminal.
sudo apt-get update sudo apt-get upgrade
Étape 2. Installation du serveur DNS Bind9.
Après la mise à jour du système, exécutez la commande suivante pour installer les packages BIND9 utilisés pour configurer le serveur DNS :
apt-get install bind9 bind9utils bind9-doc
Étape 3. Configurez Bind9.
Il est temps de vous montrer une configuration de base sur la configuration de votre domaine pour qu'il se résolve sur votre serveur :
### nano /etc/bind/named.conf.options options { directory "/var/cache/bind"; additional-from-auth no; additional-from-cache no; version "Bind Server"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 8.8.8.8; 8.8.4.4; }; //======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-validation auto; allow-recursion { 127.0.0.1; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
Étape 4. Configurer le fichier local.
Ensuite, nous allons configurer le fichier local, pour spécifier nos zones DNS :
### nano /etc/bind/named.conf.local //place these lines at the bottom of file zone "your-domain.com" { type master; file "/etc/bind/zones/your-domain.com.db"; allow-transfer { 108.200.200.2; }; also-notify { 108.200.200.200.2; }; };
Parce que dans la configuration ci-dessus, nous avons mis le fichier de zone dans "/etc/bind/zones/your-domain.com.db
", alors nous devons créer le dossier et le fichier :
mkdir /etc/bind/zones nano /etc/bind/zones/your-domain.com.db
$TTL 86400 $ORIGIN your-domain.com. @ IN SOA ns1.your-domain.com. root.your-domain.com. ( 1 ; Serial 86400 ; Refresh 7200 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.your-domain.com. @ IN NS ns2.your-domain.com. ns1 IN A 108.100.100.1 ns2 IN A 108.100.100.2 ;also list other computers @ IN A 216.239.38.120 www IN A 216.239.38.120
Et puis redémarrez le service bind9 pour que les modifications prennent effet :
systemctl restart bind9
Étape 5. Configurez le serveur DNS secondaire.
Configurer les options de liaison esclave :
### nano /etc/bind/named.conf.options zone "your-domain.com" { type slave; file "/var/cache/bind/your-domain.com.db"; masters {108.100.100.1;}; };
Redémarrez le service bind9 pour appliquer les modifications :
systemctl restart bind9
Ce serveur DNS ne fonctionnera pas tant que vous n'aurez pas modifié le serveur de noms de votre domaine. Cela peut être fait à partir du site Web du registraire de votre domaine. Dans ce scénario, nous changeons le serveur de noms en :
ns1.votre-domaine.com
ns2.votre-domaine.com
Étape 6. Test de BIND.
Enfin, ce test pourra se faire soit sur le serveur DNS lui-même, soit depuis un autre serveur, soit depuis votre propre PC. Dans ce cas, nous ferons le test depuis un autre serveur exécutant le système d'exploitation Ubuntu.
Installez dnsutils :
apt-get install dnsutils
Faites le test DNS :
dig your-domain.com
Faites le test DNS nslookup :
nslookup your-domain.com
Félicitations ! Vous avez installé avec succès le serveur DNS. Merci d'avoir utilisé ce didacticiel pour installer le serveur DNS sur le système Ubuntu 16.04 LTS (Xenial Xerus). Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons pour consulter le site officiel de bind9.