如何在OS X Mountain Lion中添加自定义DNS服务器并保留ISP的默认DNS


9

我正在使用OS X Mountain Lion。我dnsmasq用来设置通配符localhost域名,例如http://local.dev,以指向localhost。但是我必须在系统偏好设置->网络设置中添加127.0.0.1。

在我将127.0.0.1设置为DNS服务器之后,ISP的默认DNS服务器被我的覆盖了。这使我无法访问网站。当我不移动计算机时,这没什么大不了的,我可以手动输入ISP的DNS服务器。但是,如果我更改位置,则ISP的DNS也会更改。

我也尝试使用Google的DNS服务器,但在某些情况下无法正常工作。如何保留(或更新)ISP的DNS服务器而不删除127.0.0.1作为DNS。

先感谢您。

Answers:


11

是的 你可以做到的,/etc/resolver是你的朋友。

$ man 5 resolver

domain
与此解析程序配置关联的域名。从/ etc / resolver目录中的文件读取解析器配置时,Mac OS X DNS搜索系统通常不需要此选项。在这种情况下,文件名用作域名。

简而言之,您可以将其放置nameserver 127.0.0.1在您创建的名为/etc/resolver/dev

您需要重新加载/重启。然后它将任何请求定向*.dev到您的本地名称服务器。

您的网络连接DNS保持自动状态,因此它将应对您环境中的任何更改。

编辑:我刚刚找到https://serverfault.com/a/164215/163311http://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-again其中有更多详细信息,包括dnsmasq设置详细信息。



0

有使用的特定原因dnsmasq吗?

您可以简单地将条目添加到/private/etc/hosts文件中,使DNS指向您碰巧连接到的任何ISP。这是使用Terminal进行操作的方法:

sudo nano /private/etc/hosts 出现提示时输入密码。

在hosts文件的末尾添加任何附加内容(每行一个条目),例如:

127.0.0.1 local.dev

按Control + O,然后输入以将文件保存在nano中。Ctrl + X退出nano。

您将需要使用以下方法刷新本地DNS缓存: dscacheutil -flushcache


2
使用主机文件可以是一个简单的解决方案,但是我需要设置通配符域(例如* .dev)以指向localhost。
Daiwei 2013年
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.