Unbound est un serveur de mise en cache DNS gratuit, open source, récursif et validant. Il utilise DNS-over-TLS et DNS-over-HTTPS pour chiffrer les connexions entre les clients. Comparé à Bind9, Unbound est léger et extrêmement rapide. Un serveur de cache vous aidera à réduire le temps de chargement du site Web en conservant la base de données de cache sur un serveur Unbound. Il est également capable de validation DNSSEC et peut servir d'ancre de confiance.
Dans cet article, nous vous montrerons comment configurer Unbound DNS Resolver sur Ubuntu 20.04.
Prérequis
- Un nouveau serveur Ubuntu 20.04 sur la plate-forme cloud Atlantic.Net
- Un mot de passe root configuré sur votre serveur
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 20.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur Ubuntu 20.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 - Installer les dépendances requises
Avant de commencer, vous devrez installer certains outils DNS de base sur votre système. Vous pouvez tous les installer à l'aide de la commande suivante :
apt-get install bind9-utils dnsutils net-tools -y
Une fois tous les packages installés, vous pouvez passer à l'étape suivante.
Étape 3 – Installer et configurer le DNS non lié
apt-get install unbound -y
Après avoir installé Unbound DNS, vous devrez le configurer. Par défaut, le fichier de configuration principal Unbound se trouve dans /etc/unbound/unbound.conf. Cependant, il est recommandé de créer un fichier de configuration séparé :
nano /etc/unbound/unbound.conf.d/myunbound.conf
Ajoutez les lignes suivantes :
server:port :53verbosity :0num-threads :2outgoing-range :512num-queries-per-thread :1024msg-cache-size :32minterface :0.0.0.0rrset-cache-size :64mcache-max-ttl :86400infra- host-ttl :60infra-lame-ttl :120access-control :127.0.0.0/8 allowaccess-control :0.0.0.0/0 allowusername :unbounddirectory :"/etc/unbound"logfile :"/var/log/unbound.log" use-syslog :nohide-version :yesso-rcvbuf :4mso-sndbuf :4mdo-ip4 :yesdo-ip6 :nodo-udp :yesdo-tcp :yesremote-control :control-enable :yescontrol-port :953control-interface :0.0. 0.0
Enregistrez et fermez le fichier, puis validez le fichier de configuration avec la commande suivante :
unbound-checkconf /etc/unbound/unbound.conf.d/myunbound.conf
Vous devriez obtenir le résultat suivant :
unbound-checkconf :aucune erreur dans /etc/unbound/unbound.conf.d/myunbound.conf
Ensuite, créez un fichier journal pour Unbound et définissez les autorisations appropriées :
touchez /var/log/unbound.logchown unbound:unbound /var/log/unbound.log
Étape 4 - Démarrer le service DNS non lié
À ce stade, Unbound DNS est installé et configuré. Maintenant, redémarrez le service Unbound et activez-le pour qu'il démarre au redémarrage du système :
systemctl restart unboundsystemctl enable unbound
Vous pouvez également vérifier l'état de Non lié avec la commande suivante :
statut systemctl non lié
Exemple de sortie :
● unbound.service - Serveur DNS non lié chargé :chargé (/lib/systemd/system/unbound.service ; activé ; préréglage du fournisseur :activé) Actif :actif (en cours d'exécution) depuis le dim 2021-08-15 06h30 :33 UTC ; Il y a 7 s Docs :man:unbound(8) Processus :2788 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup (code=exited, status=0/SUCCESS) Processus :2791 ExecStartPre=/usr/lib/unbound/package -helper root_trust_anchor_update (code=exited, status=0/SUCCESS) PID principal :2804 (non lié) Tâches :2 (limite :2353) Mémoire :4,8 M CGroup :/system.slice/unbound.service └─2804 /usr/sbin /unbound -dAug 15 06:30:32 ubuntu2004 systemd[1] :Démarrage du serveur DNS non lié... 15 août 06:30:33 ubuntu2004 package-helper[2796] :/var/lib/unbound/root.key a un contenuAug 15 06:30:33 ubuntu2004 package-helper[2796] :succès :l'ancre est okAug 15 06:30:33 ubuntu2004 systemd[1] :serveur DNS non lié démarré.À ce stade, le service Unbound est démarré et écoute sur le port 53. Vous pouvez le vérifier à l'aide de la commande suivante :
ss -antpl | grep 53Exemple de sortie :
ECOUTE 0 256 0.0.0.0:53 0.0.0.0:* utilisateurs:(("unbound",pid=3407,fd=6)) ECOUTE 0 256 0.0.0.0:53 0.0.0.0:* utilisateurs:(( "unbound",pid=3407,fd=4)) ECOUTEZ 0 4096 127.0.0.53%lo:53 0.0.0.0:* utilisateurs:(("systemd-resolve",pid=356,fd=13)) ECOUTEZ 0 256 0.0.0.0:953 0.0.0.0:* utilisateurs :(("unbound",pid=3407,fd=7))Étape 5 – Tester le DNS non lié
Maintenant, vous devrez utiliser la commande dig et effectuer quelques requêtes DNS pour tester le serveur DNS non lié.
Nous utiliserons ubuntu.com pour les tests.
creusez ubuntu.com @localhostExemple de sortie :
; <<>> DiG 9.16.1-Ubuntu <<>> ubuntu.com @localhost;; options globales :+cmd;; J'ai eu la réponse : ; ->>HEADER<<- opcode :QUERY, statut :NOERROR, id :6037 ;; drapeaux :qr rd ra ; REQUÊTE :1, RÉPONSE :2, AUTORITÉ :0, SUPPLÉMENTAIRE : 1 ;; OPT PSEUDOSECTION : ; EDNS :version :0, drapeaux :; udp :4096;; SECTION DES QUESTIONS :;ubuntu.com. DANS UN;; SECTION DE RÉPONSE :ubuntu.com. 60 DANS UN 91.189.88.181ubuntu.com. 60 DANS UN 91.189.88.180;; Temps de requête :307 ms;; SERVEUR :127.0.0.1#53(127.0.0.1);; QUAND :Dim 15 août 06:32:18 UTC 2021;; TAILLE MSG reçu :71Comme vous pouvez le voir, le temps de requête est 307 msec dans la première requête. Votre requête est maintenant mise en cache.
Ensuite, exécutons à nouveau la même requête :
creusez ubuntu.com @localhostExemple de sortie :
; <<>> DiG 9.16.1-Ubuntu <<>> ubuntu.com @localhost;; options globales :+cmd;; J'ai eu la réponse : ; ->>HEADER<<- opcode :QUERY, statut :NOERROR, id :37832 ;; drapeaux :qr rd ra ; REQUÊTE :1, RÉPONSE :2, AUTORITÉ :0, SUPPLÉMENTAIRE : 1 ;; OPT PSEUDOSECTION : ; EDNS :version :0, drapeaux :; udp :4096;; SECTION DES QUESTIONS :;ubuntu.com. DANS UN;; SECTION DE RÉPONSE :ubuntu.com. 49 DANS UN 91.189.88.180ubuntu.com. 49 DANS UN 91.189.88.181;; Temps de requête :0 ms;; SERVEUR :127.0.0.1#53(127.0.0.1);; QUAND :Dim 15 août 06:33:36 UTC 2021;; TAILLE MSG reçu :71Comme vous pouvez le voir, le temps de requête est 0 msec.
Vous pouvez également tester le serveur DNS non lié à partir de la machine cliente. Dans ce cas, vous devrez spécifier l'IP de votre serveur DNS Unbound avec la requête :
creusez ubuntu.com @69.87.221.220Exemple de sortie :
; <<>> DiG 9.9.5-3ubuntu0.4-Ubuntu <<>> ubuntu.com @69.87.221.220;; options globales :+cmd;; J'ai eu la réponse : ; ->>HEADER<<- opcode:QUERY, status:REFUSED, id:28051;; drapeaux :qr rd ad ; REQUÊTE :0, RÉPONSE :0, AUTORITÉ :0, SUPPLÉMENTAIRE :0 ;; ATTENTION :récursivité demandée mais non disponible;; Temps de requête :365 msec;; SERVEUR :69.87.221.220#53(69.87.221.220);; QUAND :Dim 15 août 12:04:37 IST 2021;; TAILLE MSG reçu :12Étape 6 :Dépannage d'Unbound
Si vous souhaitez vérifier l'état du DNS non lié, exécutez la commande suivante :
statut de contrôle indépendantExemple de sortie :
version :1.9.4verbosité :0threads :2modules :3 [ subnet validator iterator ]uptime :65 secondsoptions :reuseport control(ssl)unbound (pid 3407) is running...Si vous souhaitez sauvegarder un cache DNS dans un fichier texte, exécutez la commande suivante :
unbound-control dump_cache> cache.txtVous pouvez vérifier le fichier cache.txt avec la commande suivante :
cat cache.txtExemple de sortie :
START_RRSET_CACHEEND_RRSET_CACHESTART_MSG_CACHEEND_MSG_CACHEEOFDans certains cas, votre serveur DNS ne peut pas répondre à votre requête. Dans ce cas, vous pouvez vider le cache DNS à l'aide de la commande suivante :
unbound-control flush ubuntu.comConclusion
Dans le guide ci-dessus, nous avons expliqué comment installer et utiliser un serveur de mise en cache DNS non lié sur Ubuntu 20.04. Nous avons également effectué des tests à l'aide de la commande dig pour interroger le DNS non lié et obtenir une réponse. Essayez-le sur votre VPS d'Atlantic.Net dès aujourd'hui !