如何正确配置搜索域?


25

我最近在我的工作计算机上安装了Ubuntu GNOME,以取代Windows 7,因为我将做很多Linux开发工作。

我们的许多配置和开发脚本使用公司网络上服务器的缩短URL。也就是说,它们使用http://server而不是http://server.location.company.com。我在Windows中从未遇到过这些URLS的问题,但是我无法使它们在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中正常工作?

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

谢谢你的帮助!让我知道是否可以提供其他信息。

编辑:这是我的/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

你有解决过这个吗?
Hitechcomputergeek

快速更新:在某个时候,我全新安装了Ubuntu的最新版本。也许16.04?无论如何,从那以后我再也没有任何问题,也不必重新配置任何东西,而我现在是18.10。
mkasberg

Answers:


30

搜索域是指当您仅将主机名用于特定主机或计算机时将自动附加的域。这基本上是在局域网中使用的。

假设您有一个类似的域名xyz.com(它可能在全球范围内可用,或者可能仅在本地使用),并且LAN中有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服务器,其主机IP地址test.xyz.com(请注意完整格式)为192.168.1.5。DNS服务器会将主机名解析test.xyz.com为IP,192.168.1.5但不会解析任何内容,test因为它没有像这样的任何条目。

因此,在我们的情况下,搜索域的作用是当我们仅使用主机名查找计算机时,它会自动附加一个域名以使其成为FQDN。


1
默认情况下,dig不会像其他一样自动追加域内容。但是,“挖掘+搜索测试”确实可以。
道格·史密斯

@DougSmythies:已添加..
heemayl 2015年

/etc/resolvconf/resolv.conf.d/base用名称服务器和搜索条目进行了修改。我现在看到以下行为: $ host serverserver.location.company.com是server001.location.company.com的别名。server001.location.company.com地址为192.168.200.103 $ ping serverping:未知主机服务器。知道是什么原因造成的吗?
mkasberg 2015年

3
@mkasberg:您的最后一条消息中缺少某些部分。.还请注意,在resolvconfrun中进行任何更改之后sudo resolvconf -u
heemayl 2015年

@mkasberg:放在/etc/resolvconf/resolv.conf.d/head..您的DNS服务器中有条目server.location.company.com,对吧?
heemayl 2015年

16

我是runnig Bionic Beaver,我resolv.conf说:

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

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

service systemd-resolved restart
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.