系統平臺:RedHat Linux 9
軟件版本:Bind 9.26
考慮到的系統兼容性及運行速度,所以安裝採用源碼包,去ISC(BIND官方)下載最新的穩定版本(即次本號爲偶數)。
安裝步驟:(無特殊需求,所有操作都爲root權限)
一、 主DNS服務器配置 ( Master Bind)
(1)BIND 安裝
wget ftp://ftp.isc.org/isc/bind9/9.2.6/bind-9.2.6.tar.gz
tar zxvf bind-9.2.6.targz
cd bind-9.2.6
./configure --prefix /usr/local/named //指定安裝目錄爲/usr/local/named
make && make install
(2 ) 建立執行用戶(用於指定named daemon運行的用戶權限,它不需要有任何登錄shell)
groupadd named
useradd –g named –d /chroot/named –s /sbin/nologin named
(3)CHROOT環境建立
1.虛擬根目錄系統:
/chroot
+---- dev
+---- etc
+---- named
+---- var
| +---- run
+---- logs
mkdir –p /chroot/dev/
mkdir –p /chroot/etc/
mkdir –p /chroot/logs/
mkdir –p /chroot/var/run
mkdir –p /chroot/var/named/zone
2.創建虛擬設備:
mknod /chroot/dev/null c 1 3
mknod /chroot/dev/zero c 1 5
mknod /chroot/dev/random c 1 8
3.複製時鐘文件
cp –a /etc/localtime /chroot/etc/
(4)創建BIND配置文件
1. named.conf
BIND 配置文件主要是named.conf文件,默認指向/etc/named.conf文件。也可以用named –c 參數指向另一位置。此處,由於配置chroot的需要,將named.conf文件放至/chroot/etc/,在/etc/named.conf作其軟鏈接,並用named –c /etc/named.conf指向。
cd /chroot/etc/
vi named.conf
options {
directory "/var/named";
version "????";
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";
Allow-transfer {10.1.35.2;};
};
logging {
channel "bind_log" {
file "/logs/bind.log" versions 3 size 25m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel "query_log" {
file "/logs/query.log" versions 3 size 25m;
severity info;
print-time yes;
};
category lame-servers { null; };
category queries { "query_log"; };
category default{ "bind_log"; };
};
view "internal" {
match-clients { 10.0.0.0/8; 127.0.0.1; };
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "zone/127.0.0";
};
zone "test.edu.cn" {
type master;
file "zone/test.edu.cn1";
};
zone "0.0.10.in-addr.arpa" {
type master;
file "zone/10.0.0";
};
};
view "external" {
match-clients { any; };
recursion no;
zone "test.edu.cn" {
type master;
file "zone/test.edu.cn";
};
zone "1.99.202.in-addr.arpa" {
type master;
file "zone/202.99.1.0";
};
};
ln –s /chroot/etc/named.conf /etc/ //鏈接到/etc/named.conf
2. root.hints (root域名服務器A記錄列表)
#dig > /chroot/var/named/root.hints
或
#wget ftp://ftp.internic.org/domain/named.root
#mv named.root root.hints
3. 127.0.0 (本地反向解析列表)
vi /chroot/var/named/zone/127.0.0
$TTL 3D
@ IN SOA test.edu.cn. root.test.edu.cn. (
200612286 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns.test.edu.cn.
NS ns2.test.edu.cn.
1 PTR localhost.
4. 10.0.0 (內網反向解析列表)
vi /chroot/var/named/zone/10.0.0
$TTL 3D
@ IN SOA test.edu.cn. root.test.edu.cn. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns.test.edu.cn.
NS ns2.test.edu.cn.
1 PTR gw.test.edu.cn.
2 PTR test.edu.cn.
2 PTR funn.test.edu.cn.
200 PTR jsj.test.edu.cn.
201 PTR jm.test.edu.cn.
202 PTR gs.test.edu.cn.
203 PTR wy.test.edu.cn.
204 PTR sl.test.edu.cn.
205 PTR ty.test.edu.cn.
250 PTR nx.test.edu.cn.
251 PTR jy.test.edu.cn.
252 PTR zw.test.edu.cn.
253 PTR tmjz.test.edu.cn.
254 PTR jxdz.test.edu.cn.
205 PTR smkx.test.edu.cn.
250 PTR shkx.test.edu.cn.
251 PTR hx.test.edu.cn.
252 PTR spgz.test.edu.cn.
253 PTR tmjz.test.edu.cn.
254 PTR yyyl.test.edu.cn.
253 PTR dwkx.test.edu.cn.
254 PTR wlzx.test.edu.cn.
5. test.edu.cn1 (內網正向解析列表)
vi /chroot/var/named/zone/test.edu.cn1
$TTL 3D
@ IN SOA test.edu.cn. root.test.edu.cn. (
200612286 ; serial, todays date + todays serial
8H ; refresh, seconds
2H ; retry, seconds
4W ; expire, seconds
1D ) ; minimum, seconds
NS ns.test.edu.cn.
NS ns2.test.edu.cn.
MX 10 mail.test.edu.cn.
localhost A 127.0.0.1
gw A 10.0.0.1
test.edu.cn. A 10.1.1.3
ns2 A 10.0.0.192
mail A 10.0.0.33
www CNAME test.edu.cn.
jsj A 10.0.0.200
MX 10 mail.test.edu.cn ; 計算機系
jm A 10.0.0.201
MX 10 mail.test.edu.cn ; 經貿系
gs A 10.0.0.202
MX 10 mail.test.edu.cn ; 工商系
wy A 10.0.0.203
MX 10 mail.test.edu.cn ; 外語系
sl A 10.0.0.204
MX 10 mail.test.edu.cn ; 數理系
ty A 10.0.0.205
MX 10 mail.test.edu.cn ; 體育系
nx A 10.0.0.250
MX 10 mail.test.edu.cn ; 農學系
jy A 10.0.0.251
MX 10 mail.test.edu.cn ; 教育系
zw A 10.0.0.252
MX 10 mail.test.edu.cn ; 中文系
tmjz A 10.0.0.253
MX 10 mail.test.edu.cn ; 土木建築系
jxdz A 10.0.0.254
MX 10 mail.test.edu.cn ; 機械電子系
smkx A 10.0.0.253
MX 10 mail.test.edu.cn ; 生命科學系
shkx A 10.0.0.254
MX 10 mail.test.edu.cn ; 社會科學系
hx A 10.0.0.254
MX 10 mail.test.edu.cn ; 化學系
spgz A 10.0.0.254
MX 10 mail.test.edu.cn ; 食品工程系
yyyl A 10.0.0.254
MX 10 mail.test.edu.cn ; 園藝園林系
dwkx A 10.0.0.254
MX 10 mail.test.edu.cn ; 動物科學系
wlzx A 10.0.0.254
MX 10 mail.test.edu.cn ; 網絡中心
6. test.edu.cn (外網正向解析列表)
vi /chroot/var/named/zone/test.edu.cn
$TTL 3D
@ IN SOA test.edu.cn. root.test.edu.cn. (
200612286 ; serial, todays date + todays serial
8H ; refresh, seconds
2H ; retry, seconds
4W ; expire, seconds
1D ) ; minimum, seconds
NS ns.test.edu.cn.
NS ns2.test.edu.cn.
MX 10 mail.test.edu.cn.
localhost A 127.0.0.1
gw A 10.0.0.1
test.edu.cn. A 192.168.1.6
mail A 10.0.0.33
ns2 A 10.1.1.22
www CNAME test.edu.cn.
jsj A 10.0.0.200
MX 10 mail.test.edu.cn ; 計算機系
jm A 10.0.0.201
MX 10 mail.test.edu.cn ; 經貿系
gs A 10.0.0.202
MX 10 mail.test.edu.cn ; 工商系
wy A 10.0.0.203
MX 10 mail.test.edu.cn ; 外語系
sl A 10.0.0.204
MX 10 mail.test.edu.cn ; 數理系
ty A 10.0.0.205
MX 10 mail.test.edu.cn ; 體育系
nx A 10.0.0.250
MX 10 mail.test.edu.cn ; 農學系
jy A 10.0.0.251
MX 10 mail.test.edu.cn ; 教育系
zw A 10.0.0.252
MX 10 mail.test.edu.cn ; 中文系
tmjz A 10.0.0.253
MX 10 mail.test.edu.cn ; 土木建築系
jxdz A 10.0.0.254
MX 10 mail.test.edu.cn ; 機械電子系
smkx A 10.0.0.253
MX 10 mail.test.edu.cn ; 生命科學系
shkx A 10.0.0.254
MX 10 mail.test.edu.cn ; 社會科學系
hx A 10.0.0.254
MX 10 mail.test.edu.cn ; 化學系
spgz A 10.0.0.254
MX 10 mail.test.edu.cn ; 食品工程系
yyyl A 10.0.0.254
MX 10 mail.test.edu.cn ; 園藝園林系
dwkx A 10.0.0.254
MX 10 mail.test.edu.cn ; 動物科學系
wlzx A 10.0.0.254
MX 10 mail.test.edu.cn ; 網絡中心
7. 202.99.10 (外網反向解析列表)
vi /chroot/var/named/zone/202.99.10
$TTL 3D
@ IN SOA test.edu.cn. root.test.edu.cn. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS ns.test.edu.cn.
NS ns2.test.edu.cn.
1 PTR gw.test.edu.cn.
2 PTR test.edu.cn.
2 PTR funn.test.edu.cn.
200 PTR jsj.test.edu.cn.
201 PTR jm.test.edu.cn.
202 PTR gs.test.edu.cn.
203 PTR wy.test.edu.cn.
204 PTR sl.test.edu.cn.
205 PTR ty.test.edu.cn.
250 PTR nx.test.edu.cn.
251 PTR jy.test.edu.cn.
(5)啓動named測試
# named -u named -gc /chroot/etc/named.conf
注:
1>此處如果named出錯,都會有提示,因爲-g參數將stderr重定向到了terminal.
2>一般問題是對named.conf中指定的/chroot/var/run/目錄的訪問被禁止,根據第(7)節的權限設置一下即可。
3> 如果在開始就沒有配置chroot,則此處不能使用-u參數,因爲named.conf指定的是相對於chroot的/var/run/目錄,它的權限是我們對bind jail設定的,與系統無關。但沒有chroot的named.conf指定的named用戶對系統的/var/run是沒有權限的,我們也不能奢望去改變系統的/var/run/目錄權限,那可能會引起安全問題。解決方法是指定一個我們可以權限控制而不會影響系統正常運行的目錄。
開啓另一個shell:
# dig @127.0.0.1 test.edu.cn
; <<>> DiG 9.3.3rc2 <<>> @127.0.0.1 test.edu.cn
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61964
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;test.edu.cn. IN A
;; ANSWER SECTION:
test.edu.cn. 259200 IN A 10.1.1.3
;; AUTHORITY SECTION:
test.edu.cn. 259200 IN NS ns2.test.edu.cn.
test.edu.cn. 259200 IN NS ns.test.edu.cn.
;; ADDITIONAL SECTION:
ns2.test.edu.cn. 259200 IN A 10.0.0.192
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 27 20:59:18 2007
;; MSG SIZE rcvd: 112
(6)配置RNDC管理
1.建立rndc配置文件
BIND默認指向/etc/rndc.conf,由於chroot技術需要,建立在/chroot/etc/rndc.conf,再建立軟鏈接至/etc/下。
/usr/local/named/sbin/rndc-confgen > /chroot/etc/rndc.conf
vi rndc.conf
將 # key "rndc-key" {
# algorithm hmac-md5;
# secret "y9xvvfQjdWv9f/Fo7wquBg==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
段去掉#號,加至named.conf中。
named.conf文件:
options {
directory "/var/named";
version "????";
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";
};
logging {
channel "bind_log" {
file "/logs/bind.log" versions 3 size 25m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel "query_log" {
file "/logs/query.log" versions 3 size 25m;
severity info;
print-time yes;
};
category lame-servers { null; };
category queries { "query_log"; };
category default{ "bind_log"; };
};
key "rndc-key" {
algorithm hmac-md5;
secret "ZE+kG903uisrvr+xdFFAmg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
view "internal" {
match-clients { 10.0.0.0/8; 127.0.0.1; 192.168.1.0/24; };
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "zone/127.0.0";
notify no;
};
zone "test.edu.cn" {
type master;
file "zone/test.edu.cn1";
notify no;
};
zone "0.0.10.in-addr.arpa" {
type master;
file "zone/10.0.0";
notify no;
};
};
view "external" {
match-clients { any; };
recursion no;
zone "test.edu.cn" {
type master;
file "zone/test.edu.cn";
notify no;
};
zone "1.99.202.in-addr.arpa" {
type master;
file "zone/202.99.1.0";
notify no;
};
};
#ln –s /chroot/etc/rndc.conf /etc/ //爲rndc.conf文件創建在/etc/下的軟鏈接
重啓named daemon,加載新的配置文件:
#named -gc /chroot/etc/named.conf
測試rndc操作:
#rndc status
rndc status
number of zones: 5
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is ON
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
#rndc reload
server reload successful
(7)設定訪問權限
cd /chroot/
chown –R root.named etc
chmod –R 750 etc
chown root.root var
chmod 711 var
chown root.named var/run
chmod 775 var/run
chown root.named logs
chmod 775 logs
(8) 配置開機啓動腳本
vi /etc/rc.d/init.d/named
#!/bin/sh
# named BIND
#
# chkconfig: 345 40 50
#
# description:named is the software bind's deamon.
#
case "$1" in
start)
/usr/local/named/sbin/named -u named -c /etc/named.conf -t /chroot/
echo -n "Bind started"
echo .
;;
stop)
/usr/local/named/sbin/rndc stop
echo -n "Bind stoped"
echo .
;;
reload)
/usr/local/named/sbin/rndc reload
echo -n "Bind reloaded"
echo .
;;
status)
/usr/local/named/sbin/rndc status
echo .
;;
*)
echo "/etc/rc.d/init.d/named {start|stop|reload|status}"
echo .
exit 1
esac
exit 0
chmod 755 /etc/rc.d/init.d/named
chkconfig –add named
二、輔助DNS服務器配置(Slave Bind)
安裝過程與主DNS服務器配置大致相同,只需修改named.conf文件爲:
options {
directory "/var/named";
version "????";
pid-file "/var/run/named.pid";
statistics-file "/var/run/named.stats";
dump-file "/var/run/named.db";
};
logging {
channel "bind_log" {
file "/logs/bind.log" versions 3 size 25m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
channel "query_log" {
file "/logs/query.log" versions 3 size 25m;
severity info;
print-time yes;
};
category lame-servers { null; };
category queries { "query_log"; };
category default{ "bind_log"; };
};
view "internal" {
match-clients { 10.0.0.0/8; 127.0.0.1; 192.168.1.0/24; };
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "zone/127.0.0";
};
zone "test.edu.cn" {
type slave;
masters { 192.168.100.23; };
file "zone/test.edu.cn1";
};
};
view "external" {
match-clients { any; };
recursion no;
zone "test.edu.cn" {
type slave;
masters { 192.168.100.23; };
file "zone/test.edu.cn";
};
zone "1.99.202.in-addr.arpa" {
type slave;
masters { 192.168.100.23; };
file "zone/202.99.1.0";
};
};
架設CHROOT環境下的安全DNS
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.