Remplacer resolver dns systemd-resolved par dnsmasq sur Ubuntu 18.04 |
Article original Publié le : 08 juin 2019
Mise a jour le : – |
Pour des raisons obscures, suite a des mises a jours sur Ubuntu 18.04, je n’ai plus de résolution dns a travers mon vpn.
Un systemd-resolve –status ne me renvoi aucun serveur dns sur mon tunnel vpn
Les fichiers de conf sont bien configurés, et aucun changement n’a été apporté a ceux ci par les updates :/
La solution de contournement a été de désactiver le resolver natif systemd-resolved.service et d’utiliser dnsmasq
Créer un fichier de resolver pour dnsmasq et y renseigner ces serveur dns.
1 |
$ sudo vim /etc/NetworkManager/dnsmasq.d/monresolv.conf |
1 2 3 4 |
cache-size=1000 except-interface=lo server=/nom.domaine.tld/adresse_ip_serveur_dns_1 server=/nom.domaine.tld/adresse_ip_serveur_dns_2 |
Stopper et désactiver le service systemd-resolved
1 |
$ sudo systemctl disable systemd-resolved.service && sudo systemctl stop systemd-resolved.service |
Supprimer le fichier resolv.conf
1 |
$ sudo rm /etc/resolv.conf |
Éditer le fichier NetworkManager et ajouter la méthode dns=dnsmasq
1 |
$ sudo vim /etc/NetworkManager/NetworkManager.conf |
1 2 3 |
[main] plugins=ifupdown,keyfile dns=dnsmasq |
Redémarrer le service NetworkManager
1 |
$ sudo systemctl restart NetworkManager |
Vérifier que le service dnsmasq est bien lancé
1 |
# ps -ef | grep dnsmasq |
1 |
nobody 11265 11046 0 12:22 ? 00:00:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --clear-on-reload --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d |
Vérifier le fichier resolv.conf
1 |
$ cat /etc/resolv.conf |
1 2 3 |
# Generated by NetworkManager search nom.domaine.tld nameserver 127.0.1.1 |