![Ubuntu 自动更改当前 DNS 服务器无法正确解析我的本地主机](https://linux22.com/image/786247/Ubuntu%20%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%20DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E8%A7%A3%E6%9E%90%E6%88%91%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA.png)
我在本地网络上有以下设置:
- 运行于 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"}
]});
输出为文本:
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 generate
和sudo 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”域?