2012-07-05 75 views
1

在我的家庭局域網中,我有多臺計算機。它們連接到一臺連接到互聯網的路由器,並充當局域網上的DHCP服務器和域名服務器。某些主機名的單獨名稱服務器

我的一些電腦是Ubuntu機器,我試圖在它們上設置一個很好的/etc/resolv.conf。問題是我的路由器是真的糟糕的是作爲名稱服務器(非常非常慢),所以我更喜歡使用外部名稱服務器,例如Google的名稱服務器或OpenDNS。

但這些公共名稱服務器顯然不知道我的本地機器的IP地址。

所以這裏是我的問題:有什麼辦法可以配置/etc/resolv.conf,以便某些主機名由一個名稱服務器解析,而其他主機名由另一個名稱服務器解析?

(我的猜測是否定的,在這種情況下我必須設立固定的IP地址,但我希望能避免這種情況。)

回答

3

需要做的計算機上安裝一個本地轉發域名服務器本地名稱服務器和Internet名稱服務器之間的選擇。使用Unbound是因爲它輕巧且易於配置完成此任務。

將這個到未綁定的配置:

stub-zone: 
     name: "internal.example.com" 
     stub-host: internal.nameserver.ip.address 
forward-zone: 
     name: "." 
     forward-host: internet.nameserver.ip.address 

nameserver 127.0.0.1/etc/resolv.conf使應用程序在本地主機上使用西港島線未綁定的這個實例。

現在,當您嘗試解決myhost.internal.example.com將查詢發送到internal.nameserve.ip.address,當你嘗試解決www.google.com將查詢發送到internet.nameserver.ip.address

希望所有的本地主機都歸入上面的一個本地域(internal.example.com)。不幸的是,你的便宜的路由器+ DHCP服務器+ DNS服務器很可能會把它所知道的所有主機名放入其合成根區域。如果是這樣的話,那麼你就必須由一個將它們全部列出一個如下:

stub-zone: 
     name: "hostname1" 
     stub-host: internal.nameserver.ip.address 
stub-zone: 
     name: "hostname2" 
     stub-host: internal.nameserver.ip.address 
stub-zone: 
     name: "hostname3" 
     stub-host: internal.nameserver.ip.address 
forward-zone: 
     name: "." 
     forward-host: internet.nameserver.ip.address 

的問題,這是當然的,現在你有一堆的,你需要配置不同的機器上沒有限制實例併成立。你可以通過在局域網上只有一臺主機提供這種服務並作爲所有其他主機的遞歸名稱服務器來避免這種情況,但是如果你打算這麼做,那麼你可以使該主機成爲DHCP服務器和權威域名服務器對於本地主機也是如此,擺脫你的慢速嵌入式DHCP + DNS服務器。

+0

謝謝Celada,那正是我需要的。 – oz1cz 2012-07-05 21:09:19