在NAT內的Web Server要對外開放,如何設定DNS?
到iT邦幫忙

jiaqing(iT邦初學者9級)發問:
目前的環境是透過Fedora 5作NAT服務,而NAT內有一臺Windows Server 2003在執行ASP網頁,現在打算掛上新的網域名稱,讓外部可以看到,請問DNS該如何設定?

elsoncck(iT邦初學者10級):
Windows Server 2003或許不需要啟動DNS Service,可以從Fedora的Bind(DNS Server)下手,使用View就可以達到需求。但是Bind 9以上才支援View,如果沒有升級版本的疑慮,建議換成Bind 9。在「BIND master/slave DNS與view的搭配」(tinyurl.com/ye5u262)這篇文章中有View的用法。

twtw(iT邦好手6級):
你規畫在Fedora的Bind伺服器內,加入新的網域名稱,並將A Record的IP設定為跟外部IP一樣,這是正確的做法。

但在Windows Server 2003內開啟DNS服務,並把新網域名稱加入,再將A record的IP設為內部IP,則是錯誤的想法。NAT內的伺服器,不需要啟動任何DNS server的服務,除非是因為對外的DNS服務,是放在NAT內來服務。

而你的情況是在WAN上已有DNS服務,所以不需要內部再啟動DNS。如果你會這樣想,是因為網域名稱申請要求要兩個DNS server來管理,那也要有兩個對外IP才合理,在WAN上一個DNS做服務,又要把DNS的查詢往NAT裡的LAN裡送,是矛盾作法。除非WAN可以綁兩個IP,其中一個IP才可能往後送。

至於使用一個IP對應多網站,可以參考 「簡單弄一弄Apache的Proxy功能」(tinyurl.com/y8tcews),它是用Name-based Virtual Host加上Mod_proxy 的方案,利用該文的語法範例,可將Apache的設定修改為:

ServerName NEWDOMAIN.tw
ProxyRequests On

Order deny,allow
Deny from all
Allow from all

ProxyPass / http://192.168.1.10/


以上是指到新網路名稱,送往LAN裡的Windows Server 2003的Apache設定檔的修改方式。

簡單地說,就是Fedora上Bind 8裡兩個網域名稱的Web的IP,都指到本身同一個IP。而Fedora的Apache網頁伺服器就是負責這兩個網域名稱的Web服務,只是把新名稱的Web的服務,利用mod_proxy的功能,往後端的Windows Server 2003送。而DNS可以不需要用到elsoncck所提的View功能。

熱門新聞

Advertisement