====== 安裝 BIND ====== 自行管理 DNS (nameserver) 是非常簡單的,您只需要幾分鐘可以完成安裝與設定,有大約五個檔案需要設定,並且整個操作過程相當的直覺簡單。 首先,您需要自己安裝 BIND。因為 BIND ([[http://en.wikipedia.org/wiki/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 位置([[en:hosting:manage-server:my-ip-address|不知道怎麼找嗎?]]). 伺服器的排序是有順序的。在下面的範例中我們使用 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 的([[zh-tw:dns:zone|預設轄區檔]]),您可以在 Gandi 的界面看到跟這一樣的內容 。([[en:dns:zone|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 的管理頁面中使用 '[[zh-tw:dns:zone#l-interface-expert|專家模式]]',就可以看到跟第二張圖中下半部的部份一樣的畫面,如您所見,這兩個是一樣的東西。 ===== 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|http://www.gandi.net/hosting/]]。