我在具有域的 16.04 服务器上进行了本地设置 bind9,并且可以使用 windows 客户端和 ubuntu 16.04 桌面客户端对其进行测试。这是根据如何使用主机名进行完整的 BIND9 DNS 服务器配置的设置?:
domain is "test.lan"
srv 192.168.0.1, IP configured via /etc/network/interfaces. Hosts
file contains domain test.lan and srv entry.
linuxpc, 192.168.0.2, IP configured via desktop: static IP with DNS and search
domain magrathea.lan. Hosts file contains domain test.lan
and own and srv entries.
winpc, 192.168.0.3, IP configured via desktop: static IP with DNS and domain
suffix for this connection: magrathea.lan
我在客户身上看到的:
linuxpc$ ping winpc
PING winpc.test.lan (192.168.0.3) 56(84) bytes of data
64 bytes from winpc.test.lan (192.168.0.3): icmp_seq=1 ttl=...
linuxpc$ ping winpc.test.lan
PING winpc.test.lan (192.168.0.3) 56(84) bytes of data
64 bytes from winpc.test.lan (192.168.0.3): icmp_seq=1 ttl=...
linuxpc$ ping winpc.test
ping: unknown host winpc.test
C:>ping linuxpc
Pinging linuxpc.test.lan [192.168.0.2] with 32 bytes of data:
Reply from 192.168.0.2: bytes =32 time>1ms TTL=64
C:>ping linuxpc.test.lan
Pinging linuxpc.test.lan [192.168.0.2] with 32 bytes of data:
Reply from 192.168.0.2: bytes =32 time>1ms TTL=64
C:>ping linuxpc.test
Ping request could not find host linuxpc.test. Please check the name...
Reply from 192.168.0.2: bytes =32 time>1ms TTL=64
在服务器上(与 winpc 相同作为 ping 目标):
serv$ ping linuxpc
ping: unknwon host linuxpc
serv$ ping linuxpc.test.lan
PING linuxpc.test.lan (192.168.0.2) 56(84) bytes of data
64 bytes from linuxpc.test.lan (192.168.0.2): icmp_seq=1 ttl=...
serv$ ping linuxpc,test
ping: unknwon host linuxpc.test
serv
我确实尝试将这一行
添加到服务器的接口文件中dns-search test.lan
,但这并没有改变上面的结果。
问题
- 1) 为什么服务器 ping 只能使用完全限定域名?
- 2) 为什么没有“.lan”,PC 都不能解析“.test”?我能做些什么呢?
- 3) 我可以在 Intranet 域中使用“test”吗?与“test.lan”相比有什么缺点?
谢谢你的帮助
与此同时,我确实发现了问题所在以及如何解决它。我先回答最后一个问题:
3) 我可以在 Intranet 域中使用“test”吗?与“test.lan”相比有什么缺点?回答:是的。网络设置仅适用于完整服务 (LAMP) 和名称为“test”的多个客户端。不知道,但为什么要添加额外的“.lan”。也许别人知道。
1) 为什么服务器 ping 只能使用完全限定域名?答:因为正是针对这个问题
a) 文件“/etc/network/interfaces”中的“dns-search”行
b) 桌面网络连接中的“搜索域”字段。它在 /Edit/IPv4 Settings/SearchDomains 中。可能仅对手动 IP 定义可见。
使用任何一个。我在本网站或 wiki 上找到的示例中从未真正解释过它。也许是因为它被认为太微不足道了。这意味着对于该域中的所有地址,完全限定域名 (FQDN) 的域部分被认为是可选的。可以省略它。如果没有该语句,则 bind9 配置中只有别名,但它们无法帮助服务器获取自己的地址。
服务器现在工作正常。这是我的完整接口定义文件:
显然,该文件适用于 C 级网络。与本网站上几乎所有其他示例一样,修改 D 类网络的地址应该很容易。您可能会注意到奇怪的网络 ID。它是 Ubuntu 强制执行的最新标准,因此它是自动生成的。假设对端口在设备上的位置进行编码。它解决了一个我从未遇到过的问题,而且我看不到“eth0”的好处,但是再次将其设置回“eth0”似乎太麻烦了,所以我就放弃了。
2) 为什么没有“.lan”,PC 都不能解析“.test”?我能做些什么呢?我想关键在于 dns-search 参数的详细功能,但我无法进行实验,因为我的网络已经在“test”而不是“test.lan”下运行。于是问题就消失了。
希望它可以帮助某人。