我最近更新了我的 Ubuntu,最终完成了 DNS 配置。
我可以将名称服务器添加到 /etc/resolvconf/resolv.conf.d/tail (并重新启动服务)以获得与互联网相关的所有内容的 DNS 解析。
这样做也意味着我将永远无法解析本地 IP 和名称(反之亦然)。这非常有帮助,尤其是在像大学内部网络这样的大型内部网中。虽然我不知道如何以及为什么,这在更新之前有效。
我的印象是,如果没有指定其他 DNS 服务器,通常会将 DNS 请求发送到相应接口的默认网关。
它是否正确?
如果没有指定任何其他 DNS 服务器,/etc/resolv.conf 中唯一的名称服务器是 127.0.0.53,即“systemd-resolv 存根解析器”。
有没有办法配置systemd-resolv或resolvconf将DNS请求发送到路由表指定的接口的默认网关?
(当我使用 dig @(默认网关)(本地计算机名称/域名)时,我得到正确的响应。这意味着我的家庭接入点/路由器能够应答 DNS 请求)
答案1
为了结束这个帖子,如果像我这样的人遇到这篇文章,我将回答我所有的问题。
“我的印象是,如果没有指定其他 DNS 服务器,DNS 请求通常会发送到相应接口的默认网关。
它是否正确?”
是的,这是正确的,但由于默认网关并不总是 DNS 服务器,因此 DNS 服务器 IP 由 DHCP 服务器提供。如果您将网络连接配置为“DHCP”以外的任何内容,您的操作系统将不会获得此 DNS 配置。
“如果没有指定任何其他 DNS 服务器,/etc/resolv.conf 中唯一的名称服务器是 127.0.0.53,即‘systemd-resolv 存根解析器’。”
虽然这与我的问题无关,但我想我提供了一些上下文:systemd-resolved 解析了诸如您自己的计算机名称、“localhost”以及 /etc/hosts 中提供的名称/IP 对之类的内容文件。
“有没有办法配置systemd-resolv或resolvconf将DNS请求发送到路由表指定的接口的默认网关?”
如前所述,这通常并不是真正必要的,因为使用 DHCP 可以为您提供本地 DNS 服务器 IP。