>我的系統是redhat 6.0
原來是redhat﹐那麼只設定/etc/named.conf好了﹐您最好將/etc/named.boot的內容安
裝named.conf的格式移植到/etc/named.conf裡面。

>整個name service 似乎很奇怪
>我也參考了how to 的做法

>我的環境是 我有一個實體ip 210.242.86.2
>內部的ip 是192.168.1.x

>我可以用nslookup bbs.nsysu.edu.tw 0.0.0.0
>查到 ip
>但是只要用nslookup 就掛了 出現下列訊息
>[root@router merlin]# nslookup
>*** Can't find server name for address 210.242.86.2: Non-existent
host/domain

可能你在/etc/resolv.conf裡面指定了210.242.86.2作為其中的一個NS了﹐問題看來似
是您的reverse name zone還沒設定好。閣下可參考在信末所附之小弟以前的討論文章
來將之設定好。
但問題是﹐你的IP一個是從ISP那裡獲得的﹐也就是說86.242.210.in-addr.arpa的
reserve name zone按理應該是您的ISP管理的了﹐請他們將 ‘2’(也就是您的機器)的
pointer 設定好就是了。如果閣下想自己管理這個reserver name zone的話﹐恐怕容易
和ISP的混郩﹐造成pointer不對應的後果﹐還請三思。
在下到建議你在/etc/resolv.conf裡面將210.242.86.2改成192.168.1.1(假設您的這台
機器目前有這個IP的話)﹐然後增設 192.168.1.0的reserve 和forward zone.

>Default Server:  impreza.ks.silkera.net
>Address:  203.66.62.14
這個看來是你的ISP或其他的上游NS﹐應該沒問題。

>
>察看 /var/log/messages關於named 的內如容下
>
>
>Jun 29 17:08:02 router named[1067]: starting.  named 8.2 Wed Mar 31
10:57:12 EST
>1999 ^Iroot@porky.devel.redhat.com:/usr/src/bs/BUILD/bind-8.2/src/bin/named
>Jun 29 17:08:02 router named[1067]: cache zone "" (IN) loaded (serial 0)
>Jun 29 17:08:02 router named[1067]: Zone "localhost" (file Localhost): No
defaul
>t TTL set using SOA minimum instead
>Jun 29 17:08:02 router named[1067]: master zone "localhost" (IN) loaded
(serial
>1999062500)
>Jun 29 17:08:02 router named[1067]: Zone "0.0.127.IN-ADDR.ARPA" (file
Rev-127.0)
>: No default TTL set using SOA minimum instead
>Jun 29 17:08:02 router named[1067]: master zone "0.0.127.IN-ADDR.ARPA" (IN)
load
>ed (serial 1999062500)
>Jun 29 17:08:02 router named[1067]: Zone "0.86.242.210.in-addr.arpa" (file
named
>.210.242.86.0): No default TTL set using SOA minimum instead
>Jun 29 17:08:02 router named[1067]: master zone "0.86.242.210.in-addr.arpa"
(IN)
>loaded (serial 1999062500)
>Jun 29 17:08:02 router named[1067]: ctl_server: bind: Address already in
use
>Jun 29 17:08:02 router named[1067]: listening on [127.0.0.1].53 (lo)
>Jun 29 17:08:02 router named[1067]: listening on [210.242.86.2].53 (eth0)
>Jun 29 17:08:02 router named[1067]: listening on [192.168.1.6].53 (eth1)
>Jun 29 17:08:02 router named[1067]: Forwarding source address is
[0.0.0.0].1031
>Jun 29 17:08:02 router named[1068]: Ready to answer queries.
>
>
>Jun 29 20:08:02 router named[1068]: Cleaned cache of 4 RRs
>Jun 29 20:08:02 router named[1068]: USAGE 930658082 930647282
CPU=0.06u/0.01s CH
>ILDCPU=0u/0s
>Jun 29 20:08:02 router named[1068]: NSTATS 930658082 930647282A=17PTR=23
>Jun 29 20:08:02 router named[1068]: XSTATS 930658082 930647282 RR=50 RNXD=1
RFwd
>R=23 RDupR=0 RFail=3 RFErr=0 RErr=0 RAXFR=0 RLame=0 ROpts=0 SSysQ=19
SAns=21 SFw
>dQ=19 SDupQ=2 SErr=0 RQ=40 RIQ=0 RFwdQ=0 RDupQ=0 RTCP=0 SFwdR=23 SFail=0
SFErr=0
>SNaAns=21 SNXD=0
>
>這幾行的問題我一直無法解決
>Jun 29 17:08:02 router named[1067]: Zone "localhost" (file Localhost): No
default
>TTL set using SOA minimum instead
>
>Jun 29 17:08:02 router named[1067]: Zone "0.0.127.IN-ADDR.ARPA" (file
Rev-127.0)
>: No default TTL set using SOA minimum instead
>Jun 29 17:08:02 router named[1067]: Zone "0.86.242.210.in-addr.arpa" (file
named
>.210.242.86.0): No default TTL set using SOA minimum instead
>
>我想問題就出現在這幾行中
這裡的信息是說TTL (Time To Live)的值沒指定好 (老實說小弟也不知道怎麼設定﹐
^_^)﹐但在SOA的括號( ) 裡面的最後一個數值﹐ 或可能是86400﹐其實已經被選擇來
代替TTL的值了﹐照理不應該有問題的了。我看不到你的/var/named/Localhost,
/var/named/Rev-127.0 和/var/named/named.210.242.86.0的內容怎麼寫﹐也給不了意
見。多試試吧﹐如果覺得修改麻煩或容易混亂﹐建議將所有檔案備份後花點時間重新編
寫(from sratch)﹐在/var/named/下面的設定檔﹐使用地址全稱(即包括最後的 ‘.’)
很重要。


