RHEL6 DNS 服務器基本配置

RHEL6 DNS 服務器基本配置


1.安裝BIND套件。
BIND相關軟件包
bind BIND主程序。
bind-utils 客戶端搜索主機名的相關命令。
bind-libs BIND相關的庫文件。
bind-chroot 將BIND設定文件和程序限制在虛擬根目錄。
使用yum安裝BIND
yum install bind*
啓動named服務並設定開機啓動。
/etc/init.d/named start
chkconfig named on
現在BIND安裝完成並且已經啓動。利用nslookup測試named服務是否正常運行。如果安裝和啓動沒有問題則有類似輸出:
[root@linux ~]# nslookup www.google.com.hk localhost
Server: localhost
Address: 127.0.0.1#53

Non-authoritative answer:
www.google.com.hk canonical name = www-wide.l.google.com.
Name: www-wide.l.google.com
Address: 74.125.128.199
2.建立緩存域名服務器。
建立緩存域名服務器(Caching-only Name Server)非常簡單,在named服務啓動之後實際上就建立了一個緩存服務器。我們可以指定速度較快的轉發服務器地址,並告知BIND服務器只做緩存服務器。
默認服務器配置文件:
vi /etc/named/chroot/etc/named.conf或者vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; };
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";
allow-query { localhost; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
};

include "/etc/named.rfc1912.zones";
修改配置文件:
options {
listen-on port 53 { any; }; //允許所以客戶機訪問
listen-on-v6 port 53 { ::1; };
directory "/var/named";
forwarders {
221.5.203.98; //轉發服務器的IP地址
};
forward only; //告知BIND服務器只做緩存服務器
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";
allow-query { any; }; //允許任何主機查詢。
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "." IN {
type hint;
file "named.ca";
打開防火牆iptables的53端口。
system-config-firewall-tui
在防火牆中同時打開tcp與udp的53端口。
1.jpg



重啓named服務
[root@linux ~]# /etc/init.d/named restart
停止 named:[確定]
啓動 named:[確定]

最後將客戶端主機的DNS指向該服務器進行驗證。
3.主/從架構DNS系統的架設。
主/從架構的服務器中,至少有兩臺DNS服務器,即主DNS服務器(Master)和從DNS服務器(Slave)。
A.主DNS服務器設定
主DNS服務器的named.conf與緩存服務器的named.conf唯一不同的地方就是沒有“forward only;”參數,在配置前用“#”號將改行註釋掉。
編寫正向解析文件:
[root@linux ~]# vi /var/named/chroot/var/named/thq.com.zone
$TTL 86400
@ IN SOA thq.com. root.thq.com. (
0
3H
15M
1W
1D )

@ IN NS linux.thq.com.
linux IN A 192.168.0.1
www IN A 192.168.0.1

編寫反向解析文件:
$TTL 86400
@ IN SOA thq.com. root.thq.com. (
0
3H
15M
1W
1D )

IN NS linux.thq.com.
1 IN PTR thq.com.
在配置文件/etc/named.conf的最後一行有:
# include "/etc/named.rfc1912.zones";
經過查資料得知這個named.rfc1912.zones是正反解析記錄清單文件。這個文件裏面有很多區域的定義,但是大部分都看不懂。也可以將自己的區域定義寫入這個文件。但是在服務啓動時卻報配置文件錯誤,當我把看不懂的那些刪掉後,再也沒有報相同的錯誤,在這裏我把這行屏蔽掉,直接將區域定義直接寫入named.conf的末尾:
zone "thq.com" IN {
type master;
file "thq.com.zone";
allow-transfer {192.168.0.4;}; //從服務器地址
allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "named.192.168.0";
allow-transfer {192.168.0.4;}; //從服務器地址
allow-update { none; };
};
保存退出後啓動服務但是沒有啓動成功:
[root@linux ~]# /etc/init.d/named start
啓動 named:[失敗]
雖然沒有報配置文件寫入錯誤,但查看日誌發現:
tail –f /var/log/messages
could not configure root hints from `named.ca`: file not found
loading configureation: file not found
進過排錯發現,之前在安裝bind軟件時,安裝了bind-chroot組件,該組件會把bind設定文件和程序限制在虛擬目錄下。
named.ca文件在/var/named目錄中,而虛擬目錄/var/named/chroot/var/named中則沒有這個文件。
將named.ca拷貝到虛擬目錄中:
cp /var/named/named.ca /var/named/chroot/var/named/
再次啓動服務還是失敗,查看日誌有:
could not configure root hints from `named.ca`: permission denied
loading configureation: permission denied
原來是權限不對,嘗試過很多參數,最後發現最小爲754,也許在拷貝時加上-p參數就不會出現權限問題,但沒有再嘗試。
chmod 754 /var/named/chroot/var/named/named.ca
[root@linux ~]# /etc/init.d/named start
啓動 named:[成功]
B:從DNS服務器設定
之前我因爲上面的錯誤,在論壇發帖求助,求助:RHEL6 DNS服務無法啓動
http://bbs.chinaunix.net/forum.p ... mp;fromuid=26940091 但是卻沒有一個人回覆我,那叫一個囧啊。


區域定義:
zone "thq.com" IN {
type slave;
file "thq.com.zone";
masters { 192.168.0.1; }; //輸入主服務器IP。
allow-update { 192.168.0.1; };
};
zone "0.168.192.in-addr.arpa" IN {
type slave;
file "named.192.168.0";
masters { 192.168.0.1; }; //輸入主服務器IP。
allow-update { 192.168.0.1; }
};
測試DNS服務器:
配置完成後重啓服務器,客戶端DNS指向192.168.0.1
啓動httpd服務,通過瀏覽器輸入要解析的域名得到apache測試頁,DNS服務器搭建成功。
Untitleds.jpg


Untitled.jpg


 

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