我会尽力解释这一点,我可以…
我在Ubuntu的13.04,我在127.0.0.1运行本地BIND实例访问基本的通用DNS的开发(即“* .dev == 127.0.0.1” – 是的,我知道,不要创build假的tlds等,虽然这完全是本地的我的机器)。
我也有客户谁拥有自己的DNS服务器通过VPN设置(在192.168.140.111或类似的东西)。
我的问题是,如果我的resolv.conf首先列出了他们的DNS服务器,我不能访问我的* .dev,如果我有我的DNS服务器首先列出,我不能访问他们的* .vpnlogging。
目前,这是我的resolv.conf:
# 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 192.168.140.111 search ns1.vpn nameserver 127.0.0.1 nameserver 127.0.1.1 search fritz.box
configuration的前三行在/etc/resolvconf/resolv.conf.d/head ,因此它们将通过resolvconf -u存活。
基本上我想知道的是:是否有一种方法让我设置这个* .dev到我的dns服务器,* .vpn去他们的(和其他一切去我的ISP)。
就在这里。 configuration你的本地parsing器为你的本地绑定( /etc/resolv.conf nameserver 127.0.0.1 ),然后告诉你的本地域名服务器它是.dev本地权威(就像你已经是); .vpn是一个特殊的顶级域名(TLD),应将其查询发送给自定义DNS服务器; 而所有其他查询应该去你的ISP。 这是你想要添加到named.conf :
zone "vpn" { type forward; forward first; forwarders { 192.168.140.11 ; } ; } ; zone "." { type forward; forward first; forwarders { dns.of.isp.1 ; dns.of.isp.2 ; } ; } ;