RHEL5自帶BIND9的安裝配置

RHEL5自帶BIND9的安裝配置 這是我發在blogbus(http://zabc.blogbus.com)上的一篇文章,blogbus不給力,時不時就要維護一下,網絡訪問速度還奇慢,很是擔心發在這個博客的文章哪一天就沒了,趁着現在有精力,慢慢給博客搬個家。

原文的路徑:http://zabc.blogbus.com/logs/62117854.html

RHEL5自帶BIND9的安裝配置
需要安裝的包
system-config-bind-4.0.3-2.el5
bind-9.3.4-6.P1.el5
bind-libs-9.3.4-6.P1.el5
bind-utils-9.3.4-6.P1.el5
bind-chroot-9.3.4-6.P1.el5
caching-nameserver-9.3.4-6.P1.el5
[root@vmrhel5 etc]# more /etc/sysconfig/named
ROOTDIR=/var/named/chroot ##顯示chroot目錄是/var/named/chroot
chroot下原有文件爲
[root@vmrhel5 etc]# cd /var/named/chroot/etc
[root@vmrhel5 etc]# pwd
/var/named/chroot/etc
[root@vmrhel5 etc]# ll
total 32
-rw-r--r-- 1 root root   405 Jan 18  2009 localtime
-rw-r----- 1 root named 1100 Feb 29  2008 named.caching-nameserver.conf
-rw-r----- 1 root named  955 Feb 29  2008 named.rfc1912.zones
-rw-r----- 1 root named  113 Apr 11 18:37 rndc.key
複製模板文件得到named.conf,文件屬主爲root.named
[root@vmrhel5 etc]# cp -a named.caching-nameserver.conf named.conf
[root@vmrhel5 etc]# ll
total 40
-rw-r--r-- 1 root root   405 Jan 18  2009 localtime
-rw-r----- 1 root named 1100 Feb 29  2008 named.caching-nameserver.conf
-rw-r----- 1 root named 1100 Feb 29  2008 named.conf
-rw-r----- 1 root named  955 Feb 29  2008 named.rfc1912.zones
-rw-r----- 1 root named  113 Apr 11 18:37 rndc.key
##cp -a
-a, --archive                    same as -dpR
-d                                   same as --no-dereference --preserve=link
-p                                   same as --preserve=mode,ownership,timestamps
--preserve[=ATTR_LIST]   preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: links, all 
-R, -r, --recursive            copy directories recursively
##
編輯named.conf文件
[root@vmrhel5 etc]# vi named.conf
options {
        listen-on port 53 { 127.0.0.1;any; };
//      listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        query-source    port 53;
//        query-source-v6 port 53;
        forwarders      { 192.168.1.1; };
        allow-transfer  { 192.168.1.2;192.168.1.11; };
        allow-query     { 192.168.0.0/24;192.168.1.0/24; };
};

include "/etc/rndc.key" ;
view "internal" {
        match-clients      { 192.168.1.0/24; };
        match-destinations { any; };
        recursion yes;
        include "/etc/internal.zones";
        include "/etc/intranet.zones";
};

//view "external" {
//        match-clients      { !192.168.1.0/24; };
//       match-destinations { !localhost; };
//       recursion no;
//        include "/etc/external.zones";
//};
1:偵聽本機所有IP的DNS請求,但只響應192.168.0.0/24及192.168.1.0/24二個網段的客戶端。
2:當客戶的IP屬於192.168.1.0/24網段時,啓用/etc/internal.zones這個主配置文件; 當客戶的IP不屬於192.168.1.0/24網段時,啓用/etc/external.zones這個主配置文件

[root@vmrhel5 ~]# rndc-confgen -b 512 -k rndckey  > /var/named/chroot/etc/rndc.conf
[root@vmrhel5 etc]# more rndc.conf
# Start of rndc.conf
key "rndckey" {
        algorithm hmac-md5;
        secret "2LCjhE/whqwgqI0OBYab40nS5rN3Tr5n8uRDNJgD+rDDutpnCd57NI8k9YcU+5NmGyS4spfNmVMHpeTTKbMBdA==";
};

options {
        default-key "rndckey";
        default-server 127.0.0.1;
        default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndckey" {
#       algorithm hmac-md5;
#       secret "2LCjhE/whqwgqI0OBYab40nS5rN3Tr5n8uRDNJgD+rDDutpnCd57NI8k9YcU+5NmGyS4spfNmVMHpeTTKbMBdA==";
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { "rndckey"; };
# };
# End of named.conf

[root@vmrhel5 etc]# head -n 5 rndc.conf|grep -v "# Start of rndc.conf" >rndc.key
[root@vmrhel5 etc]# vi rndc.key
key "rndckey" {
        algorithm hmac-md5;
        secret "2LCjhE/whqwgqI0OBYab40nS5rN3Tr5n8uRDNJgD+rDDutpnCd57NI8k9YcU+5NmGyS4spfNmVMHpeTTKbMBdA==";
};

創建主配置文件
在etc目錄下有一個主配置的例子文件,將其複製一份改名爲internal.zones。
如下圖複製時一定要加-a,因爲如果主配置文件的擁有組不是named時,BIND服務是無法運行的。
[root@vmrhel5 etc]# cp -a named.rfc1912.zones internal.zones
##internal.zones內容無需修改
[root@vmrhel5 etc]# more intranet.zones
zone "xyz.com" IN {
        type master;
        file "data/xyz.com.zone";
        allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "data/192.168.1.zone";
        allow-update { none; };
};
zone "abc.com" IN {
        type slave;
        masters { 192.168.1.11; };
        file "slaves/abc.com.zone";
        allow-update { none; };
};

[root@vmrhel5 etc]# chown root.named intranet.zones rndc.conf rndc.key
[root@vmrhel5 etc]# ll
total 64
-rw-r----- 1 root named  955 Feb 29  2008 internal.zones
-rw-r----- 1 root named  348 Apr 13 14:47 intranet.zones
-rw-r--r-- 1 root root   405 Jan 18  2009 localtime
-rw-r----- 1 root named 1100 Feb 29  2008 named.caching-nameserver.conf
-rw-r----- 1 root named 1631 Apr 13 16:04 named.conf
-rw-r----- 1 root named  955 Feb 29  2008 named.rfc1912.zones
-rw-r--r-- 1 root named  603 Apr 13 14:29 rndc.conf
-rw-r--r-- 1 root named  154 Apr 13 14:34 rndc.key

創建區域文件      
[root@vmrhel5 named]# pwd
/var/named/chroot/var/named
[root@vmrhel5 named]# ll
total 72
drwxrwx--- 2 root  named 4096 Apr 13 14:46 data
-rw-r----- 1 root  named  198 Feb 29  2008 localdomain.zone
-rw-r----- 1 root  named  195 Feb 29  2008 localhost.zone
-rw-r----- 1 root  named  427 Feb 29  2008 named.broadcast
-rw-r----- 1 root  named 1892 Feb 29  2008 named.ca
-rw-r----- 1 root  named  424 Feb 29  2008 named.ip6.local
-rw-r----- 1 root  named  426 Feb 29  2008 named.local
-rw-r----- 1 root  named  427 Feb 29  2008 named.zero
drwxrwx--- 2 named named 4096 Apr 13 15:01 slaves
[root@vmrhel5 named]# cd data
[root@vmrhel5 data]# ls
192.168.1.zone  named_mem_stats.txt  named.run  xyz.com.zone
[root@vmrhel5 data]# more xyz.com.zone
$TTL    86400
@       IN      SOA     xyz.com.      root  (
                                      2010041200 ; Serial
                                      1H         ; Refresh
                                      15M        ; Retry
                                      1W         ; Expire
                                      1D )       ; Minimum
        IN      NS              @
        IN      A               192.168.1.4
        IN      MX      10      mail
www     IN      A               192.168.1.4
mail    IN      A               192.168.1.4
news    IN      CNAME           www
[root@vmrhel5 data]# more 192.168.1.zone
$TTL    86400
@       IN      SOA     xyz.com.      root.xyz.com.  (
                                      2010041200 ; Serial
                                      1H         ; Refresh
                                      15M        ; Retry
                                      1W         ; Expire
                                      1D )       ; Minimum
        IN      NS      xyz.com.
4       IN      PTR     www.xyz.com.

1:選項配置如下:
◆ listen-on port 53 { 127.0.0.1; };這個是DNS偵聽本機的端口及IP。這裏設置表示只偵聽127.0.0.1這個地址。如不定義此選項表示偵聽所有網絡
◆ directory “/var/named”指主配置文件路徑,這個路徑也是相對路徑,它的絕對路徑/var/named/chroot/var/named
◆ query-source port 53;客戶端在進行DNS查詢時必須使用53做爲源端口
◆ allow-query { localhost; };允許提交查詢的客戶端,如不定義此選項表示允許所有查詢
◆ allow-recursion {192.168.0.0/24;192.168.0.1/24}:允許提交遞歸查詢的客戶端,如不定義此選項表示允許所有
◆ allow-transfer {192.168.0.254;}:允許區域傳輸的DNS服務器(輔助DNS),不寫表示允許所有
◆ forwarders {192.168.0.9;}:轉發器
◆ forward only|first:only表示如果在指定的轉發器找不到,不會去向根查詢,first表示快速轉發(默認)
2:定義主配置文件,此部分可有多個,只要求localhost_resolver這個名字不重複
◆ match-clients { localhost; };客戶端的源IP
◆ match-destinations { localhost; };解析出的目標IP
◆ recursion yes;如果客戶端提交的FQDN本服務器沒有,那麼服務器會幫助客戶端去查詢
◆ include “/etc/named.rfc1912.zones”; 指定主配置文件
上面參數中所有指定地址範圍(如:listen-on、match-clients等)時都可以多個寫法如下:
◆ 單個IP:192.168.0.1;
◆ 網段:192.168.0.0/24;
◆ 指定多個IP:192.168.0.1;192.168.0.2;
◆ 網段:192.168.0.;
還可以使用!表示不包括
◆ none:不匹配所有
◆ any:匹配所有
◆ localhost:DNS主機
◆ localnet:與DNS主機同網段
zone:指定區域名稱;type:指定類型
Master
主DNS服務器:擁有區域數據文件,並對此區域提供管理數據
Slave
輔助區域:擁有主DNS服務器區域數據文件的副本,輔助DNS服務器從主DNS服務器同步所有區域數據
Stub
stub區域和slave類似,但它只複製主DNS服務器上的NS記錄,而不像輔助DNS服務器會複製所有區域數據
Forward
一個forward zone是每個域的配置轉發的主要部分。一個zone語句中的type forward可以包括一個forward和或forwarders子句,它會在區域名稱給定的域中查詢。如果沒有forwarders語句或forwarders是空表,那麼這個域就不會轉發,消除了options語句中有關轉發的配置
Hint
根域名服務器的初始化組指定使用的線索區域hint zone,當服務器啓動時,它使用根線索來查找根域名服務器,並找到最近的根域名服務器列表。如果沒有指定class IN的線索區域,服務器使用編譯時默認的根服務器線索。不是IN的類別沒有內置的默認線索服務器
file:指定區域配置文件,該文件中將定義資源記錄allow-update:指定動態更新類型,none表示不允許動態更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章