Nslookup 解析搜索域但 ping 不解析(14.10)

Nslookup 解析搜索域但 ping 不解析(14.10)

在我的公司,我们的许多配置脚本等仅使用服务器名称。例如,http://server而不是http://server.company.com。我在 GUI 网络连接工具中配置了搜索域。我也在中配置了它/etc/resolvconf/resolv.conf.d/head,但它无法正常工作。

奇怪的是,某些工具(如 nslookup 或 host)可以解析到正确的 IP,但其他工具(如 ssh、ping、git 和 Web 浏览器)却不能。如果我使用 FQDN,我可以连接。什么原因可能妨碍搜索域正确解析?

下面,找到一些命令的相关输出。

Nslookup:

$ nslookup server
Server:     192.168.200.53
Address:    192.168.200.53#53

server.company.com  canonical name = server001.company.com.
Name:   server001.company.com
Address: 192.168.200.103

主持人:

$ host server
server.company.com is an alias for server001.company.com.
server001.company.com has address 192.168.200.103

平安:

$ ping server
ping: unknown host server

$ ping server.company.com
PING server001.company.com (192.168.200.103) 56(84) bytes of data.
64 bytes from server001.company.com (192.168.200.103): icmp_seq=1 ttl=64 time=4.61 ms

我使用 ping 作为示例,因为它很简单,但我需要使用的大多数其他工具显示的结果与 ping 相同。

如果您需要更多配置文件或信息,请告诉我。

/etc/hosts 没有与我尝试连接的服务器相关的信息。

这是 /etc/resolv.conf,由 resolvconf 生成。

# Add Company Nameservers and Domain
nameserver 192.168.200.53
nameserver 192.168.200.65
search company.com
nameserver 127.0.1.1
search company.com
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search hsd1.co.comcast.net

和 /etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

答案1

您的 resolv.conf 文件很乱。search例如,文件中最多应该有一行。似乎有除 resolvconf 之外的其他内容正在写入文件。Resolvconf 始终会以以下格式写入 resolv.conf 文件:

head
base + dynamic content
tail

其中headbasetail是 /etc/resolvconf/resolv.conf.d/ 中的文件。该文件head通常只包含注释。您说您已在文件中# Dynamic resolv.conf(5) file... OVERWRITTEN添加了一行,但您的 resolv.conf 文件在上述注释上方包含其他内容。search

我猜测 /etc/resolv.conf 不再是 /run/resolvconf/resolv.conf 的符号链接,和/或您正在运行一些第三方网络配置软件,这些软件以与 Ubuntu 不兼容的方式与 /etc/resolv.conf 混在一起。

解决方案:停止使用该软件,或修复它,然后运行sudo dpkg-reconfigure resolvconf以恢复 /etc/resolv.conf 处的符号链接。

答案2

尝试

echo "        dns-search company.com" >> /etc/network/interfaces

然后重新启动(除非您知道如何重置所有 DNS 缓存、浏览器和系统,否则重启网络是不够的)。

答案3

我非常确定 ping、ssh 和其他可能使用 /etc/host 文件。您可能还想尝试在那里定义您的服务器名称 192.168.1.100 server 然后获取文件或注销并重新登录。这次当您 ping server 或 ssh user@server 时它应该可以工作。至于 webserver,您必须向您的 dns 服务器 ipaddress 添加一条 A 记录然后您应该能够通过 http://服务器

编辑

此设置的任何部分是否使用 Samba 或 wins 服务器,或者我是否完全误解了某些内容。

相关内容