安裝 BIND

自行管理 DNS (nameserver) 是非常簡單的,您只需要幾分鐘可以完成安裝與設定,有大約五個檔案需要設定,並且整個操作過程相當的直覺簡單。

首先,您需要自己安裝 BIND。因為 BIND (Berkeley Internet Name Daemon) 是非常普遍使用的軟體,您只需要輸入下列指令就可以安裝到最新的 BIND 9 在您的伺服器裡面。

apt-get install bind9 dnsutils

設定 BIND

這裡是最重要的部份。下表的檔案就是我們需要修改的設定檔:

檔案 用途
named.conf.local 設定您的網域與轄區檔的位置
named.conf.options BIND 的其他設定,例如額外的 IP 位置
resolv.conf 設定您系統查詢的 DNS 主機
zone file 轄區正解檔
reverse DNS zone file 轄區反解檔

named.conf.local

named.conf.local 這個設定檔是 BIND 的重要設定檔。您必須將您的網域設定放在這裡面。請使用您喜愛的編輯器來修改他,例如您是使用 nano 的話,請輸入:

nano /etc/bind/named.conf.local

然後,在這台伺服器增加您的網域設定, 加入如下面的網域設定(請將兩個 “whack-a-mole.eu” 都換成您的設定):

zone "whack-a-mole.eu" {
      type master;
      file "/etc/bind/zones/whack-a-mole.eu.db";
};

named.conf.options

請記得要修改 named.conf.options 這個檔案:

nano /etc/bind/named.conf.options

如果您要管理很多網域名稱的解析,您需要將每個網域名稱的設定檔都獨立放在這個檔案內。同時,如果有轄區檔傳送(Zone transfer)的需求,也請在這邊進行設定。

例如,在這裡我們使用 ns6.gandi.net 來當作 whack-a-mole.eu 這個網域名稱的第二台名稱伺服器,所以設定如下:

zone "whack-a-mole.eu" (
        type master;
        allow-transfer {217.70.177.40;};
        file "/etc/bind/db.whack-a-mole.eu";
)

您必須在每個需要轄區傳送的網域名稱內都加入像這樣的設定,並且指定第二台名稱伺服器的 IP 位置,主伺服器才會允許其他名稱伺服器的轄區傳送。

resolv.conf

您將會需要編輯 resolv.conf,並將您的域名伺服器的 IP 加入檔案中。注意,這個檔案並不是在 BIND 的目錄中而是在其他地方,/etc 的資料夾內,透過下列命令編輯他:

nano /etc/resolv.conf  

請輸入如下的資料,請記得要將 “whack-a-mole.eu” 修改成您的網域名稱,並且要將 “217.70.190.17” 改成您的伺服器 IP 位置(不知道怎麼找嗎?). 伺服器的排序是有順序的。在下面的範例中我們使用 Gandi 的 ns6.gandi.net 這台伺服器(IP 217.70.177.40) 來當作第二個名稱伺服器。

search whack-a-mole.eu
nameserver 217.70.190.17
nameserver 217.70.177.40

轄區設定檔

這個檔案紀錄了您的網域名稱對應到伺服器的解析紀錄,或是郵件伺服器的位置,我們稱這個檔案為 '轄區設定檔(zone file)'。如果您使用 Gandi 的(預設轄區檔),您可以在 Gandi 的界面看到跟這一樣的內容 。(more)

1. 首先建立存放轄區設定檔的資料夾: 這個資料夾存放你所有的轄區設定檔。

mkdir /etc/bind/zones

2. 幫您的網域名稱建立一個轄區設定檔

現在您需要建立一個 DNS 使用的轄區設定檔來對應您的網域名稱與 IP 位置(接下來的範例中,請將 whack-a-mole.eu 替換成您的真實資料)。使用下列指令來建立一個新檔案(記得替換 whack-a-mole.eu 為你的網域名稱):

nano /etc/bind/zones/whack-a-mole.eu.db

下面是轄區設定檔(zone file)中的範例:

whack-a-mole.eu.  IN   SOA   boom.whack-a-mole.eu. admin.whack-a-mole.eu. (

2006081401
28800
3600
604800
38400
)
  
whack-a-mole.eu. IN NS boom.whack-a-mole.eu.

whack-a-mole.eu. 10800 IN MX 10 spool.mail.gandi.net.
whack-a-mole.eu. 10800 IN MX 50 fb.mail.gandi.net.
pop 10800 IN CNAME access.mail.gandi.net.
imap 10800 IN CNAME access.mail.gandi.net.
smtp 10800 IN CNAME relay.mail.gandi.net.
webmail 10800 IN CNAME agent.mail.gandi.net.

www IN A 217.70.190.20
mta IN A 217.70.190.17
boom IN A 217.70.190.17

(您將需要替換上面範例中的值,改成您的設定。這邊的範例是使用 Gandi 的 GandiMail 與網頁伺服器)

您可以在 Gandi DNS 的管理頁面中使用 '專家模式',就可以看到跟第二張圖中下半部的部份一樣的畫面,如您所見,這兩個是一樣的東西。

DNS 反解轄區檔(Reverse DNS zone files)

建立您的反解檔(使用您的 IP 位置的反轉後來取代 190.70.217)。

nano /etc/bind/zones/rev.190.70.217.in-addr.arpa

請依照下來原則來替換下列範例,修改成您的反解檔:

  • 'whack-a-mole.eu.' 改成您的真實網域名稱
  • 'boom.whack-amole.eu.' 改成您的名稱伺服器主機名稱
  • 數字 '17' 改成您的主機編號(例如,您的 IP 是 190.70.217.17,則編號就是 '17')
@ IN SOA whack-a-mole.eu. admin.whack-a-mole.eu. (
                      2006081401;
                      28800;
                      604800;
                      604800;
                      86400);

                     IN    NS     boom.whack-a-mole.eu.
17                   IN    PTR    whack-a-mole.eu.

重新啟動 Restart

一旦您完成您的 DNS 伺服器設定,請執行:

/etc/init.d/bind9 restart

如果設定都正常,您會看到如下列訊息:

Stopping domain name service... bind                                         [ OK ]
Starting domain name service... bind                                         [ OK ]

安裝 BIND Server: 最簡單的方式!

Gandi.net 提供 高擴充與獨立的代管服務 能依照您的需求建立自己的 網域/網頁服務。我們的服務能支援很小的規模,每月只要 $14 元起。十分鐘就能使用您自己的伺服器。更多代管伺服器的細節請參考我們的 http://www.gandi.net/hosting/

上一次變更: 2016/05/31 10:23 (外部編輯)