Créer un second serveur dnschef renvoyant toutes les requêtes DNS vers le serveur principal sauf si ce dernier est mort.
========================================================================================================================
Ce tuto suit [celui sur l'installation d'un rogue DNS avancé](https://linuxfr.org/wiki/tuto-howto-mettre-en-place-un-serveur-dns-aux-noms-de-domaines-parametrable-rogue-dns). Il a pour objectif de vous permettre d'ajouter un simple serveur [dnschef](http://thesprawl.org/projects/dnschef/) de secours qui renverra toutes les requêtes qu'il reçoit vers votre serveur principal sauf quand ce dernier ne réponds plus. Il permet de ne pas avoir à ré-installer/entretenir un second [pihole](https://pi-hole.net/).
Dans le script que nous allons utiliser la vérification se fait en demandant au serveur DNS principale de résoudre le nom d'une des adresses bloquée par PiHole ou d'une adresse souvent ré-utilisé (par exemple ntp.windows.com) et donc utile a garder en cache. Ceci afin de diminuer au maximum la consommation réseau/machine et le temps de réponse. Vous pouvez checker n'importe quel nom de domaine.
Pour rappel : si vous définissez deux serveurs DNS sur votre réseau, certains de vos clients vont utiliser les deux en même temps.
**Allez dans le dossier où ranger le script (ici on choisit _/opt/scripts_).**
```
cd /opt/scripts
```
**Téléchargez le script.**
```
wget https://gitlab.com/voxdemonix/cluster/raw/master/Domain%20Name%20System/auto_dnschef.bash
```
**Accordez les bonnes permissions sur le script.**
```
chown root:root /opt/scripts/auto_dnschef.bash
chmod 774 /opt/scripts/auto_dnschef.bash
```
**Éditez le scripts et adaptez les variables.**
```
nano /opt/scripts/auto_dnschef.bash
```
**Éditez le cron système (en root sauf si vous avez créé un utilisateur pouvant ouvrir le port 53)**
```
crontab -e
```
**Et ajoutez la commande suivante (en adaptant éventuellement l'emplacement du script). _CTRL+X_ pour sauver et quitter.**
```
# DNS
*/2 * * * * /opt/scripts/auto_dnschef.bash
```
Ici on choisit de lancer le script toutes les deux minutes (vous pouvez changer selon votre guise). Si votre DNS principal tombe il faudra donc au grand maximum 2 minutes pour que le second prenne le relais.