Beaucoup (trop) de domaines ont un TTL absurdement faible (entre 0 et 5 minutes), ce qui provoque - au bout de ce TTL - à nouveaux des requêtes DNS sortantes. Autrement dit: Beaucoup de requêtes DNS sortantes pour rien, qui ajoutent un délai de traitement inutile (surtout quand les DNS de votre FAI sont lents ou que votre connexion n'est pas très rapide).
Ubound est un résolveur DNS. On peut s'en servir comme résolveur pour un réseau local, mais dans cette page on ne va l'aborder que dans le cadre d'un résolveur utilisé uniquement par la machine sur laquelle il est installé. L'objectif est d'améliorer les temps de réponse des requêtes DNS des applications en utilisant le cache d'unbound.
Cette page contient donc les instructions pour installer un unbound local en forçant le TTL à 24 heures. Par la suite, il est possible que j'ajoute les instructions pour faire du DOH/DOT sortant. Il est également possible d'utiliser une liste de blocage avec unbound, mais je ne l'aborderai sans doute pas dans cette page car un simple script cron qui à met à jour /etc/hosts est déjà disponible et il fait bien son boulot sans avoir à toucher à unbound.
Les instructions ci-dessous ont été testées sur un Ubuntu 20.04.
Le service unbound consomme 15 Mo de RAM, c'est donc léger.
sudo apt install unbound
/etc/unbound/unbound.conf.d/myconf.conf
et mettez dedans:server: do-ip6: yes interface: 127.0.0.1 interface: "::1" access-control: 0.0.0.0/0 refuse access-control: ::0 refuse access-control: 127.0.0.0/8 allow access-control: ::1 allow cache-min-ttl: 86400 forward-zone: name: "." forward-addr: 80.67.169.12 forward-addr: 80.67.169.40 forward-addr: 2001:910:800::12 forward-addr: 2001:910:800::40 forward-addr: 194.242.2.3 forward-addr: 193.19.108.3 forward-addr: 2a07:e340::3 remote-control: control-enable: yes
sudo systemctl restart unbound
>sudo netstat -pantu | grep unbound tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 42046/unbound tcp 0 0 127.0.0.1:8953 0.0.0.0:* LISTEN 42046/unbound tcp6 0 0 ::1:53 :::* LISTEN 42046/unbound tcp6 0 0 ::1:8953 :::* LISTEN 42046/unbound udp 0 0 127.0.0.1:53 0.0.0.0:* 42046/unbound udp6 0 0 ::1:53 :::* 42046/unbound
127.0.0.1
(en IPv4) et ::1
(en IPv6):ldnsutils
:sudo apt install ldnsutils
drill google.com
google.com. 86400 IN A 216.58.213.14
sudo watch "unbound-control stats_noreset | grep -F total.num.cache"
total.num.cachehits=2145 total.num.cachemiss=323
Cela va dépendre de votre utilisation d'internet, mais en ce qui me concerne après quelques heures d'utilisation j'ai 80% requêtes DNS faites par les applications qui tombent dans le cache d'unbound.