-----原始郵件-----
寄件者: Michael <c333152@tpts8.seed.net.tw>
收件者: 網中人 <netmanforever@yahoo.com>
日期: Thursday, 27 January 2000 PM 18:51
主旨: 請教虛擬主機的DNS設定


>網中人大大:

哇~~﹗別這樣稱呼我好不好﹖擔當不起啦~~ 看得起就叫我網中人或 Kenny 好了~~

>
>您好,想向您請教DNS的設定
>
>我是用ADSL專線,只有5個 IP,
>IP 可用範圍為 192.168.1.58~62 (舉例)
>我用 bind 8.2.2
>
>在設定named.conf 的 反查要如何設定?

您應該看過 http://go.to/study-area 那裡應該說得很清楚了﹐如果第一次看不明
白﹐請多看數遍吧。不要說別人看了﹐連我自己寫的﹐重讀的時候也覺得不好理解呢~~
^_^

很明顯您這個 ADSL 獲得的 IP 是一個 29bit mask 的切割子網﹐反解設定一定要上游
幫您設定好 CNAME alias﹐或者干脆叫上游幫您管理反解(但不知道是否要收費了
﹖﹖)﹐後者的靈活性較低﹐但可靠性強。有些 ISP 可能會拒絕讓您管理子網反解﹐倒
是可以原諒的﹐因為 ISP 不知道下游管理者的底細與能力﹐為了保持 DNS 的可靠性﹐
是可能會拒絕的。假如您碰到這樣的情形﹐請不要動怒﹐多多原諒對方(因為這是一個
網路管理員應盡的責任啦)﹐或換一個允許您管理子網反解的 ISP 就是了。

>
>一般是設定為 (一整個class C 時)
>
>zone "xxx.com"{
>        type master;
>        file "xxx.hosts";
>};
>
>zone "1.168.192.in-addr.arpa"{
>        type master;
>        file "xxx.rev";
>};
>zone "yyy.com"{
>        type master;
>        file "yyy.hosts";
>};
>
>zone "1.168.192.in-addr.arpa"{
>        type master;
>        file "yyy.rev";
>};

嗯﹖怎麼會有兩個 1.168.192.in-addr.arpa 呢﹖建議您使用同一個 file 如
﹕rev.192.168.1﹐否則可能其中一個反解就不生效了。

>
>
>但是像ADSL有切子網域時,反查要如何設定?

請到 study-area 的“學習Linux”裡面的“設定 DNS”看看吧。抱歉啦 ^_^

>
>虛擬主機的正查檔到底要如何設定才是正確?

一般來說﹐正解查詢比較容易設定的﹐只要註冊好就行了。

>
>承上例
>xxx.host 檔案
>
>@IN    SOA       dns1.xxx.com.root.dns1.xxx.com. (
>                        2000010302 ; serial
>                        28800 ; refresh
>                        14400 ; retry
>                        3600000 ; expire
>                        86400 ; default_ttl
>                        )
>               IN      NS      dns1.xxx.com.
>               IN      MX      10      mail.xxx.com
>dns1            IN      A       192.168.1.58
>www          IN      CNAME    dns1
>
>xxx.com  這個網域的正查檔較無問題
>
>我的問題就是 yyy.com 這個網域的正查檔的SOA要如何設定呢?

容後再答。

>我參考一些資料發現yyy.hosts檔有兩種不同的設定,
>
>設定一   (以xxx.com網域的SOA)  (一般的例子)
>
>@IN    SOA       dns1.xxx.com.     root.dns1.xxx.com. (
>                        2000010302 ; serial
>                        28800 ; refresh
>                        14400 ; retry
>                        3600000 ; expire
>                        86400 ; default_ttl
>                        )
>               IN      NS      dns1.xxx.com.
>               IN      MX      10      mail.yyy.com.
>
>www            IN      A       192.168.1.58
>yyy.com.       IN      A       192.168.1.58
>mail              IN      A       192.168.1.58

作為 zone MX 指定的主機﹐還必須有一個最低偏愛值的 MX 記錄指向自己﹐如﹕
mail              IN      A       192.168.1.58
                 IN      MX    0       mail.yyy.com.

(下面的例子也一樣)

>
>設定二    (以yyy.com網域的SOA) (博碩文化出版的Apache server徹底研究  書裡的
>例子)
>
>@IN    SOA       dns1.yyy.com.   root.dns1.yyy.com. (
>                        2000010302 ; serial
>                        28800 ; refresh
>                        14400 ; retry
>                        3600000 ; expire
>                        86400 ; default_ttl
>                        )
>               IN      NS      dns1.xxx.com.
>               IN      MX      10      mail.yyy.com.
>www            IN      A       192.168.1.58
>yyy.com.       IN      A       192.168.1.58
>mail              IN      A       192.168.1.58
>
>到底是要怎樣設定?

如果一台主機管理好幾個 zone ﹐而且該主機又有好幾個名稱(這完全有可能﹐除了用
虛擬主機外﹐光一個界面也可以指定多個名稱)﹐SOA 的主機無所畏用哪一個名稱﹐反
正能通過 DNS 查詢(正解和反解)得到就可以了。但我不建議使用建立在 IP alias 的
名稱﹐用第一個界面的第一個名稱就是了(純個人意見)。

>
>還有我遇到一個問題
>
>同網域的不同主機名稱指到同一台dns1 主機
>設定如下
>dns1          IN         A             192.168.1.58
>www1       IN     CNAME      dns1
>www2       IN     CNAME      dns1
>www3       IN     CNAME      dns1
>
>當我用nslookup查詢時
>居然只可查到www1
>查不到www2及www3
>我確定有重新啟動 name server
>是什麼問題呢?

這問題相當奇怪﹐我從來沒遇到過呢﹐實在不知道是什麼問題。您重新啟動 DNS 之
後﹐看看 /var/log/messages 的最後部份有什麼錯誤信息沒有﹖或用 nslookup 的
debug mode 來查詢(在“網路基礎”的“DNS協定”有說明)。
如果為了測試﹐您可以另外新建立一個 zone ﹐然後多增幾個 CNAME 來測試﹐如果情
況依然﹐可能是 bind 的問題了。但我不敢肯定是否如此﹐有必要可以向 bind 的作者
或 coresponding person 反映一下﹐或許可以得到解答。小弟才淺﹐實在不明所以
啦。

>
>很抱歉,問題這麼長.
>謝謝您的熱心!

不客氣﹐有問題隨時歡迎討論﹗

祝順利﹗

網中人