Choisir ses DNS

Un petit mémo sur ma configuration pour choisir mes DNS en utilisant 3 outils:

  • Les dns choisis sont décrits dans dhcp-client.
  • La fonction cache est assurée par dnsmasq.
  • La connexion au réseau est gérée par network-manager

Environnement

PC sous Linux Debian 10 (Buster)

Paquets installés

  • network-manager, isc-dhcp-client, dnsmasq

Configuration

Network-Manager

Dans le fichier /etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile
dns=dnsmasq
dhcp=dhclient

[ifupdown]
managed=false

Dhcp-client

Dans le fichier /etc/dhcp/dhclient.conf

supersede domain-name-servers 64.6.64.6,80.67.188.188;
prepend domain-name-servers 127.0.0.1;

En 2021 je prends la https://www.fdn.fr/actions/dns/

supersede domain-name-servers 80.67.169.12,80.67.169.40;

Dnsmasq

Dans le fichier /etc/dnsmasq.conf

# conf perso
port=0
listen-address=127.0.0.1
no-hosts
log-queries

Vérification

  • Après redémarrage du PC
cat /etc/resolv.conf 

# Generated by NetworkManager
nameserver 127.0.0.1
  • Pour être plus curieux:
journalctl -xb | grep dns
nmcli | grep DNS -A2
DNS configuration:
	servers: 127.0.0.1 64.6.64.6 80.67.188.188
	interface: wlp3s0b1
  • Pour tester le temps de réponse
dig debian.org
  • Lister les caractéristiques des connexions utilisées par Network-Manager dans /var/lib/NetworkManager

Utiliser dnssec

Démasquer les options dans /etc/dnsmasq.conf


conf-file=/usr/share/dnsmasq-base/trust-anchors.conf
dnssec
dnssec-check-unsigned

Tester dnssec

La première requête est sécurisée, flag ad présent, car la réponse vient du dns.

dig sigok.verteiltesysteme.net

; <<>> DiG 9.11.5-P1-2-Debian <<>> sigok.verteiltesysteme.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25020
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sigok.verteiltesysteme.net.	IN	A

;; ANSWER SECTION:
sigok.verteiltesysteme.net. 60	IN	A	134.91.78.139

;; Query time: 51 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: lun. févr. 25 17:06:56 CET 2019
;; MSG SIZE  rcvd: 71

La deuxième est vue non sécurisée, car la réponse vient du cache

dig sigok.verteiltesysteme.net

; <> DiG 9.11.5-P1-2-Debian <> sigok.verteiltesysteme.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35826
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sigok.verteiltesysteme.net.	IN	A

;; ANSWER SECTION:
sigok.verteiltesysteme.net. 56	IN	A	134.91.78.139

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: lun. févr. 25 17:07:00 CET 2019
;; MSG SIZE  rcvd: 71

Test en ligne http://www.dnssec-or-not.com/

Tracer

dig +trace +multiline debian.org

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.