Il semble que j'ai un problème de DNS, bien que je ne sois pas vraiment sûr.
Lorsque vous naviguez sur Internet, tout va vite et bien. Mais lorsque vous utilisez un terminal, les choses commencent à devenir bizarres.
Lorsque je lance un ping sur www.google.com, j'ai un bon temps de retour, mais chaque demande prend beaucoup de temps (environ 7 à 8 secondes par demande). Lorsque vous utilisez ping -n www.google.com ou que vous faites un ping directement sur l'ip, tout va bien. Ceci est lié à Comment expliquer une RTT faible entre des intervalles de ping extrêmement longs (10 secondes)? ou linux ping n'envoie pas réellement 1 paquet par seconde .
Selon les réponses à ces questions, il s’agit d’un problème de DNS. Mais comme je l'ai dit quand je navigue sur Internet, tout va bien. Il n'y a pas de délai de 8 secondes pour charger une page. Cela se produit uniquement dans un terminal. Je ne comprends pas comment un problème de DNS pourrait affecter un terminal mais pas un navigateur Internet.
Ce ne serait pas un problème, sauf que je dois régulièrement mettre à jour une liste de miroirs pour le téléchargement de mises à jour logicielles (la commande est pacman-mirrors, sur un ordinateur Arch), et en raison du retard, ils se terminent tous en conséquence et sont donc mis à jour. échoue.
Je ne l'ai pas encore essayé, mais peut-être que changer le DNS avec celui de Google fonctionnerait. Cependant, il s’agit plus d’une solution de contournement que d’une solution, et j’estime que le problème devrait être résolu autant que possible.
Merci de votre aide.
Réponses:
Première hypothèse: vos serveurs DNS configurés sont très lents et vous n'avez pas installé de cache DNS local pouvant fonctionner à l'échelle du système.
Pendant ce temps, certains navigateurs Web (au moins Firefox et Chromium) ont interne La mise en cache DNS, afin qu'ils n'envoient pas de requêtes souvent. Chromium essaye parfois même de faire des recherches DNS avant même de cliquer sur le lien, de sorte que vous ne remarquiez jamais le retard.
Utilisation
dig
ou un outil similaire pour comparer différents serveurs DNS:Si seul votre serveur actuel est lent, remplacez-le par un serveur plus rapide. (Parfois, les passerelles domestiques ont tendance à avoir des serveurs proxy DNS vraiment merdiques. C’est particulièrement malchanceux avec D-Link moi-même.)
Mais si tout d’entre eux sont lents, installez-en un qui s’exécute localement (agit comme un cache local) - Unbound ou dnsmasq sont de bons choix. (Bien sûr, il serait intéressant de comprendre Pourquoi votre réseau ralentit tellement les requêtes DNS ...)
Si NetworkManager est utilisé, vous pouvez lui indiquer de configurer automatiquement Dnsmasq - set
dns=dnsmasq
dans le fichier NetworkManager.conf (5). (La dernière version 0.9.10 prend également en chargedns=unbound
.)Pour le configurer manuellement, démarrez le service approprié et modifiez
/etc/resolv.conf
d'utiliser 127.0.0.1 comme serveur de noms.la source
dig
semble utile. Alors j’ai essayé, et il semble que les serveurs DNS de /etc/resolv.conf ne fonctionnent pas.$ cat /etc/resolv.conf # Generated by resolvconf domain soton.ac.uk nameserver 152.78.3.34 nameserver 152.78.3.35 nameserver 192.168.0.1
$ dig www.google.com @152.78.3.xx dig: couldn't get address for '152.78.3.xx': not found
Bien que quand je ne spécifie pas le@server
une partie, je reçois:;; Query time: 389 msec ;; SERVER: 192.168.0.1#53(192.168.0.1)
dig www.google.com @152.78.3.34 ;; connection timed out; no servers could be reached
resolvconf -u
a fait cela mais apparemment pas. Et ça devrait être automatique, je ne sais pas pourquoi ça ne marche pas vraiment. (au fait, j'ai quelque chose comme 10 ms sur la passerelle de mon LAN maintenant, c'est bien)