>謝謝您的回答∼
不客氣﹐有空請多指教﹗

==============
附﹕

ARRON WANG 撰寫於文章 <7kesfm$657@netnews.hinet.net>...
>as TITLE (請問一台LINUX 能架兩個不同DOMAIN 的MAIL )
>
可以的。

假設: 您目前使用的是Redhat機器叫host.my.com, 使用IP10.11.127.1在eth0
上﹐route, named, 和sendmail均已運作良好。並且已經給你的virtual domain注冊
好。

1﹐設定好IP Alias。在XWindows裡面的控制面板﹐選擇network, interface, eth0﹐
然後按Alias, 輸入設定﹔如果在console﹐用ifconfig <interface>:0 <IP>
<subnet_maks>,如﹕
ifconfig eth0:0 192.168.0.30 netmask 255.255.255.0
ifconfig eht0:1 192.168.1.129 netmask 255.255.255.224
......
(如此類推)
或直接修改/etc/sysconfig/network-scripts/ifcfg-eht0:0 和ifcfg-eth0:1

2, 在/etc/hosts裡面有﹕
192.168.0.130    host1.virtual1.test    host1
192.168.1.129    host2.virtual2.test    host2

3, 在/etc/named.conf 有如下設定﹕
options {
    directory "/var/named";
    // query-source address * port 53;
};

zone "0.168.192.in-addr.arpa" {
    type master;
    file "named.192.168.0";
};

zone "1.168.192.in-addr.arpa" {
    type master;
    file "named.192.168.1";
};

zone "virtual1.test" {
    type master;
    file "named.virtual1.test";
};

zone "virtual2.test" {
    type master;
    file "named.virtual2.test";
};
**注意﹕別少了句子後面的 “;”符號

4, 在 /var/named之下分別有file: named.192.168.0, named.192.168.1,
namded.virtual1. test和named.virtual2.test
具體設定請參考named(DNS)說明,
例1﹕named.192.168.0
@    IN    SOA       host.my.com. webmaster.host.my.com. (
                1999061900  ; Serial
                28800            ; Refresh
                14400            ; Retry
                3600000        ; Expire
                96400    )       ; Minimum
        IN    NS    host.my.com.

30    IN    PTR    host1.virtual1.test.    ;<==指的其實是192.138.0.30

例2﹕ named.virtual1.test
@    IN    SOA    @    IN    SOA    host.my.com. webmaster.host.my.com. (
                1999061900  ; Serial
                28800            ; Refresh
                14400            ; Retry
                3600000        ; Expire
                96400    )       ; Minimum
        IN    NS    host.my.com.
        IN    MX   10    mail.virtual1.test.

host1    IN    A    192.168.0.30
mail     IN    CNAME    host1
www    IN    CNAME    host1


**注意﹕x.y.com.別少了最後的 “.”

5﹐kill -HUP `cat /var/run/named.pid` (注意“ `” 應該是在“1”鍵的左邊)
使DNS重新讀取設定

6, 在/etc/sendmail.cw加入﹕
virtual1.test
vitrual2.test

7﹐ps aux | grep sendmail 找到其PID﹐並執行 kill -HUP <PID> 讓設定生效。

到此應該可以了﹐接收者其實還是host.my.com上面的使用者。

如果還想建立virtual domain的網站﹐請繼續﹕

8﹐為virtual1和virtual2建立相應的目錄和權限﹐如﹕
mkdir /home/httpd/html/virtual1
mkdir /home/httpd/html/virtual2
chmod +xr /home/httpd/html/virtual1
chmod +xr /home/httpd/html/virtual2

9﹐在 /etc/httpd/conf/httpd.conf最後部份加入﹕
<VirtualHost www.virtual1.test>
ServerAdmin webmaster@host.my.test
DocumentRoot /home/http/html/virtual1
ServerName www.virtual1.test
ErrorLog logs/www.virtual1.test-eror_log
TransferLog logs/www.virtual1.test-access_log
</VirtualHost>

<VirtualHost www.virtual2.test>
ServerAdmin webmaster@host.my.test
DocumentRoot /home/http/html/virtual2
ServerName www.virtual2.test
ErrorLog logs/www.virtual2.test-eror_log
TransferLog logs/www.virtual2.test-access_log
</VirtualHost>

不實之處還望指正﹐謝謝﹗