我现在的Debian安装出现了严重的问题。大多数程序,如火狐、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,它会显示相应的网站,但这不是预期的。
但ping、busybox nslookup、busybox ping、resolveip等都不存在问题。
那么,问题是什么?我想问题是DNS解析库的问题。
临时修复、安装dnsmasq并将nameserver更改为/etc/resolv.conf中的127.0.0.1。
安装libnss3后神奇地解决了问题,作为google-chrome的依赖项
默认/etc/nsswitch.conf看起来像hosts: files dns
如何告诉nslookup、dig等首先询问/ etc /host文件而不是直接询问DNS?
但是为什么busybox nslookup,wget,resolveip等与nslookup,dig等不同呢?
发布于 2017-11-05 03:10:00
配置未绑定包(这些天默认安装在Linux上)或在Windows上安装它。然后,您的解析器将为所有DNS查询寻找这个小的轻量级服务。未绑定将读取您的/etc/hosts条目并将它们导入解析器DNS缓存。
对于其他一切,它将代理您的系统的DNS查询到您机器的上游DNS服务器。
现在,您的所有应用程序以及您的DNS工具(如dig、host和nslookup )都可以接收来自本地/etc/hosts文件的答案。
作为Linux上的另一种选择,如果您愿意的话,可以使用DNSmasq,但是,当我上次查看时,它还没有安装在Windows上。
https://unix.stackexchange.com/questions/212897
复制相似问题