Ubuntu 20.04 升级-内部网络上的 DNS 名称解析失败

Ubuntu 20.04 升级-内部网络上的 DNS 名称解析失败

我的公司在 Ubuntu VM 上向客户分发软件。最近,我们一直在将所有客户端 VM 从 Ubuntu 16/18 更新到 Ubuntu 20.04。

我们遇到了一个问题,即 DNS 名称解析在内部网络上不起作用。它在网络外部工作(我们能够 ping 外部网站),但我们无法通过 DNS 名称连接到内部网络上的计算机 - 只能通过 IP 地址。在许多情况下,我们能够解析旧虚拟机(Ubuntu 16/18)上的内部 DNS 名称,但当我们使用相同的网络设置安装新虚拟机时,它不起作用。

我们通常使用静态 IP 设置虚拟机。客户的 IT 部门会向我们提供他们的网络信息和内部 DNS 服务器,然后我们相应地设置00-installer-config.yaml文件

/etc/netplan/00-installer-config.yaml示例设置:

network:
  ethernets:
    enp0s10f0:
      addresses: [192.168.10.200/24]
      gateway4: 192.168.10.1
      nameservers:
        addresses: [192.168.10.1, xxx.xxx.xxx.xxx, etc.]
  version: 2

在旧虚拟机上,我们通常无法通过 DNS 名称 ping 内部机器,除非我们添加了本地域名。例如,这ping fs01不起作用,但ping fs01.clientdomain.local可以工作。然而,在 Ubuntu 虚拟机上,这似乎根本没有帮助。我们总是必须恢复到文件服务器的 IP 地址,而不是使用域名。在大多数情况下,这是可以的,因为 IP 是静态的,不会更改,但情况并非总是如此,我们更希望能够通过 DNS 名称进行连接。

网络和域名确实不是我的强项。如果有人能提出一些值得尝试的事情或值得研究的领域的建议,我将不胜感激!

更新

我尝试了将内部名称服务器 IP 地址添加到命令的建议nslookup,并截取了一些屏幕截图。看起来虚拟机确实能够使用 找到主机nslookup,但只有当我明确包含名称服务器 IP 时才可以。

192.168.1.4 是名称服务器,也是我们尝试连接的主机。

笔记:这是在旧的 Ubuntu 18.04 VM 上运行的,使用相同的内部名称服务器和 FQDN 主机名。

常规 Ping

user@ubuntu:~$ ping <hostname.domain.local>
    ping: <hostname.domain.local>: Temporary failure in name resolution

简单的 nslookup

user@ubuntu:~$ nslookup <hostname.domain.local>
    Server:     127.0.0.53
    Address:    127.0.0.53#53

    ** server can't find <hostname.domain.local>: SERVFAIL

使用名称服务器 IP 进行 nslookup

user@ubuntu:~$ nslookup <hostname.domain.local> 192.168.1.4 
    Server:     192.168.1.4## Heading ##
    Address:    192.168.1.4#53

    Name:       <hostname.domain.local>
    Address:    192.168.1.85
    Name:       <hostname.domain.local>
    Address:    192.168.1.4

在这种情况下,192.168.1.4 名称服务器是我们 yaml 文件中唯一的名称服务器条目。因此,我不明白文件中名称服务器的顺序怎么会存在问题。

另请注意,我尝试在参数中添加本地域search:。我没想到这会改变结果,但无论如何尝试了一下——没有变化:

network:
  ethernets:
    enp0s10f0:
      addresses: [192.168.1.21/24]
      gateway4: <gateway>
      nameservers:
        search: [<domain.local>]
        addresses: [192.168.1.4]
  version: 2

相关内容