如何在Linux上使用/etc/resolv.conf解析多个域?


10

我正在运行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 system0或system1。如何设置它,以便仅使用其域名即可对所有4个系统执行ping操作?在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域上。

Answers:


6

在遵循@webmarc和@ dan-hook之后,直到我删除了domain我仍然不太完全理解的那一行才起作用。

根据此答案domain成为第一个search字符串。我发现不使用domain字符串更容易。

脚步:

  1. 所有search域都放在一行上
  2. domain 行已删除
  3. 新公司域放置在旧公司名称之前

这是我的新/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服务器。


5

您的文件存在一些问题:

  1. 只能有一个搜索行,search domain.com domain2.com domain3.com最多6个域。
  2. 只能有一个域行指定了确切的1个域。

解决这些问题后,请查看是否仍有问题,如果有,请更新您的问题。

您可以在手册页中找到有关此文件所需格式的信息。


嗨,webmarc,我将所有搜索域都放在一行上,只指定了一个域,但是system1仍然有问题。似乎无法正确搜索fing.oldcompany.com子域。
SomeGuyOnAComputer 2015年

1

将搜索行放在名称服务器行之后。


你好 我尝试了您的建议,并在帖子中更新了resolv.conf。问题仍然存在。我注意到,如果我将域名从oldcompany.com切换到newcompany.com,则可以ping system2,但不能ping system0 ...
SomeGuyOnAComputer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.