我正在运行 Ubuntu 12.04 并尝试 ping 以下系统:
- system0.oldcompany.com
- system1.fing.oldcompany.com
- system2.newcompany.com
- system3.thing.newcompany.com
我的 resolv.conf
# internal dns servers
nameserver 1.1.1.151
nameserver 1.1.1.152
search oldcompany.com fing.oldcompany.com newcompany.com thing.newcompany.com
#domain thing.newcompany.com
domain oldcompany.com
#domain fing.oldcompany.com
#domain newcompany.com
#nameserver 8.8.8.8 #commented out due to other issues
如果我取消注释所有这些行,我将无法 ping 系统 0 或系统 1。如何设置才能仅使用其域名 ping 所有 4 个系统?在 Windows 中,它可以解析每个系统。
ping system0
ping: unknown host system0
ping system1
ping: unknown host system1
我一直在尝试阅读手册页在 resolv.conf 上,但我仍然无法解决此问题。我公司没有人使用 Linux,所以很遗憾,我只能靠自己了。
编辑:更新搜索,现在只有 1 行,现在我可以 ping system0,但仍然无法 ping system1。但是,我可以 ping system1.fing,因为它位于 oldcompany 域中。
答案1
在关注了@webmarc 和@dan-hook 之后,它才开始工作,直到我删除了那domain
行,我仍然不完全理解。
根据这个答案,则domain
成为第一个search
字符串。我发现不用domain
字符串会更简单。
脚步:
- 所有
search
域名都放在一行上 domain
删除了多行- 新公司域名置于旧公司名称之前
这是我的新产品/etc/resolv.conf
,它运行完美。
# internal dns servers
nameserver 1.1.1.151
nameserver 1.1.1.152
search newcompany.com thing.newcompany.com oldcompany.com fing.oldcompany.com
另外如果你的/etc/resolv.conf
意愿被覆盖那么修改/etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.59.2.50
netmask 255.255.255.0
gateway 10.59.2.1
dns-nameservers 1.1.1.151 1.1.1.152
dns-search newcompany.com thing.newcompany.com oldcompany.com fing.oldcompany.com
如果新公司有新的 DNS 服务器 IP,请确保该 IP 也位于旧公司的 IP 之前,以便首先查询新的 DNS 服务器。
答案2
您的文件存在一些问题:
- 应该只有一条搜索行,
search domain.com domain2.com domain3.com
最多 6 个域。 - 应该仅有一行域名,且仅指定 1 个域名。
修复这些问题后,看看是否仍然有问题,如果是,则更新您的问题。
您可以找到有关此文件所需格式的信息在手册页中。
答案3
将搜索行放在名称服务器行后面。