# Installation du serveur DNS Nous allons installer **bind**. root@aijan:/home/ericadmin# apt install bind9 Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait The following additional packages will be installed: bind9utils libirs141 etc ... root@aijan:/home/ericadmin# service bind9 start root@aijan:/home/ericadmin# netstat -tlpn Connexions Internet actives (seulement serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 13815/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 13815/named tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 594/sshd tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 13815/named tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 803/master tcp6 0 0 :::53 :::* LISTEN 13815/named tcp6 0 0 :::22 :::* LISTEN 594/sshd tcp6 0 0 ::1:953 :::* LISTEN 13815/named tcp6 0 0 :::25 :::* LISTEN 803/master root@aijan:/home/ericadmin# Bien, bind a démarré et écoute sur les ports 53 et 953, en IPV4 et IPV6. Il nous reste à configurer les zones et à ouvrir les ports (firewall). Je vais utiliser comme serveur **dns** secondaire pour la zone **yojik.net** le serveur que j'utilise déjà pour la zone **yojik.eu**. Nous configurerons le serveur dns local pour qu'il transfère les zones automatiquement vers notre serveur dns secondaire. Voilà la structure générale de mes serveurs DNS: * adara.yojik.eu: serveur DNS primaire pour le domaine yojik.eu * polis.yojik.eu: - serveur DNS secondaire pour le domaine yojik.eu - serveur DNS secondaire pour le domaine yojik.net aijan.yojik.net: serveur DNS primaire pour le site yojik.net Ce dernier serveur déclarera l'ensemble des machines et serveurs du domaine yojik.net. (ce sont les machines de bureau/portables ainsi que le serveurs hébergés à la maison.) Les enregistrements **glue** seront renseignés chez mon registrar (OVH dans mon cas). Les serveurs DNS seront également déclarés chez ce registrar. Notre zone yojik.net est déclarée dans le fichier **/etc/bind/named.conf.local**. (en faire une copie de sauvegarde!) Voici son contenu avant modification: // // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; Contenu après ajout de la zone yojik.net: zone "yojik.net" { type master; file "/etc/bind/db.yojik.net"; }; Dans tous les tutorials, vous verrez la déclaration des zones inverses: après de nombreux échanges avec des spécialistes, il s'avère que ce n'est pas nécessaire, car mes serveurs DNS ne seront jamais interrogés pour la résolution inverse: pour cela, il faudrait que mon registrar me délègue la gestion de la zone. Je n'ai qu'une adresse IPV4 associée à ce domaine et pas de délégation. Création du fichier de zone **db.yojik.net** dans le répertoire **/etc/bind**. root@aijan:/etc/bind# vim db.yojik.net root@aijan:/etc/bind# cat db.yojik.net $TTL 86400 $ORIGIN yojik.net. @ IN SOA aijan.yojik.net. hostmaster.yojik.net. ( 2018052001 ; serial à changer à chaque modification 7200 ; refresh, 12h 3600 ; retry, 1h 1209600 ; expire 86400 ) ; negative cache, 24h ; nameservers IN NS aijan.yojik.net. IN NS polis.yojik.eu. ;mail server IN MX 10 aijan.yojik.net. ; domain hosts yojik.net. IN A 82.64.48.5 yojik.net. IN AAAA 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93 aijan IN A 82.64.48.5 aijan IN AAAA 2a01:e0a:54:c220:3aea:a7ff:fea6:cf93 On relance bind et on teste en local: root@aijan:/home/ericadmin# service bind9 restart root@aijan:/home/ericadmin# nslookup aijan.yojik.net localhost Server: localhost Address: ::1#53 Name: aijan.yojik.net Address: 82.64.48.5 root@aijan:/home/ericadmin# Ça marche! Test de notre enregistrement MX (mail) avec **dig**: root@aijan:/etc/bind# dig @localhost aijan.yojik.net MX ; <> DiG 9.10.3-P4-Debian <> @localhost aijan.yojik.net MX ; (2 servers found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21275 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;aijan.yojik.net. IN MX ;; AUTHORITY SECTION: yojik.net. 86400 IN SOA aijan.yojik.net. hostmaster.yojik.net. 2018052003 7200 3600 1209600 86400 ;; Query time: 0 msec ;; SERVER: ::1#53(::1) ;; WHEN: Sun May 20 10:27:17 CEST 2018 ;; MSG SIZE rcvd: 91 Il nous reste plusieurs éléments à configurer pour que notre serveur dns soit pris en compte. 1. Configurer notre box pour rediriger les requêtes extérieures DNS sur notre serveur DNS personnel. 2. Mettre à jour la configuration de nos enregistrements chez notre registrar. 3. Ajouter notre zone à notre serveur DNS secondaire (polis.yojik.eu) et mise à jour de la clef de connexion. Fichier /etc/bind/conf.named.local zone "yojik.eu" { type slave; file "db.yojik.eu.local"; masters { 91.121.72.10; }; }; zone "yojik.net" { type slave; file "db.yojik.net.local"; masters { 82.64.48.5; }; }; ### Configuration des options: fichier /etc/bind/named.conf.options options { directory "/var/cache/bind"; // 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 { // 0.0.0.0; // }; //======================================================================== // 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; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; listen-on { any; }; allow-update { none; }; allow-recursion { 127.0.0.1; ::1; 91.121.72.10;2001:41d0:1:7d0a::1; 37.187.3.182; 2001:41d0:a:3b6::1; }; allow-transfer { 37.187.3.182; 2001:41d0:a:3b6::1; }; version "BIND"; }; Pensez à vérifier que la clef située dans le fichier: /etc/bind/rndc.key est identique sur votre serveur primaire et secondaire. ### Configuration de votre **box** et des enregistrements de votre registrar Cela étant très dépendant de chaque registrar et de chaque **box**, je vous laisse chercher sur le net les informations utiles. Sachez tout de même que peu de fournisseurs d'internet autorisent l'installation d'un serveur émail personnel. I8l vous faudra souvent attendre un peu avant que la configuration ne soit prise en compte chez votre registrar. ### Vérification de la config DNS: Allez sur le site [toolbox](https://toolbox.googleapps.com/apps/dig/) pour tester votre configuration. ### Configuration du reverse DNS Si vous hébergez votre serveur *chez vous*, vous devrez configurer le reverse DNS dans la page d'administration de votre ligne Internet. Pour le FAI Free, allez sur la page: "Personnalisez mon reverse DNS", et mettez votre nom de doamine dans le champ adéquat. Il faut quelques heures pour que la propagation se fasse.