Il y a quelque chose de terriblement mal avec mon installation Debian actuelle. La plupart des programmes comme firefox, nslookup, dig etc. ignorent les entrées du /etc/hosts
fichier, en fait j'utilise ce fichier pour le blocage des publicités.
un exemple
une ligne dans un /etc/hosts
fichier
127.0.0.1 www.winaproduct.com
quand je le fais, dig +short www.winaproduct.com
il renvoie l'adresse IP respective du serveur, non 127.0.0.1
.
Ouvert www.winaproduct.com
sur Firefox, il affiche le site Web respectif, mais cela n'est pas prévu.
Mais il n'y a pas de problème avec ping
, busybox nslookup
, busybox ping
, resolveip
etc.
Alors quel est le problème ? Et comment y remédier? Je pense que le problème vient de la bibliothèque de résolution DNS.
Un correctif arrêt temporaire, la configuration dnsmasq
et le changement nameserver
de 127.0.0.1
dans /etc/resolv.conf
.
mise à jour
problème résolu comme par magie après l'installation libnss3
, en tant que dépendance degoogle-chrome
/etc/nsswitch.conf par défaut ressemble hosts: files dns
comment savoir nslookup
, dig
etc. demandez d'abord au fichier / etc / hosts au lieu de demander directement au DNS?
mais pourquoi busybox nslookup
, wget
, resolveip
etc. travaillent différemment nslookup
, dig
etc.?
hosts:
entrée/etc/nsswitch.conf
?hosts: files dns
Réponses:
nslookup
,dig
ethost
sont des outils permettant d'interroger les serveurs de noms DNS.Si votre configuration n'est pas fournie par un serveur de noms (comme les informations fournies dans
/etc/hosts
), ces outils ne les afficheront pas, car ils demandent directement au serveur de noms.Si vous voulez vérifier que la résolution "habituelle" fonctionne (c'est-à-dire de la manière indiquée dans
/etc/nsswitch.conf
), vous pouvez utilisergetent
:la source
getent hosts www.winaproduct.com
fonctionne parfaitement, maisnslookup
,dig
,host
etc. ne sont à titre d' exemple, je veux sur Firefox .wget
ou un autre navigateur comme Chrome. Sigetent
donne le résultat attendu, tous devraient le faire.No Proxy
. Alors, comment direnslookup
,dig
etc., demandez d'/etc/hosts
abord le fichier au lieu de demander directement au DNS?. Merci pour votre précieux commentaire.Vous pouvez installer DNSmasq qui lira vos entrées / etc / hosts et les importera dans son cache DNS. Ensuite, tous vos outils DNS et applications de requête DNS tels que dig, host et nslookup recevront des réponses provenant du fichier / etc / hosts.
la source