如何自动解析自定义 .local SLD 上的服务器名称?

如何自动解析自定义 .local SLD 上的服务器名称?

我的工作场所(主要是 Windows 商店)在我们的本地网络上使用自定义 SLD,因此如果我的主机名是,mycomputer我的 FQDN 将是mycomputer.companyname.local。我通常可以从我的工作站解析域名,例如

yarbrdav@lusr1630:~$ ping qa-server-1
PING qa-server-1.companyname.local (172.20.20.144) 56(84) bytes of data.
64 bytes from qa-server-1.companyname.local (172.20.20.144): icmp_seq=1 ttl=127 time=22.7 ms
64 bytes from qa-server-1.companyname.local (172.20.20.144): icmp_seq=2 ttl=127 time=20.1 ms
64 bytes from qa-server-1.companyname.local (172.20.20.144): icmp_seq=3 ttl=127 time=20.0 ms

然而,IT 已开始向新服务器添加额外的中级域,因此qa-server-4现在的 FQDN 为qa-server-4.qa.companyname.local

我的 Windows 机器可以解析qa-server-1,并且qa-server-4无需任何进一步的限定。

但在 Ubuntu 上qa-server-4无法解决。我必须 pingqa-server-4.qa才能找到服务器。

我曾尝试按照同事的建议禁用 avahi-daemon,但没有发现任何区别。

我的工作站运行的是 Ubuntu 16.04

答案1

您可能对配置感兴趣附加搜索域

根据系统的配置方式,它将有两种方式之一。


第一种方式:如果您的系统配置了/etc/network/interfaces

警告:本节假设您拥有sudoroot访问系统配置,并且可以直接编辑系统配置,而无需 IT 团队以管理员身份进行更改。

如果你的系统是静态 IP,/etc/network/interfaces那么该文件中可能会有类似这样的内容:

auto enp7s0
iface enp7s0 inet static
       address 10.75.250.20
       netmask 255.255.255.0
       gateway 10.75.250.1
       dns-nameserver 10.74.0.10 10.74.0.10
       dns-search foobar.baz

如果是这种情况,那么只需将其他子域添加到您的搜索域中即可 - 因此您会看到类似这样的内容:

auto enp7s0
iface enp7s0 inet static
       address 10.75.250.20
       netmask 255.255.255.0
       gateway 10.75.250.1
       dns-nameserver 10.74.0.10 10.74.0.10
       dns-search foobar.baz qa.foobar.baz

我的猜测是,如果您正在进行静态配置,则可能需要指定额外的 DNS 搜索域,这些域很可能已经由 Windows DHCP 系统下的静态 DHCP 保留发出。

也就是说,如果你的网络是 DHCP,并且不是静态配置,你会看到其他一些内容,如下所示/etc/network/interfaces

auto enp7s0
iface enp7s0 inet dhcp

如果就是您看到的内容,那么您需要与 IT 人员沟通,确保他们更新 DHCP 能够发送的“搜索域”选项。这样,他们就会填充所有中间子域部分,因此您期望发生的情况将要当您尝试直接转到主机名时会发生这种情况。

如果您确实需要在 DHCP 设置中定义搜索域,则如下所示:

自动 enp7s0 iface enp7s0 inet dhcp dns 搜索 foobar.baz qa.foobar.baz

请注意,这两种/etc/network/interfaces方法都要求您以管理员身份编辑文件,然后重新启动系统以正确应用配置更改。


第二种方法:如果您使用网络管理器来配置系统

事实上这里有案例。 在这两种情况下,一旦您更改了这些配置,您需要使用网络管理器断开连接并重新连接。

情况 A:您的网络是静态配置的。

如果您进入网络管理器并在网络管理器下拉菜单中选择“编辑连接”选项,然后编辑以太网连接选项(您可能只有一个,称为“以太网连接 1”或类似的):

在此处输入图片描述

您必须将其他搜索域添加到该搜索域框中,并使用逗号或空格分隔搜索域。这样,您就可以自动查询“搜索域”来查找主机名,就像 Windows 已经做的那样。

情况 B:您的网络是动态配置的。

如果您的网络是动态配置的,那么您可能需要与您的 IT 团队沟通,以确保 DHCP 分配的搜索域实际上是最新的,并且包含其中的所有其他中间域名。

但假设没有设置所有搜索域,并且全部都是 DHCP,我们将看到这种 IPv4 设置:

在此处输入图片描述

如果您看到的内容如此,那么就像在第一种方式部分一样,您只需将额外的中间域(例如 qa.foobar.baz)添加到“附加搜索域”配置选项中。

也就是说,如果配置是这样的话,您可能仍应该与 IT 团队交谈 - 他们当然不会推动搜索域,但可能应该这样做。

相关内容