我正在尝试使用 OpenDNS 设置我的 LAN,但似乎我的 DNS 设置被完全忽略了。即使我将我的笔记本电脑(运行 Ubuntu)设置为仅具有 OpenDNS 主 IP(并在 resolv.conf 中验证 NetworkManager 是否已完成其工作),那么
$ host myip.opendns.com
Host myip.opendns.com not found: 3(NXDOMAIN)
仍未使用 OpenDNS。
我的 ISP 正在运行透明代理,但这不应该影响 DNS 查询……他们是否会以某种方式劫持我的 DNS 流量?
答案1
如果他们透明地代理一种协议,那么他们可能也会对 DNS 做同样的事情。
为了证实这一点,请尝试强制dig
使用 OpenDNS 服务器,而不是从其他配置中读取(以进一步排除您这边的配置问题),例如dig @208.67.222.222 myip.opendns.com
- 如果您的 ISP 正在重定向 DNS 流量,那么您应该会得到相同的响应(如果没有,即您得到的是预期的响应而不是 NXDOMAIN,那么您的本地配置可能有错误,因为成功表示请求是连接到 OpenDNS 的服务器)。
如果他们干扰了 DNS 流量,您可以采取以下三个措施:
- 切换 ISP
- 为所有外部访问运行 VPN(这需要在其他地方托管的服务器/VPS 作为另一个端点)或仅通过 DNS 流量运行
- 忍受一下
答案2
理论上,您的 ISP 可能会操纵您的 DNS 响应。您的 ISP 是谁?
resolv.conf 中有什么?
nslookup 默认查询什么IP地址?
答案3
nsswitch.conf 说什么?它应该首先查看文件(在本例中为 /etc/resolv.conf),假设这是你放置 OpenDNS 服务器 IP 的位置:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
**hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4**
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files