一、設定配置內容
假設我們已經在網上注冊了wangej.com域名,得到的IP網絡是172.16.12.0/24
ns服務器是:172.16.12.1
www服務器:172.16.12.1,另外一個地址:172.16.12.3
mail服務器:172.16.12.2
ftp主機在www服務器上,即ftp為www的別名
二、准備工作
這裡我們使用bind97來搭建我們的DNS服務器,首先需要安裝好bind97.i386、bind97-libs.i386、bind97-utils.i386這三個軟件包。軟件包可以在https://www.isc.org/wordpress/downloads/官方網站下載。(此為源碼)
三、配置文件詳解
/etc/named.conf為BIND服務進程的主配置文件
BIND進程的工作屬性
區域的定義
options { #定義選項
directory "/var/named"; #定義數據文件目錄
};
zone "." IN { #定義區域
type hint; #定義區域類型為根
file "named.ca"; #定義數據文件
};
zone "localhost" IN { #定義本地解析區域
type master; #定義區域類型為主
file "named.localhost"; #定義數據文件
};
zone "0.0.127.in-addr.arpa" IN { #定義反向解析區域
type master; #定義區域類型為主
file "named.loopback"; #定義數據文件
};
/etc/rndc.key為rndc服務的密鑰文件
rndc:Remote Name Domain Controller遠程名稱服務控制器
/etc/rndc.conf為rndc服務的密鑰文件
/var/named/目錄
目錄中存儲的均為區域數據文件
/etc/rc.d/init.d/named BIND的服務控制腳本,用來在rhel5中使用service調用開關的。
四、資源記錄類型和字符含義
SOA(Start Of Authority起始授權記錄)
ZONE NAME TTL IN SOA FQDN(主DNS) ADMINISTRATOR_MAILBOX(
serial number #版本號
refresh #定義檢查周期時間
retry #定義重試時間
expire #定義過期時間
nagative answer TL #定義否定答案的緩存時長
時間單位:M(分鐘)、H(小時)、D(天)、W(周)、默認單位是秒
郵箱格式:[email protected]. -寫為-> admin.magedu.com.
magedu.com. 600 IN SOA ns1.wangej.com. admin.wag.com. (
20130401(最長10為數)
1H
5M
1W
1D)
NS(Name Server):區域名稱-->主機名
magedu.com. 600 IN NS ns.magedu.com.
ns.magedu.com. 600 IN A 1.1.1.2
MX(Mail eXchange):ZONE NAME --> FQDN
優先級 0-99:數字越小級別越高
ZONE NAME TTL IN MX pri VALUE
magedu.com. 600 IN MX 10 mail.magedu.com.
mail.magedu.com. 600 IN A 1.1.1.3
A(address): FQDN-->IPv4
AAAA:FQDN-->IPv6
PTR(pointer): IP-->FQDN 指針記錄
CNAME(Canonical NAME): FQDN-->FQDN 別名記錄
五、配置緩存DNS服務器
1、vim /etc/named.conf
options { #定義選項
directory "/var/named"; #定義數據文件目錄
};
zone "." IN { #定義區域
type hint; #定義區域類型為根
file "named.ca"; #定義數據文件
};
zone "localhost" IN { #定義本地解析區域
type master; #定義區域類型為主
file "named.localhost"; #定義數據文件
};
zone "0.0.127.in-addr.arpa" IN { #定義反向解析區域
type master; #定義區域類型為主
file "named.loopback"; #定義數據文件
};
檢查語法是否錯誤:
named-checkconf
檢查named.conf文件的屬主屬組和權限
[root@localhost named]# chmod 640 /etc/named.conf
[root@localhost named]# chown root:named /etc/named.conf
[root@localhost named]# ll /etc/named.conf
-rw-r----- 1 root named 369 Apr 1 22:08 /etc/named.conf
2、這裡我們需要關閉SE
Linux,以確保linux的安全機制不會對BIND服務造成什麼影響。
查看SELinux當前狀態:
[root@localhost named]# getenforce #查看SELinux當前的開啟狀態
Enforcing #SELinux開啟狀態
[root@localhost named]# setenforce 0 #臨時性關閉SELinux服務
[root@localhost named]# getenforce #再次查看SELinux
Permissive
臨時性關閉SELinux:
# setenforce 0
開啟SELinux服務
# setenforce 1
永久關閉SELinux就需要配置: vim /etc/selinux/
這裡我們關閉SELinux服務
# setenforce 0
3、測試服務是否正常
重啟named服務service named restart然後我們ping一個EQDN測試是否成功
[root@localhost named]# service named restart
Stopping named: [ OK ]
Starting named: [ OK ]
使用dig命令查看一下根域
dig -t NS . @172.16.12.1 通過我們自己設置的DNS服務器查看根域名服務器。
[root@localhost named]# dig -t NS . @172.16.12.1
; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS . @172.16.12.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64807
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 487177 IN NS a.root-servers.net.
. 487177 IN NS f.root-servers.net.
. 487177 IN NS m.root-servers.net.
. 487177 IN NS h.root-servers.net.
. 487177 IN NS k.root-servers.net.
. 487177 IN NS b.root-servers.net.
. 487177 IN NS i.root-servers.net.
. 487177 IN NS l.root-servers.net.
. 487177 IN NS d.root-servers.net.
. 487177 IN NS e.root-servers.net.
. 487177 IN NS j.root-servers.net.
. 487177 IN NS c.root-servers.net.
. 487177 IN NS g.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 573577 IN A 198.41.0.4
a.root-servers.net. 573577 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 573577 IN A 192.228.79.201
c.root-servers.net. 573577 IN A 192.33.4.12
d.root-servers.net. 573577 IN A 199.7.91.13
d.root-servers.net. 573577 IN AAAA 2001:500:2d::d
e.root-servers.net. 573577 IN A 192.203.230.10
f.root-servers.net. 573577 IN A 192.5.5.241
f.root-servers.net. 573577 IN AAAA 2001:500:2f::f
g.root-servers.net. 573577 IN A 192.112.36.4
h.root-servers.net. 573577 IN A 128.63.2.53
h.root-servers.net. 573577 IN AAAA 2001:500:1::803f:235
i.root-servers.net. 573577 IN A 192.36.148.17
i.root-servers.net. 573577 IN AAAA 2001:7fe::53
;; Query time: 5 msec
;; SERVER: 172.16.12.1#53(172.16.12.1)
;; WHEN: Tue Apr 2 19:51:37 2013
;; MSG SIZE rcvd: 512
4、為named服務添加開機啟動
chkconfig on named
[root@localhost named]# chkconfig --list named
named 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost named]# chkconfig named on
[root@localhost named]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
OK,到這裡緩存DNS就已經配置正常,能夠正常使用了。
六、配置主DNS服務器
1、為/etc/named.conf添加主區域文件配置和反向區域解析
zone "wangej.com" IN { #定義wangej.com區域
type master; #定義區域類型為主
file "wangej.com.zone"; #定義數據文件
};
zone "12.16.172.in-addr.arpa" IN { #定義wangej.com反向解析區域
type master; #定義區域類型為主
file "172.16.12.zone"; #定義數據文件
};
2、添加區域文件
vim wangej.com.zone
$TTL 1H
wangej.com. IN SOA ns1.wangej.com. admin.wangej.com. (
1
1H
5M
2D
6H )
IN NS ns1
IN MX 10 mail
ns1 IN A 172.16.12.1
mail IN A 172.16.12.2
www IN A 172.16.12.1
www IN A 172.16.12.3
ftp IN CNAME www
vim 172.16.12.zone
$TTL 1H
@ IN SOA ns1.wangej.com. admin.wangej.com. (
1
1H
5M
2D
6H )
IN NS ns1.wangej.com.
1 IN PTR ns1.wangej.com.
1 IN PTR www.wangej.com.
2 IN PTR mail.wangej.com.
3 IN PTR www.wangej.com.
3、檢查文件的語法錯誤和屬主屬組及權限
named-checkzone "wangej.com" /var/named/wangej.com.zone
named-checkzone "172.16.12.zone" /var/named/172.16.12.zone
-rw-r----- 1 root named 321 Apr 1 22:43 172.16.12.zone
-rw-r----- 1 root root 289 Apr 1 22:42 wangej.com.zone
4、測試服務是否能夠正常使用
[root@localhost ~]# dig -t A www.wangej.com @172.16.12.1
; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.wangej.com @172.16.12.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43339
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.wangej.com. IN A
;; ANSWER SECTION:
www.wangej.com. 3600 IN A 172.16.12.1
;; AUTHORITY SECTION:
wangej.com. 3600 IN NS ns1.wangej.com.
;; ADDITIONAL SECTION:
ns1.wangej.com. 3600 IN A 172.16.12.1
;; Query time: 4 msec
;; SERVER: 172.16.12.1#53(172.16.12.1)
;; WHEN: Tue Apr 2 20:05:27 2013
;; MSG SIZE rcvd: 82
5、如此一個主DNS就已經搭建成功了。