架設環境 : EXSI-5
需求 :
A. 假設申請了一個 Domain name 叫做 vtest.tv,對應的 IP 為 192.168.11.11,
並需要兩個 hostname,www.vtest.tv 與 adm.vmtest.tv 對應到同一個 IP 。
B. 設計兩台 DNS server ( Master / Salve ) , 做為備援,
Slave 自動會更新 Zone 資訊。
Master DNS : ns1.vtest.tv ip : 192.168.11.11
Slave DNS : ns2.vtest.tv ip: 192.168.11.12
A. Master DNS 操作部分 ( 192.168.11.11 )
0. apt-get update 更新套件 list 並 安裝
apt-get update ; apt-get install bind9
1. 修改/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
//Hinet DNS
forwarders { 168.95.1.1; };
allow-query { any; };
allow-transfer { none; };
};
2. 建立 zond 目錄 mkdir /etc/bind/zone
3. 修改 /etc/bind/named.conf 並加入
...略...
zone "vtest.tv" {
type master;
file "/etc/bind/zone/db.vtest.tv";
// Slave DNS 192.168.11.12 可以向 Master DNS 192.168.11.11 做資料更新動作。
allow-transfer { 192.168.11.12;};
};
zone "11.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.192.168.11";
// Slave DNS 192.168.11.12 可以向 Master DNS 192.168.11.11 做資料更新動作。
allow-transfer { 192.168.11.12;}; //開放給指定 slave
};
include "/etc/bind/named.conf.local";
4. 接著設定正解檔案 /etc/bind/zone/db.vtest.tv
複製一份/etc/bind/db.local來修改
cp /etc/bind/db.local /etc/bind/zone/db.vtest.tv
vim /etc/bind/zone/db.vtest.tv
$TTL 600
@ IN SOA vtest.tv. root.vtest.tv. (
20111202 ; Serial
1800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS www.vtest.tv.
@ IN A 192.168.11.11
www 60 IN A 192.168.11.11
www 60 IN A 192.168.11.12
adm 60 IN A 192.168.11.11
adm 60 IN A 192.168.11.12
ns1 60 IN A 192.168.11.11
ns2 60 IN A 192.168.11.12
mail 60 IN A 192.168.11.10
相關資訊可參考鳥哥:正解資料庫檔案設定 http://linux.vbird.org/linux_server/0350dns.php#DNS_master_name
5. 接著設定反解檔案 /etc/bind/zone/db.192.168.11
一樣複製一份 /etc/bind/db.local 來修改
cp /etc/bind/db.local /etc/bind/zone/db.192.168.11
vim /etc/bind/zone/db.192.168.11
$TTL 600
@ IN SOA vtest.tv. root.vtest.tv. (
2 ; Serial
1800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS www.test.tv.
11 IN PTR www.vtest.tv.
12 IN PTR www.vtest.tv.
11 IN PTR ns1.vtest.tv.
12 IN PTR ns2.vtest.tv.
11 IN PTR adm.vtest.tv.
12 IN PTR adm.vtest.tv.
10 IN PTR mail.vtest.tv.
相關資訊可參考鳥哥:反解資料庫檔案設定 http://linux.vbird.org/linux_server/0350dns.php#DNS_master_ip
6. 重新啟動後, 簡易測試, 查看 system log 有沒有錯誤訊息 或 注意事項
# cat /var/log/syslog
或看 named-log error
#named -g
列出 預設的 port 53
# netstat -tlnap
7. 修改 本機端 dns 設定
# /etc/resolv.conf
nameserver 168.95.11.11
8. 查証DNS 是否設定成功,可用 指令 nslookup、dig -t、traceroute 、 ping
1、 nslookup adm.vtest.tv
Server: 192.168.11.11
Address: 192.168.11.11#53
Name: adm.vtest.tv
Address: 192.168.11.11
Name: adm.vtest.tv
Address: 192.168.11.12
2、 dig -t www.vtest.tv
;; Query time: 0 msec
;; SERVER: 192.168.11.11#53(192.168.11.11)
;; WHEN: Thu Dec 1 13:14:33 2011
;; MSG SIZE rcvd: 512
3、 traceroute ns1.vtest.tv
traceroute to ns1.vtest.tv (192.168.11.11), 30 hops max, 60 byte packets
1 adm.vtest.tv (192.168.11.11) 0.384 ms 0.382 ms 0.374 m
4、 ping www.vtest.tv
PING www.vtest.tv (192.168.11.11) 56(84) bytes of data.
64 bytes from ns1.vtest.tv (192.168.11.11): icmp_req=1 ttl=64 time=0.011 ms
64 bytes from adm.vtest.tv (192.168.11.11): icmp_req=2 ttl=64 time=0.012 ms
# ping www.vtest.tv
PING www.vtest.tv (192.168.11.12) 56(84) bytes of data.
64 bytes from adm.vtest.tv (192.168.11.12): icmp_req=1 ttl=64 time=0.187 ms
64 bytes from www.vtest.tv (192.168.11.12): icmp_req=2 ttl=64 time=0.129 ms
64 bytes from ns2.vtest.tv (192.168.11.12): icmp_req=3 ttl=64 time=0.149 ms
B. Slave DNS 操作部分 ( 192.168.11.12 )
0. apt-get update 更新套件 list 並 安裝
apt-get update ; apt-get install bind9
1. 修改/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
//Hinet DNS
forwarders { 168.95.1.1; };
allow-query { any; };
allow-transfer { none; };
};
2. 建立 zond 目錄 mkdir /etc/bind/zone
並且宣告權限讓資料可以寫入同步
chown bind.bind /etc/bind/zine
3. 修改 /etc/bind/named.conf 並加入
...略...
zone "vtest.tv" {
type slave;
file "/etc/bind/zone/db.vtest.tv";
// Master DNS 192.168.11.11 做資料更新動作。
masters { 192.168.11.11;};
};
zone "11.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/zone/db.192.168.11";
//Master DNS 192.168.11.11 做資料更新動作。
masters { 192.168.11.11;};
};
include "/etc/bind/named.conf.local";
4. 重新啟動後, 簡易測試, 查看 system log 有沒有錯誤訊息 或 注意事項
# cat /var/log/syslog
列出 預設的 port 53
# netstat -tlnap
修改 本機端 dns 設定
# /etc/resolv.conf
nameserver 127.0.0.1
# nslookup www.vtest.tv
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.vtest.tv
Address: 192.168.11.12
Name: www.vtest.tv
Address: 192.168.11.11
# nslookup adm.v.tv
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: adm.vtest.tv
Address: 192.168.11.12
Name: adm.vtest.tv
Address: 192.168.11.11
# 關掉 Master 測試看看
# 新增 Master zone file , 測試 slave 會不會自動更新
# 測試可把 refresh 設定為 60 秒 , 加快 slave 跟 Master 比對的時間
PS ( Slave 主機向 Master 要求傳送 Zone File 的時機
master 主機上的 named 啟動、Reload 時, 發送 dns notify 信號通知 NS 主機 (除本身外) 比對 zone file serial, 且 master serial 大於 slave serial 時.-
slave 主機上的 named 啟動時, 發現 master serial 大於 slave serial, 或無 zone file 存在時.
slave 主機每隔 refresh 時間, 向 master 查詢 zone file serial, 發現 master serial 大於 slave serial 時.)
# 測試反解
nslookup 192.168.11.11
Server: 192.168.11.11
Address: 192.168.11.11#53
11.11.168.192.in-addr.arpa name = mail.vtest.tv.
11.11.168.192.in-addr.arpa name = adm.vtest.tv.
11.11.168.192.in-addr.arpa name = www.vtest.tv.
補上兩個好用的dns測試網站:
1.http://pingability.com/zoneinfo.jsp?domain=
2.http://http://www.checkdns.net/quickcheckdomainf.aspx
沒有留言:
張貼留言