如何在不忽略DHCP的情况下添加一些其他DNS搜索域?


12

我只想添加自己的搜索域列表,但又不覆盖DHCP返回的那些内容?

就像有人想像的那样,我已经尝试过将它们添加到“网络”>“高级”>“ DNS”中,但是将其添加到其中将覆盖DHCP中的那些,这不是我的意图。

如果可以在DHCP之后添加它们,那将是完美的选择,但我也接受将其添加之后的解决方案。

第二次尝试是,/etc/resolv.conf但是来自文件的消息是尽可能清晰的:

# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.

我个人将发送此消息的人发送给我两个月的电话支持。因此,他下次记录文档时将学会添加一些提示:您应该在哪里调整设置?或包含指向知识库文章的链接。

不过,我不希望在次要OS X更新中丢失某些内容。

如何为OS X 10.7做到这一点?


1
您可能会解释一些您尝试过的内容,以及为什么不希望在正常位置输入搜索域。具体来说-您是要在DHCP域名之前还是在提供的域名之后搜索您的搜索域?
bmike

Answers:


1

也许尝试将它们添加/添加到/etc/resolv.conf?您无法将它们手动添加到列表的末尾,在Lion中用逗号定界?它似乎可以在10.6中正常工作,除了DHCP提供的功能外,还添加了它,并且所有这些功能立即显示在resolv.conf中。

也许这对于您的目的不起作用,但是为什么不只是手动添加提供的DHCP和要添加的DHCP并将其保存在“系统偏好设置”中呢?然后,您将不必担心会覆盖任何内容,因为您将手动添加它们。我不认为您的域名会经常更改名称。

我可以告诉您,雪豹mDNSResponder(Bonjour)处理所有DNS(而不仅仅是多播DNS)。


resolve.conf用法已弃用,已记录在文件中。
索林

这是行不通的,不应作为已接受的答案。@Yobert的答案非常有用,并且完全可以满足要求者的要求。
JakeRobb '19

3

您可以使用networksetup命令,并在命令行的数组中添加其他搜索域:从手册页:

-setsearchdomains networkservice domain1 [domain2] [...]

Use this command to designate the search domain for the specified
<networkservice>. You can list any number of search domains
(replace domain1, domain2, and so on with the name of a local
domain). If you want to clear all search domain entries for the
specified network service, type aemptya in place of the domain

所以:

sudo networksetup -setsearchdomains Wi-Fi legacydomain.com secondlegacydomain.com additionaldomain.org evenmoresearchdomain.net

此调用应具有正确的顺序。


3
虽然我喜欢命令行方法,但我不得不说运行它确实会覆盖从DHCP服务器收到的DNS域,因此这不是一个合适的解决方案。我仍然希望能够使用它们,只是将其添加到列表的底部。需要一个自动化的解决方案。
索林

3

只需在文件/ etc / resolver /中放置一个名称,如“ searchappend”,其中包含以下内容:

search example.com

只是不要将文件命名为“ com”或其他有效的TLD。这是由于OSX的解析器功能而起作用的。有关更多信息,请阅读https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/resolver.5.html

我那里有一个名为“ consul”的文件,看起来像这样:

nameserver 127.0.0.1
port 8600
search consul

如此神奇地使它可以将.consul附加到搜索路径,并且任何对.consul TLD的解析都使用我的本地名称服务器。


链接已损坏,找不到替换项。
slm

我同意链接已断开,但这在10.13.6上对我有用。我必须先创建/ etc / resolver。我创建的文件仅包含search mydomain.com。附加的搜索域应用于所有网络适配器,并附加到现有的DHCP搜索域中。
JakeRobb

在莫哈韦沙漠(Mojave),这对我不再有用。:(
JakeRobb '19

您也许可以man 5 resolver在Mac上运行?该链接是该手册页的网络版本。
Yobert

1

将它们添加到系统偏好设置>网络>高级> | DNS |

(是否有任何特定的理由被否决?它确实符合请求者的要求,并且不需要使用终端。)


2
因为他写道,他不想覆盖DHCP DNS条目。另外,您必须将它们添加到每个界面。
joelpittet 2012年

0

假设您的路由器提供了其DNS服务器集,请将其IP地址(您的路由器)添加到DNS服务器列表中。在它下面添加您自己的DNS服务器。

您的计算机将首先查询您的路由器,然后循环浏览您手动定义的路由器。

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.