处理多个私有 DNS 服务器

处理多个私有 DNS 服务器

我会尽力解释这一点……

我在 ubuntu 13.04 上,并且在 127.0.0.1 上运行本地 BIND 实例,以访问用于开发的基本通配符 DNS(即“*.dev == 127.0.0.1” - 是的,我知道,不要创建虚假的 tlds 等。但这完全是本地的,仅用于我的机器)。

我的一些客户也通过 VPN 设置了自己的 DNS 服务器(地址为 192.168.140.111 或类似地址)。

我的问题是,如果我的 resolv.conf 首先列出了他们的 DNS 服务器,我就无法访问我的 *.dev,而如果我首先列出了我的 DNS 服务器,我就无法访问他们的 *.vpn 记录。

目前,这是我的 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

配置的前三行在 中/etc/resolvconf/resolv.conf.d/head,因此它们将会保留下来resolvconf -u

本质上我想知道的是:有没有办法设置它,以便 *.dev 转到我的 dns 服务器,*.vpn 转到他们的服务器,(其他一切都转到我的 ISP)。

答案1

是的,有。将您的本地解析器配置为您的本地绑定(nameserver 127.0.0.1/etc/resolv.conf),然后告诉您的本地名称服务器它是本地权威的.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 ;
        } ;
} ;

相关内容