Ubuntu 自动更改当前 DNS 服务器无法正确解析我的本地主机

Ubuntu 自动更改当前 DNS 服务器无法正确解析我的本地主机

我在本地网络上有以下设置:

  • 运行于 10.0.0.102 的本地 DNS 服务器
  • 在路由器上,我已将主 DNS 设置为 10.0.0.102,将辅助 DNS 设置为 8.8.8.8
  • 运行在 10.0.0.106 上的 Ubuntu 服务器,在我的 DNS 服务器上有一个 DNS 条目“myserver.lan”

现在,在我的 Windows PC 上,我可以 ping 或 ssh 进入 myserver.lan,没有任何问题。但是在我的 Ubuntu 服务器上,我却无法这样做,我就是无法理解 Ubuntu DNS 是如何工作的...它不断将当前 DNS 服务器更改为 8.8.8.8,如下面的屏幕截图所示,因此找不到“myserver.lan”,因为谷歌显然不知道这一点。

我正在尝试在 Ubuntu 服务器上以副本集模式设置 Mongodb。当我尝试运行时,rs.initiate它失败了,因为它找不到 Mongodb 实例。

rs.initiate( {
  _id: "rs0",
  version: 1,
  members: [
    {_id: 0, host: "myserver.lan:27011"}
  ]});

resolvectl status 的输出

输出为文本:

Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

Link 2 (eno1)
    Current Scopes: DNS
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 8.8.8.8
       DNS Servers: 10.0.0.102 8.8.8.8
        DNS Domain: lan

我尝试设置名称服务器/etc/resolv.conf,它暂时有效,但当我运行命令时,docker service create它立即重置为默认状态。如果我理解正确的话,这甚至不是问题,因为此文件中的名称服务器指向systemd-resolved实际解析 DNS 的位置。

我尝试将名称服务器添加到我的配置中,/etc/netplan/00...yaml然后运行 ​​sudo netplan generatesudo netplan apply。但它仍然没有任何反应。

/run/systemd/resolve/resolv.conf设置中实际上是正确的,即有两个名称服务器,第一个是 10.0.0.102,第二个是 8.8.8.8,并且在搜索下我列出了“lan”。文件与我理解的正确文件/run/systemd/resolve/stub-resolv.conf相同。/etc/resolv.conf

我怎样才能让 Ubuntu 使用我的 DNS 服务器来服务我的“lan”域?

相关内容