Après avoir mis à niveau mon installation de 16.04 vers 16.10, j'ai des problèmes avec DNS.
Tout d'abord, j'ai eu quelques problèmes de connexion au WiFi alors que cela fonctionnait sur Ethernet. Maintenant, il semble que le WiFi fonctionne également. Je ne sais pas pourquoi, et si cela a un quelconque rapport avec le problème auquel je fais face maintenant:
Lors de la connexion à un hôte VPN avec Cisco Anyconnect VPN , une ligne est ajoutée dans '/etc/resolv.conf' . Je comprends que Ubuntu utilise maintenant systemd-resol , et la page de manuel indique qu’il existe trois modes de gestion de /etc/resolv.conf différents. Mon /etc/resolv.conf n’est pas un lien symbolique et ne répertorie pas 127.0.0.53 en tant que serveur DNS. Par conséquent, pour autant que je sache, systemd-resol devrait "le lire pour les données de configuration DNS". Cependant, il ne semble pas s'en soucier.
creuser
La chose étrange (pour moi) est que dig host.customer.tld
renvoie une bonne réponse avec une SECTION DE RÉPONSE indiquant l'adresse IP de l'hôte demandé, et fait référence au serveur DNS ajouté à /etc/resolv.conf par le client VPN en tant que SERVEUR. Lorsque la connexion VPN est désactivée, je ne reçois aucune réponse. Ie dig lit /etc/resolv.conf .
ping
Le navigateur, de l’autre côté, n’a pas accès à /etc/resolv.conf et n’est pas en mesure de résoudre le nom d’hôte. Soit dit en passant, ping / curl non plus.
nmcli
J'ai trouvé un article connexe et j'ai essayé de courir
nmcli device show <interfacename> | grep IP4.DNS
mais il ne répertorie pas de DNS pour le périphérique cscotun0. Cependant, nmcli répertorie mon serveur DHCP (mon routeur) en tant qu'hôte IP4.DNS pour mes connexions eth / wlan. Utiliser dig @192.168.0.1 xxx
pour tout domaine public fonctionne bien.
configuration
Il existe d'autres serveurs DNS répertoriés dans mon /run/systemd/resolve/resolv.conf:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
Ceux-ci ne sont pas servis par mon serveur DHCP. le fichier /etc/systemd/resolved.conf contient uniquement des lignes commentées, à l'exception de l'en-tête de section:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
La page de manuel de resol.conf indique que
DNS = Liste d'adresses IPv4 et IPv6 séparées par des espaces à utiliser comme serveurs DNS système. ... Pour des raisons de compatibilité, si ce paramètre n'est pas spécifié, les serveurs DNS répertoriés dans /etc/resolv.conf sont utilisés à la place, si ce fichier existe et si des serveurs y sont configurés. Ce paramètre est défini par défaut sur la liste vide.
FallbackDNS = Liste d'adresses IPv4 et IPv6 séparées par des espaces à utiliser comme serveurs DNS de secours. Tous les serveurs DNS par lien obtenus à partir de systemd-networkd.service (8) ont priorité sur ce paramètre, comme tous les serveurs définis via DNS = ci-dessus ou /etc/resolv.conf. Ce paramètre n'est donc utilisé que si aucune autre information de serveur DNS n'est connue. Si cette option n'est pas donnée, une liste compilée de serveurs DNS est utilisée.
On dirait que la solution de repli aboutit dans /run/systemd/resolve/resolv.conf dans mon cas.
EDIT: Je ne savais pas quel était le problème et, pour être honnête, je ne sais toujours pas comment cela fonctionne, mais au moins, il s’est avéré que la solution dans mon cas était de désactiver le systemd-resolved
service. Je pensais que ce service était nécessaire, que c'était le composant qui fournissait le service DNS à toutes les applications locales, mais apparemment, il y a autre chose qui fait ce travail.