当我使用外部 DNS 时,为什么 dig 将 dns 服务器报告为 127.0.0.1?

当我使用外部 DNS 时,为什么 dig 将 dns 服务器报告为 127.0.0.1?

我使用 unbound 并且通常使用 openDNS 作为我的 DNS 服务器。

当我跑步时dig google.com说我明白了SERVER: 127.0.0.1#53(127.0.0.1)。这个东西到底在 53 号端口监听什么?这是未绑定的还是与 dnsmasq 有关(我是否安装了 dnsmasq,因为dnsmasq.conf似乎没有/etc?)

在 resolv.conf 中有,nameserver 127.0.0.1但在网络管理器中我将 DNS 服务器指向两个 openDNS 地址。那么这是怎么回事呢?本地名称服务器是否指向 dnsmasq,然后使用网络管理器中的值?或者说它实际上是在听而不被束缚?

答案1

默认情况下,NetworkManager 使用 Dnsmasq 作为 DNS 解析器(如果已安装)。这是基于 Debian 的系统上的默认设置,因此 Dnsmasq 在默认配置中运行,它仅根据命令行选项指定的上游服务器(加上 的内容/etc/hosts)解析名称。您没有/etc/dnsmasq.conf,因为该文件仅存在于可选包中域名解析

要查看您的系统当前是否使用 Dnsmasq 或 Unbound 进行 DNS 查询,请运行netstat -ulnp | grep ":53 "

在 Ubuntu 12.04 中,NetworkManager 与其他 DNS 解析器不能很好地配合(请参阅错误 959037托马斯·胡德的总结几乎涵盖了所有内容)。要继续与 NetworkManager 一起运行 Unbound,最好的办法是告诉 NetworkManager 不要运行 Dnsmasq(除了 Unbound 之外,您不需要它,除非您使用 NetworkManager 不使用的 Dnsmasq 功能)。要做到这一点:

  1. 编辑/etc/NetworkManager/NetworkManager.conf以注释掉包含的行(在该行的开头dns=dnsmasq添加一个)。#
  2. 使用 重新启动 NetworkManager service network-manager restart

答案2

在 ubuntu 12.04 中,dnsmasq 现在默认运行,因为它被硬编码到network-manager.在桌面安装上默认使用 dnsmasq 作为本地解析器 这是此版本的第二个重大变化。在桌面安装上,您的 DNS 服务器将是“127.0.0.1”,它指向 NetworkManager 管理的 dnsmasq 服务器。

SERVER: 127.0.0.1#53(127.0.0.1)

这意味着您正在从本地 dns(即 DNSMASQ)获取查询的 ans。

如果您不需要本地解析器,可以使用以下过程将其关闭 DNSMASQ。

您需要编辑/etc/NetworkManager/NetworkManager.conf文件

gksudo gedit /etc/NetworkManager/NetworkManager.conf

并注释掉以下行

dns=dnsmasq

#dns=dnsmasq

保存文件并退出。

现在您需要network-manager使用以下命令重新启动

sudo systemctl restart network-manager

参考关联

答案3

要查看实际使用哪个 DNS 服务器来解析您的地址,在使用 DNSMasq 时,不能使用,DIG因为它只报告127.0.0.1,而是:

在 DNSMasq 中启用日志记录:

sed -i 's/\#log-queries/log-queries/' /etc/dnsmasq.conf
systemctl restart dnsmasq

记录 DNSMasq 并监视输出:

journalctl --unit dnsmasq.service -f

Ping 主机:

ping google.ca

然后你可以看到,我的上游 DNS 服务器 (192.168.1.1) 解析了它:

: query[A] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: query[AAAA] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: reply google.ca is 172.217.1.3
: reply google.ca is 2607:f8b0:400b:80f::2003
: query[PTR] 3.1.217.172.in-addr.arpa from 127.0.0.1
: forwarded 3.1.217.172.in-addr.arpa to 192.168.1.1
: reply 172.217.1.3 is iad23s25-in-f3.1e100.net
: reply 172.217.1.3 is yyz10s14-in-f3.1e100.net

对 *.company.com 公司 VPN 后面的主机(在分割隧道期间)执行 Ping 操作

ping box.company.com

结果:

: query[A] box.company.com from 127.0.0.1
: forwarded box.company.com to vpn.ser.ver.ip
: query[AAAA] box.company.com from 127.0.0.1

相关内容