Ubuntu

處理多個私有 DNS 伺服器

  • August 27, 2013

我會盡力解釋這一點…

我在 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)。

就在這裡。將您的本地解析器配置為您的本地綁定(nameserver 127.0.0.1in /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 ;
       } ;
} ;

引用自:https://serverfault.com/questions/534170