如何正确配置搜索域?

我最近在我的工作计算机上安装了Ubuntu GNOME,取代了Windows 7,因为我将进行大量的Linux开发工作。

我们的许多配置和开发脚本都使用公司网络上服务器的缩短URL。 也就是说,他们使用http://server而不是http://server.location.company.com 。 我在Windows中从未遇到过这些URL的问题,但我无法让它们在Ubuntu中正常工作。 我只是简单地键入整个完全限定的URL是不可行的,因为缩短的表单在各种脚本中被遍地使用,但我能够访问长格式的URL。

当我使用Dell SonicWall NetExtender VPN客户端连接到公司的VPN时,缩短的URL可以正常工作。

基于我迄今为止所做的研究,我认为我需要将location.company.com配置为Ubuntu上的搜索域,但到目前为止我尝试这样做的尝试都失败了。 这是我尝试过的:

  • 在“网络连接”应用程序中,编辑我的无线连接。 在IPv4选项卡下,仅选择自动(DHCP)地址。 然后键入location.company.com作为搜索域,并将我们的DNS服务器也放入其中。 这没有明显的区别。
  • 按照此处的描述修改dhclient.conf。
  • 运行dpkg-reconfigure resolvconf以确保它动态更新resolv.conf。

我也担心在这一点上我尝试过几种不同的东西,它们可能会相互干扰。 我知道这个配置的某些部分在过去几年中已经改变了Ubuntu,并且很难找到最新的信息。 我不完全清楚网络管理器,resolvconf,dhclient和其他配置文件如何在最新版本的Ubuntu中协同工作。

所以,我的问题是:如何配置我的计算机以使短格式URL在Ubuntu 14.10中正常工作?

或者,我应该使用哪些网络配置程序来执行此操作,如何配置它们,以及如何validation它们是否正常工作?

谢谢你的帮助! 如果我能提供任何其他信息,请告诉我。

编辑:这是我的/etc/resolv.conf ,我相信是由resolvconf生成的。

 # Add Company Nameservers and Domain nameserver 192.168.200.53 nameserver 192.168.200.65 search location.company.com nameserver 127.0.1.1 search location.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 

搜索域表示当您仅使用特定主机或计算机的主机名时将自动附加的域。 这主要用于本地网络。

假设您有一个像xyz.com这样的域名(它可以在全球范围内使用,也可能只在本地使用),并且您在局域网中拥有100台计算机。 现在,只需通过计算机的主机名查找任何计算机,就可以自动附加此域名。 如果要追加的域名是xyz.com则搜索域应如下所示:

 dns-search xyz.com ##If you put this into /etc/network/interfaces 

要么

 search xyz.com ##If you put this into /etc/resolvconf/resolv.conf.d/base|head|tail 

现在,如何检查它是否正常工作,只需使用ping或任何DNS解析程序,如hostnslookupdig

例如,如果主机test具有IP 192.168.1.5则使用host

 host test test.xyz.com has address 192.168.1.5 

现在因为dig不使用搜索列表/域默认情况下你需要使用它像dig +search test来启用追加搜索域。

使用nslookup

 nslookup test Server: 192.168.1.11 Address: 192.168.1.11#53 Name: test.xyz.com Address: 192.168.1.5 

这里192.168.1.11是您的本地DNS服务器,它具有主机test.xyz.com的IP地址(请注意完整格式),即192.168.1.5 。 DNS服务器将主机名test.xyz.com为IP 192.168.1.5但不会解析任何只test东西,因为它没有任何类似的条目。

因此,在我们的案例中,搜索域正在做的是,当我们仅使用主机名查找计算机时,它会自动附加域名以使其成为FQDN。

我跑了Bionic Beaver,我的resolv.conf说:

 # This file is managed by man:systemd-resolved(8). Do not edit. 

所以我的解决方案是编辑/etc/systemd/resolved.conf ,根据文档选择Domains=然后重新启动systemd-resolved:

 service systemd-resolved restart