RHEL5.4配置DNS服務(wù)(2)
RHEL5.4配置DNS 服務(wù)(2)剛才只是配置了主DNS 服務(wù)器,而且主DNS 服務(wù)器也工作正常,現(xiàn)在我們來(lái)配置一個(gè)輔助DNS 服務(wù)器。配置輔助DNS 服務(wù)器主DNS 的東西和輔助DNS 東西實(shí)際上
RHEL5.4配置DNS 服務(wù)(2)
剛才只是配置了主DNS 服務(wù)器,而且主DNS 服務(wù)器也工作正常,現(xiàn)在我們來(lái)配置一個(gè)輔助DNS 服務(wù)器。
配置輔助DNS 服務(wù)器
主DNS 的東西和輔助DNS 東西實(shí)際上是一模一樣的,
第一步,安裝軟件包
[root@localhost ~]# yum -y install bind bind-chroot caching-nameserver
[root@localhost ~]#
第二步,復(fù)制模板文件
[root@localhost etc]#
[root@localhost etc]# cp -p named.caching-nameserver.conf named.conf
[root@localhost etc]#
第三步,編輯named.conf 文件
[root@localhost etc]#
[root@localhost etc]# vim named.conf
[root@localhost etc]#
和主DNS 配置一樣就可以了。
前面的都和主DNS 配置一樣就可以了
第四步,定義zone 文件。(編輯named.rfc1912.zones 文件)
[root@localhost etc]#
[root@localhost etc]# vim named.rfc1912.zones
zone "example.com" IN {
type slave;
masters { 192.168.0.254; };
file "slaves/example.com";
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.0.254; };
file "slaves/named.example";
};
輔助DNS 在定義zone 文件的時(shí)候和主DNS 有些不同
在輔助DNS 里面 type 要改為slave
master { 192.168.0.254; }; 而且必須指定主DNS 的IP address
file "slaves/example.com";
file "slaves/named.example";
為什么要指定數(shù)據(jù)庫(kù)文件在slaves 目錄下面呢
,是因?yàn)閟laves 目錄是擁有人和擁有組都是named 用戶,在啟動(dòng)DNS 服務(wù)的時(shí)候,只有named 有權(quán)限進(jìn)行操作,所以我們要把數(shù)據(jù)庫(kù)放在這個(gè)目錄下面。
[root@localhost ~]#
[root@localhost ~]# cd /var/named/chroot/var/named/
[root@localhost named]#
[root@localhost named]# ll | grep slaves
drwxrwx--- 2 named named 4096 Jul 27 2004 slaves
[root@localhost named]# cd slaves/
[root@localhost slaves]# ls
[root@localhost slaves]#
可以看到,slaves 目錄的擁有人和擁有組是named ,并且現(xiàn)在的slaves 目錄下面是什么東西都沒(méi)有的。
現(xiàn)在我們重啟一下DNS 服務(wù),
[root@localhost ~]#
[root@localhost ~]# service named restart
Stopping named: [ OK ] Starting named: [ OK ]
[root@localhost ~]#
可以看到,服務(wù)啟動(dòng)成功了。
在啟動(dòng)服務(wù)的同時(shí),我們來(lái)查看一下日志信息,看看日志里面有什么提示。
[root@localhost ~]#
[root@localhost ~]# tail /var/log/messages
Feb 21 18:23:00 localhost named[7394]: zone example.com/IN/localhost_resolver: Transfer started.
Feb 21 18:23:00 localhost named[7394]: transfer of 'example.com/IN' from 192.168.0.254#53: connected using 192.168.0.10#55165
Feb 21 18:23:00 localhost named[7394]: zone example.com/IN/localhost_resolver: transferred serial 2010022101
Feb 21 18:23:00 localhost named[7394]: transfer of 'example.com/IN' from 192.168.0.254#53: end of transfer
[root@localhost ~]#
在日志里面可以看到,主DNS 與輔助DNS 正在同步序列號(hào),同步成功,這個(gè)日志里面的信息非常的詳細(xì)。
接下來(lái),我們?cè)诘絪laves 目錄下面去看看,
[root@localhost named]# cd slaves/
[root@localhost slaves]# ll
total 8
-rw-r--r-- 1 named named 461 Feb 21 18:23 example.com
-rw-r--r-- 1 named named 531 Feb 21 18:23 named.example
[root@localhost slaves]#
剛才slaves 目錄下面的是什么東西都沒(méi)有的,現(xiàn)在就多了兩個(gè)文件,example.com 和named.example 這個(gè)兩個(gè)文件。這個(gè)就是我們剛才在定義zone 文件的時(shí)候在slaves 目錄下面定義的,文件名是隨意寫的,這個(gè)沒(méi)有關(guān)系,但是里面東西是和主DNS 一樣的。
,我們打開(kāi)這個(gè)兩個(gè)文件來(lái)看一下
[root@localhost slaves]#
[root@localhost slaves]# vim example.com
$ORIGIN .
$TTL 86400 ; 1 day
example.com IN SOA s erver1.example.com. root.exmaple.com. ( 2010022101 ; serial
10800 ; refresh (3 hours) 900 ; retry (15 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) )
NS server1.example.com.
$ORIGIN example.com.
server1 A 192.168.0.254
station10 A 192.168.0.10
station20 A 192.168.0.20
station30 A 192.168.0.30
station40 A 192.168.0.40
station50 A 192.168.0.50
[root@localhost slaves]#
[root@localhost slaves]# vim example.com
$ORIGIN .
$TTL 86400 ; 1 day
0.168.192.in-addr.arpa IN SOA server1.example.com. root.example.com. ( 2010022101 ; serial
28800 ; refresh (8 hours) 14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day) )
NS server1.example.com.
$ORIGIN 0.168.192.in-addr.arpa.
10 PTR station10.example.com.
20 PTR station20.example.com.
254 PTR server1.example.com.
30 PTR station30.example.com.
40 PTR station40.example.com.
50 PTR station50.example.com.
這兩個(gè)文件里面的內(nèi)容和我們的主DNS 的內(nèi)容都是一樣的。而且還幫我們整理的非常的漂亮。這些都是系統(tǒng)自動(dòng)生成的。
現(xiàn)在我們來(lái)測(cè)試一下主DNS 和輔助DNS 可不可以正常的工作呢,
,[root@localhost ~]#
[root@localhost ~]# vim /etc/resolv.conf
search example.com
nameserver 192.168.0.254
nameserver 192.168.0.10
現(xiàn)在我們將主DNS 和輔助DNS 都設(shè)置一下。
然后在使用nslookup 工具來(lái)測(cè)試
[root@localhost ~]# nslookup
> 192.168.0.254
Server: 192.168.0.254
Address: 192.168.0.254#53
254.0.168.192.in-addr.arpa name = server1.example.com.
> station10.example.com.
Server: 192.168.0.254
Address: 192.168.0.254#53
Name: station10.example.com
Address: 192.168.0.10
>
現(xiàn)在解析沒(méi)有問(wèn)題,還是有192.168.0.254這臺(tái)主DNS 來(lái)解析的。
接下來(lái),我們將192.168.0.254這臺(tái)主DNS 給down ,看下192.168.0.10這臺(tái)輔助DNS 能否正常工作。
[root@localhost ~]# service named stop
Stopping named: [ OK ]
[root@localhost ~]#
192.168.0.254這臺(tái)主DNS 已經(jīng)被我們停止了。
在用nslookup 來(lái)測(cè)試一下,
[root@localhost ~]# nslookup
> 192.168.0.254
Server: 192.168.0.10
Address: 192.168.0.10#53
254.0.168.192.in-addr.arpa name = server1.example.com.
> station20.example.com.
Server: 192.168.0.10
Address: 192.168.0.10#53
Name: station20.example.com
Address: 192.168.0.20
>
現(xiàn)在解析照樣成功了,現(xiàn)在并不是通過(guò)192.168.0.254這臺(tái)主DNS 來(lái)解析出來(lái)的,而是通過(guò)我們的192.168.0.10這臺(tái)輔助DNS 來(lái)解析出來(lái)的。當(dāng)我們網(wǎng)絡(luò)中的主DNSdown 掉的時(shí)候,我們的輔助DNS 照樣能夠正常的工作。
,我們還可以實(shí)現(xiàn)負(fù)載均衡,可以在網(wǎng)絡(luò)中的一半客戶端的主DNS 指向
192.168.0.254,輔助DNS 指向192.168.0.10。將網(wǎng)絡(luò)中的另一半客戶端的主DNS 指向192.168.0.10,輔助DNS 指向192.168.0.254。這樣兩臺(tái)服務(wù)器都可以正常的工作,正常的為客戶端解析,當(dāng)其中的一臺(tái)DNSdown 掉后,另一臺(tái)DNS 也會(huì)繼續(xù)的工作,這樣就實(shí)現(xiàn)了簡(jiǎn)單的負(fù)載均衡。
到目前為止,我們的主DNS Server 和我們的輔助DNS Server都已經(jīng)設(shè)置成功了,并且都可以正常的工作了。
接下來(lái),我們?cè)谧鲆粋€(gè)試驗(yàn),我們?cè)谥鱀NS 添加一筆記錄,看下輔助DNS 能否學(xué)習(xí)到這筆記錄,不能夠在輔助DNS 上面添加記錄,這樣沒(méi)有意義,我們的主DNS 一樣是學(xué)習(xí)不到這筆記錄的。
下面我們開(kāi)始,
www IN A 192.168.0.254
~
我們已經(jīng)在主DNS 里面添加了一筆記錄,在主DNS 里面做了新的操作以后,一定要將主DNS 的序列號(hào)加一。否則輔助DNS 是不會(huì)來(lái)同步我們的主DNS 的。 2010022102 ; serial (d. adams)
我們已經(jīng)將主DNS 的序列號(hào)加一了,但是默認(rèn)情況下,主DNS 與輔助DNS 的同步時(shí)間是3H ,這樣我們很難看到效果,我們將它改為2M 。
2M ; refresh 然后在將重試時(shí)間改為2M
2M ; retry
這樣就代表每隔兩分鐘主DNS 和輔助DNS 進(jìn)行同步,如果同步不成功,在隔兩分鐘同步一次。接下來(lái)我們將反向解析里面的也來(lái)修改一下。
2010022102 ; Serial
120 ; Refresh 120 ; Retry 254 IN PTR www.example.com.
這樣,反向解析里面也已經(jīng)修改完成了?,F(xiàn)在將DNS 服務(wù)重啟下,
[root@localhost ~]#
[root@localhost ~]# service named restart
Stopping named: [ OK ] Starting named: [ OK ]
[root@localhost ~]#
重啟成功,等幾分鐘之后在來(lái)看下效果。
現(xiàn)在我們到輔助DNS 的正向解析數(shù)據(jù)庫(kù)文件里面看一下,
[root@localhost slaves]# cat example.com
$ORIGIN .
$TTL 86400 ; 1 day
example.com IN SOA server1.example.com. root.exmaple.com. ( 2010022102 ; serial
120 ; refresh (2 minutes) 120 ; retry (2 minutes) 604800 ; expire (1 week)
86400 ; minimum (1 day)
,)
NS server1.example.com.
$ORIGIN example.com.
server1 A 192.168.0.254
station10 A 192.168.0.10
station20 A 192.168.0.20
station30 A 192.168.0.30
station40 A 192.168.0.40
station50 A 192.168.0.50
www A 192.168.0.254
[root@localhost slaves]#
OK ,可以看到,我們剛才在主DNS 里面添加的一條新的記錄現(xiàn)在已經(jīng)被輔助DNS 同步過(guò)去了,而且輔助DNS 的序列號(hào)和刷新時(shí)間,重試時(shí)間都同步了。 下來(lái)我們?cè)诘捷o助DNS 的反向解析數(shù)據(jù)庫(kù)文件里面看一下,
[root@localhost slaves]# cat named.example
$ORIGIN .
$TTL 86400 ; 1 day
0.168.192.in-addr.arpa IN SOA server1.example.com. root.example.com. ( 2010022102 ; serial
120 ; refresh (8 hours) 120 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day) )
NS server1.example.com.
$ORIGIN 0.168.192.in-addr.arpa.
10 PTR station10.example.com.
20 PTR station20.example.com.
254 PTR server1.example.com.
30 PTR station30.example.com.
40 PTR station40.example.com.
50 PTR station50.example.com.
254 PTR www.example.com.
[root@localhost slaves]#
OK ,也可以看到,輔助DNS 也已經(jīng)同步成功了。
下面在來(lái)介紹DNS 其他資源記錄
1. CNAME 別名解析記錄
現(xiàn)在我們?cè)跀?shù)據(jù)庫(kù)文件里面配置CNAME 記錄
web IN CNAME www.example.com.
~
別名解析記錄就是將www.example.com. 這個(gè)域名添加一個(gè)別名,通過(guò)這個(gè)別名我們也可以訪問(wèn)。但是前提是www.example.com. 這個(gè)域名在DNS 要解析的到。
,現(xiàn)在我們來(lái)測(cè)試一下,CNAME 記錄有沒(méi)有生效。
先將DNS 服務(wù)重啟一下
[root@localhost ~]#
[root@localhost ~]# service named restart
Stopping named: [ OK ] Starting named: [ OK ]
[root@localhost ~]#
重啟成功,同樣的使用nslookup 工具來(lái)解析一下。
[root@localhost ~]# nslookup
> www.example.com
Server: 192.168.0.254
Address: 192.168.0.254#53
Name: www.example.com
Address: 192.168.0.254
> web.example.com
Server: 192.168.0.254
Address: 192.168.0.254#53
web.example.com canonical name = www.example.com.
Name: www.example.com
Address: 192.168.0.254
>
可以看到,CNAME 記錄解析沒(méi)有問(wèn)題,www.example.com. 有一個(gè)別名記錄是web.example.com. 。
2. 泛域名解析記錄
現(xiàn)在我們?cè)跀?shù)據(jù)庫(kù)文件里面配置泛域名解析記錄,
* IN A 192.168.0.254
~
泛域名解析就是匹配所有,但是這個(gè)解析最好要放在數(shù)據(jù)庫(kù)文件的最后面,因?yàn)樽x取數(shù)據(jù)庫(kù)文件的時(shí)候是從上往下開(kāi)始讀取的,當(dāng)上面全部都不匹配的時(shí)候,才會(huì)去讀取泛域名解析記錄。
現(xiàn)在我們就來(lái)測(cè)試一下,泛域名解析有沒(méi)有生效。
先將DNS 服務(wù)重啟一下,
[root@localhost ~]#
[root@localhost ~]# service named restart
Stopping named: [ OK ] Starting named: [ OK ]
[root@localhost ~]#
重啟成功,同樣的使用nslookup 工具來(lái)解析一下。
[root@localhost named]# nslookup
> dfdsfsdfsdf.example.com.
Server: 192.168.0.254
,Address: 192.168.0.254#53
Name: dfdsfsdfsdf.example.com
Address: 192.168.0.254
>
dfdsfsdfsdf.example.com. 這個(gè)域名都能夠被解析成功,也就是說(shuō)example.com 的所有域名都可以被解析到。
3. MX 記錄 郵件交換記錄
現(xiàn)在我們?cè)跀?shù)據(jù)庫(kù)文件中文件郵件交換記錄,
@ IN MX 10 mail.example.com.
~
當(dāng)有客戶端向example.com 這個(gè)域發(fā)郵件,那么客戶端怎么會(huì)指定將郵件發(fā)給example.com 域下面的mail.example.com. ,就是因?yàn)檫@個(gè)MX 記錄定義的。Mail.example.com 就是example.com 這個(gè)域的郵件服務(wù)器。
現(xiàn)在我們就來(lái)測(cè)試一下,MX 記錄有沒(méi)有生效。
先將DNS 服務(wù)重啟一下,
[root@localhost ~]#
[root@localhost ~]# service named restart
Stopping named: [ OK ] Starting named: [ OK ]
[root@localhost ~]#
重啟成功,使用dig 工具來(lái)查詢一下。
[root@localhost ~]#
[root@localhost ~]# dig -t MX example.com.
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> -t MX example.com.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23948
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; QUESTION SECTION:
;example.com. IN MX
;; ANSWER SECTION:
example.com. 86400 IN MX 10
mail.example.com.
;; AUTHORITY SECTION:
example.com. 86400 IN NS server1.example.com.
;; ADDITIONAL SECTION:
mail.example.com. 86400 IN A 192.168.0.254 server1.example.com. 86400 IN A 192.168.0.254
,;; Query time: 2 msec
;; SERVER: 192.168.0.254#53(192.168.0.254)
;; WHEN: Mon Feb 22 13:02:08 2010
;; MSG SIZE rcvd: 104
[root@localhost ~]#
Dig 命令顯示的很詳細(xì),MX 也查詢到了。
總結(jié):
在DNS 中的資源記錄類型有那些
(1) SOA 資源記錄
每個(gè)數(shù)據(jù)庫(kù)文件按的開(kāi)始處都包含了一個(gè)起始授權(quán)記錄(Start of Authority Rec ord ), 簡(jiǎn)稱SOA 記錄。SOA 定義了域的全局參數(shù),進(jìn)行整個(gè)域的管理設(shè)置。一個(gè)區(qū)域文件只允許存在唯一的SOA 記錄。
(2) NS 資源記錄
名稱服務(wù)器(NS )資源記錄表示該區(qū)的授權(quán)服務(wù)器,它們表示SOA 資源記錄中指定的該區(qū)的主和輔助服務(wù)器,也表示了任何授權(quán)區(qū)的服務(wù)器。每個(gè)區(qū)在區(qū)根處至少包含一個(gè)NS 記錄。
(3) A 資源記錄
地址(A )資源記錄把FQDN 映射到IP 地址,因而解析器能查詢FQDN 對(duì)應(yīng)的IP 地址。
(4) PTR 資源記錄
相對(duì)于A 資源記錄,指針(PTR )記錄把IP 地址映射到FQDN 。
(5) CNAME 資源記錄
規(guī)范名字(CNAME )資源記錄創(chuàng)建特定FQDN 的別名。用戶可以通過(guò)定義的C ANME 記錄中的別名來(lái)訪問(wèn)
(6) MX 資源記錄
郵件交換(MX )資源記錄為DNS 域名指定郵件交換服務(wù)器。郵件交換服務(wù)器是為DNS 域名處理或轉(zhuǎn)發(fā)郵件的主機(jī)。處理郵件指把郵件投遞到目的地或轉(zhuǎn)交另一不同類型的郵件傳送者。轉(zhuǎn)發(fā)郵件指把郵件發(fā)送到最終目的服務(wù)器。
(7) 泛域名解析記錄
除了在數(shù)據(jù)庫(kù)文件中定義的資源記錄以為,其他的所有域名都可以被DNS 所解析出來(lái)。