nslookup,dig,firefox忽略/ etc / hosts文件条目


10

我当前的Debian安装存在严重问题。大多数程序(例如firefox,nslookup,dig等)都忽略了/etc/hosts文件中的条目,实际上我将此文件用于广告拦截。

一个例子

/etc/hosts文件中的一行

127.0.0.1 www.winaproduct.com

当我这样做时,dig +short www.winaproduct.com它返回服务器的相应IP地址,而不是127.0.0.1

www.winaproduct.com在firefox上打开,它会显示相应的网站,但这不是预期的。

但有没有问题pingbusybox nslookupbusybox pingresolveip等。

那么,有什么问题呢?以及如何解决它?我认为问题出在DNS解析库上。

一个临时的解决行动,建立dnsmasq和变革nameserver,以127.0.0.1/etc/resolv.conf

更新

问题安装后奇迹般地解决libnss3,作为一个依赖google-chrome

默认的/etc/nsswitch.conf看起来像 hosts: files dns

如何分辨nslookupdig等等。先问/ etc / hosts文件,而不是直接问DNS?

但为什么busybox nslookupwgetresolveip等的不是工作不同nslookupdig等等?


什么是hosts:入门/etc/nsswitch.conf样子?
Casey 2015年

@ casey,/ etc / nsswitch.conf看起来像是hosts: files dns
Arnab

请在您的OQ中添加此关键信息。
2015年

显然这不是DNS问题。请查看这个非常相似的问题:unix.stackexchange.com/q/158419/31707
2015年

Answers:


16

nslookupdighost是查询DNS名称服务器的工具。

如果名称服务器未提供您的配置(如中提供的信息/etc/hosts),那么这些工具将不会显示它们,因为它们直接询问名称服务器。

如果您要检查“常规”分辨率是否有效(即在中指定的方式/etc/nsswitch.conf),可以使用getent

getent hosts www.winaproduct.com

getent hosts www.winaproduct.com工作完美,但nslookupdighost等仅作为例子,我想它的Firefox
Arnab 2015年

1
如果它与getent一起使用,则也应与firefox一起使用。(两者都使用相同的解析机制。)如果确实不起作用,请检查firefox中的“异常”配置。也许您设置了某种代理或类似的东西。
michas

感谢您的评论,我不使用任何不寻常的firefox配置,不,它不能与firefox(38.0.1)一起使用。
Arnab 2015年

3
我非常确定这是一些浏览器问题。尝试使用wgetchrome等其他浏览器。如果getent给出预期的结果,他们所有人都应该。
michas

1
@daniel Azuelos,Firefox设置没有问题,它已经在使用No Proxy。那么如何辨别真假nslookupdig等问/etc/hosts文件第一,而不是直接问到DNS?感谢您的宝贵意见。
2015年

4

您可以安装DNSmasq,它将读取/ etc / hosts条目并将其导入到其DNS缓存中。然后,所有的DNS工具和DNS查询应用程序(例如dig,host和nslookup)将收到源自/ etc / hosts文件的答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.