---安裝篇----
1.安裝ACFS10.04(Ubuntu10.04架構)
依照 彰化縣99年度學籍系統安裝機資料庫備份手冊 安裝
2.安裝BIND9
root權限下
安裝 Bind9 的指令如下:
apt-get install bind9
建議安裝測試及除錯 DNS 的工具 dnsutils,指令如下:
apt-get install dnsutils
3.DNS設定
有關整個 DNS 的架構與設定方法參考 StudyArea;範例網域為 ...bdsps.chc.edu.tw,dns 主機 ip 163.23.103.1,主機名稱 dnsvr。另外考量到安全性因素,建議讓 bind 執行於 chroot 環境,以保護系統免被入侵。
在一般 Linux distro. 上面 bind 主要設定檔為 /etc/bind/named.conf,但 Debian 上略有不同;Debian 上面主要設定檔為 /etc/bind/named.conf.local。除了設定檔的檔名不同外其餘設定皆大同小異。
首先看看 /etc/bind/named.conf.local 的內容:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "bdsps.chc.edu.tw" in {
type master;
file "/etc/bind/db.bdsps.chc.edu.tw";
};
zone "103.23.163.in-addr.arpa" in {
type master;
file "/etc/bind/db.163.23.103";
};
1.安裝ACFS10.04(Ubuntu10.04架構)
依照 彰化縣99年度學籍系統安裝機資料庫備份手冊 安裝
2.安裝BIND9
root權限下
安裝 Bind9 的指令如下:
apt-get install bind9
建議安裝測試及除錯 DNS 的工具 dnsutils,指令如下:
apt-get install dnsutils
3.DNS設定
有關整個 DNS 的架構與設定方法參考 StudyArea;範例網域為 ...bdsps.chc.edu.tw,dns 主機 ip 163.23.103.1,主機名稱 dnsvr。另外考量到安全性因素,建議讓 bind 執行於 chroot 環境,以保護系統免被入侵。
在一般 Linux distro. 上面 bind 主要設定檔為 /etc/bind/named.conf,但 Debian 上略有不同;Debian 上面主要設定檔為 /etc/bind/named.conf.local。除了設定檔的檔名不同外其餘設定皆大同小異。
首先看看 /etc/bind/named.conf.local 的內容:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "bdsps.chc.edu.tw" in {
type master;
file "/etc/bind/db.bdsps.chc.edu.tw";
};
zone "103.23.163.in-addr.arpa" in {
type master;
file "/etc/bind/db.163.23.103";
};
上面第一個 zone 定義了 bdsps.chc.edu.tw 這個網域的正解部份,並設定類型為 master,設定檔為 /etc/bind/db.bdsps.chc.edu.tw;103.23.163.in-addr.arpa 的部份則是反解的部份且設定檔為 /etc/bind/db.163.23.103。
接著來看看正解設定檔 db.bdsps.chc.edu.tw的內容:
$TTL 86400
$ORIGIN x9.idv.tw.
@ IN SOA bdsps.chc.edu.tw. root.bdsps.chc.edu.tw. (
20110520 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
; 主要 NS、MX 與主要主機
@ IN NS bdsps.chc.edu.tw.
@ IN A 163.23.103.1
@ IN MX 10 bdsps.chc.edu.tw.
dnsvr IN A 163.23.103.1
dnsvr IN MX 20 bdsps.chc.edu.tw.
; 別名紀錄,直接指向主機 dnsvr
www IN CNAME dnsvr
ftp IN CNAME dnsvr
mail IN CNAME dnsvr
接著來看看正解設定檔 db.bdsps.chc.edu.tw的內容:
$TTL 86400
$ORIGIN x9.idv.tw.
@ IN SOA bdsps.chc.edu.tw. root.bdsps.chc.edu.tw. (
20110520 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
; 主要 NS、MX 與主要主機
@ IN NS bdsps.chc.edu.tw.
@ IN A 163.23.103.1
@ IN MX 10 bdsps.chc.edu.tw.
dnsvr IN A 163.23.103.1
dnsvr IN MX 20 bdsps.chc.edu.tw.
; 別名紀錄,直接指向主機 dnsvr
www IN CNAME dnsvr
ftp IN CNAME dnsvr
mail IN CNAME dnsvr
正解設定檔內除了設定兩筆 mailserver MX 紀錄外,另外還設定了 www、ftp、mail 三個 CNAME 指向 bdsps.chc.edu.tw;特別注意到上面 "bdsps.chc.edu.tw.",最後的 "." 意思為代表這是 FQDN。
最後來看反解設定檔 db.163.23.103:
$TTL 86400
@ IN SOA bdsps.chc.edu.tw. root.bdsps.chc.edu.tw. (
20110520 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
最後來看反解設定檔 db.163.23.103:
$TTL 86400
@ IN SOA bdsps.chc.edu.tw. root.bdsps.chc.edu.tw. (
20110520 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS bdsps.chc.edu.tw.
52 IN PTR bdsps.chc.edu.tw.
52 IN PTR dnsvr.bdsps.chc.edu.tw.
52 IN PTR http://www.bdsps.chc.edu.tw/.
52 IN PTR mail.bdsps.chc.edu.tw.
52 IN PTR ftp://ftp.bdsps.chc.edu.tw/.
52 IN PTR bdsps.chc.edu.tw.
52 IN PTR dnsvr.bdsps.chc.edu.tw.
52 IN PTR http://www.bdsps.chc.edu.tw/.
52 IN PTR mail.bdsps.chc.edu.tw.
52 IN PTR ftp://ftp.bdsps.chc.edu.tw/.
完成網域的正反解設定後,最後修改幾個 bind9 的執行相關參數設定檔:
/etc/default/bind9:
OPTIONS="-u bind"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes
/etc/bind/named.conf.options:
forwarders {
168.95.1.1;
163.23.200.1;
163.23.200.6;
};
auth-nxdomain yes; # conform to RFC1035 default is no. edit by neio
listen-on-v6 { none; }; # listen ipv6 default is any
編輯 /etc/resolv.conf,內容如下:
search bdsps.chc.edu.tw
nameserver 163.23.103.1
nameserver 163.23.200.1
nameserver 163.23.200.6
nameserver 168.95.1.1
接著重新啟動 bind9 後,一個簡易的小型 DNS 伺服器便已架設完畢。
4.測試(轉自另一篇文章)
dig
驗證 port 53 是否正在傾聽,指令如下:
dig -x 127.0.0.1
回應結果節錄如下:
第 2行說明 163.23.103.1 port 53。
;; Query time: 1 msec;; SERVER: 163.23.103.1#53(163.23.103.1)
驗證 Bind9 是 Caching nameserver,dig 外部的域名 (Domain name)。指令如下:
sudo dig ubuntu.com
回應結果節錄如下:
;; Query time: 489 msec
第二次 dig ubuntu.com,回應結果節錄如下:
;; Query time: 1 msec
第二次的 dig ubuntu.com 的 query time 會比第一次短。
dig 自己的域名 (Domain name)。指令如下:
sudo dig bdsps.chc.edu.tw
回應結果如下:
第 4行顯示 status: NOERROR
加一個參數 mx,再試一次。
sudo dig mx bdsps.chc.edu.tw
回應結果如下:
第 4行顯示 status: NOERROR
你可以試試 dig google.com 和 dig mx google.com。
ping
最後,你可以 ping 一下 bdsps.chc.edu.tw,看看回應如何。
/etc/default/bind9:
OPTIONS="-u bind"
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes
/etc/bind/named.conf.options:
forwarders {
168.95.1.1;
163.23.200.1;
163.23.200.6;
};
auth-nxdomain yes; # conform to RFC1035 default is no. edit by neio
listen-on-v6 { none; }; # listen ipv6 default is any
編輯 /etc/resolv.conf,內容如下:
search bdsps.chc.edu.tw
nameserver 163.23.103.1
nameserver 163.23.200.1
nameserver 163.23.200.6
nameserver 168.95.1.1
接著重新啟動 bind9 後,一個簡易的小型 DNS 伺服器便已架設完畢。
4.測試(轉自另一篇文章)
dig
驗證 port 53 是否正在傾聽,指令如下:
dig -x 127.0.0.1
回應結果節錄如下:
第 2行說明 163.23.103.1 port 53。
;; Query time: 1 msec;; SERVER: 163.23.103.1#53(163.23.103.1)
驗證 Bind9 是 Caching nameserver,dig 外部的域名 (Domain name)。指令如下:
sudo dig ubuntu.com
回應結果節錄如下:
;; Query time: 489 msec
第二次 dig ubuntu.com,回應結果節錄如下:
;; Query time: 1 msec
第二次的 dig ubuntu.com 的 query time 會比第一次短。
dig 自己的域名 (Domain name)。指令如下:
sudo dig bdsps.chc.edu.tw
回應結果如下:
第 4行顯示 status: NOERROR
加一個參數 mx,再試一次。
sudo dig mx bdsps.chc.edu.tw
回應結果如下:
第 4行顯示 status: NOERROR
你可以試試 dig google.com 和 dig mx google.com。
ping
最後,你可以 ping 一下 bdsps.chc.edu.tw,看看回應如何。
5.Chrooting Bind9(非必要但較安全)
倘若 bind9 架設完畢且一切都測試無誤後,以下的設定可以把 bind9 運行於 chroot 模式。
建立 bind9 的 chroot 執行目錄與設定相關權限:
停止 bind9
$ sudo /etc/init.d/bind9 stop
建立 chroot 環境中必要的目錄
$ sudo mkdir -p /var/lib/bind9/etc
$ sudo mkdir -p /var/lib/bind9/dev
$ sudo mkdir -p /var/lib/bind9/var/cache/bind
$ sudo mkdir -p /var/lib/bind9/var/run/bind/run
搬移原 bind9 設定檔與建立鏈結
$ sudo mv /etc/bind /var/lib/bind9/etc/bind
$ sudo ln -s /var/lib/bind9/etc/bind /etc/bind
建立執行所需裝置檔
$ sudo mknod /var/lib/bind9/dev/null c 1 3
$ sudo mknod /var/lib/bind9/dev/random c 1 8
設定相關權限
$ sudo chmod 666 /var/lib/bind9/dev/null /var/lib/bind9/dev/random
$ sudo chown -R bind:bind /var/lib/bind9/var/*
$ sudo chown -R bind:bind /var/lib/bind9/etc/bind
修改 bind9 設定檔,指定啟動方式
$ sudo vim /etc/default/bind9
修改 OPTIONS 選項如下
OPTIONS="-u bind -t /var/lib/bind9"
重新啟動 bind9
$ sudo /etc/init.d/bind9 start
資料出處:
1.bind9 - DebianWiki
http://www.debian.org.tw/index.php/bind9
建立 bind9 的 chroot 執行目錄與設定相關權限:
停止 bind9
$ sudo /etc/init.d/bind9 stop
建立 chroot 環境中必要的目錄
$ sudo mkdir -p /var/lib/bind9/etc
$ sudo mkdir -p /var/lib/bind9/dev
$ sudo mkdir -p /var/lib/bind9/var/cache/bind
$ sudo mkdir -p /var/lib/bind9/var/run/bind/run
搬移原 bind9 設定檔與建立鏈結
$ sudo mv /etc/bind /var/lib/bind9/etc/bind
$ sudo ln -s /var/lib/bind9/etc/bind /etc/bind
建立執行所需裝置檔
$ sudo mknod /var/lib/bind9/dev/null c 1 3
$ sudo mknod /var/lib/bind9/dev/random c 1 8
設定相關權限
$ sudo chmod 666 /var/lib/bind9/dev/null /var/lib/bind9/dev/random
$ sudo chown -R bind:bind /var/lib/bind9/var/*
$ sudo chown -R bind:bind /var/lib/bind9/etc/bind
修改 bind9 設定檔,指定啟動方式
$ sudo vim /etc/default/bind9
修改 OPTIONS 選項如下
OPTIONS="-u bind -t /var/lib/bind9"
重新啟動 bind9
$ sudo /etc/init.d/bind9 start
資料出處:
1.bind9 - DebianWiki
http://www.debian.org.tw/index.php/bind9
沒有留言:
張貼留言