Fedora下DNS服务器(bind9)配置过程

发布时间:2020-07-02编辑:脚本学堂
Fedora下DNS服务器(bind9)配置过程

(二)、配置127.0.0的反向区域
1、修改/etc/bind/named.conf,添加如下内容
 

复制代码 代码如下:
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0.zone";
};

2、创建/var/bind/127.0.0.zone,添加如下内容
 

复制代码 代码如下:
$TTL 900
@ IN SOA @ root.localhost. (
20060214
1H
15M
1W
1D )
IN NS localhost.
1 IN PTR localhost.

3、重新启动rndc访问,并测试
# rndc reload
#host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
# dig -x 127.0.0.1

; <<>> DiG 9.2.6 <<>> -x 127.0.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- op QUERY, status: NOERROR, id: 5834
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 86400 IN PTR localhost.

;; AUTHORITY SECTION:
0.0.127.in-addr.arpa. 86400 IN NS localhost.

;; ADDITIONAL SECTION:

localhost. 86400 IN A 127.0.0.1

;; Query time: 73 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 14 15:47:31 2006
;; MSG SIZE rcvd: 93


四、配置jbxue123.com区域

(一)、配置jbxue123.com区域

1、配置/etc/bind/named.conf文件,加入如下内容
 

复制代码 代码如下:
zone "jbxue123.com" {
type master;
file " db.jbxue123.com ";
};

2、配置/var/bind/ db.jbxue123.com
 

复制代码 代码如下:
$TTL 900
@ IN SOA jbxue123.com. root (
2006021401 ;serial number
1H ;refresh
15M ;retry
1W ;expire
1D ) ;TTL
IN NS @
IN MX 10 mail
IN A 172.17.1.172
ns IN A 172.17.1.172
www IN A 172.17.1.201
mail IN A 172.17.1.1
ftp IN A 172.17.1.201
news IN CNAME www

3、重新启动rndc服务进行测试
 

复制代码 代码如下:
# rndc reload
# host -t A jbxue123.com
jbxue123.com has address 172.17.1.172
# host -t A jbxue123.com
jbxue123.com has address 172.17.1.172
# host -t NS jbxue123.com
jbxue123.com name server jbxue123.com.

(二)、增加的反向区域

1、修改/etc/bind/named.conf,添加如下内容
 

复制代码 代码如下:
zone "1.17.172.in-addr.arpa" {
type master;
file "db.172.17.1 ";
};

2、创建/var/bind/db.172.17.1,添加如下内容
 

复制代码 代码如下:
$TTL 900
@ IN SOA jbxue123.com root.jbxue123.com. (
2006022301
1H
15M
1W
1D )
IN NS jbxue123.com.
201 IN PTR www.jbxue123.com.
1 IN PTR mail.jbxue123.com.
202 IN PTR ftp.jbxue123.com.

3、重新启动rndc访问,并测试
# rndc reload
[root@localhost named]# host 172.17.1.201
201.1.17.172.in-addr.arpa domain name pointer www.jbxue123.com.
201.1.17.172.in-addr.arpa domain name pointer ftp.jbxue123.com.
[root@localhost named]# host 172.17.1.1
1.1.17.172.in-addr.arpa domain name pointer mail.jbxue123.com.
[root@localhost named]# dig -x 172.17.1.201

; <<>> DiG 9.2.6 <<>> -x 172.17.1.201
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- op QUERY, status: NOERROR, id: 25538
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;201.1.17.172.in-addr.arpa. IN PTR

;; ANSWER SECTION:
201.1.17.172.in-addr.arpa. 86400 IN PTR www.jbxue123.com.
201.1.17.172.in-addr.arpa. 86400 IN PTR ftp.jbxue123.com.

;; AUTHORITY SECTION:
1.17.172.in-addr.arpa. 86400 IN NS jbxue123.com.

;; ADDITIONAL SECTION:
jbxue123.com. 86400 IN A 172.17.1.172
;; Query time: 67 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Feb 14 18:15:20 2006
;; MSG SIZE rcvd: 119

五、建立授权子域
1、修改/var/bind/jbxue123.com.db,添加如下内容
 

复制代码 代码如下:
domain IN NS ns.domain
ns.domain IN A 172.17.1.171

重启动rndc服务
 

复制代码 代码如下:
#rndc reload

2、安装一台子域服务器,安装BIND服务器后,配置根域等(前面和主域服务器的内容基本一致),配置子域服务器上的/etc/bind/named.conf配置文件,添加一个子域,内容如下:
 

复制代码 代码如下:
zone "domain.jbxue123.com" {
type master;
file "domain.jbxue123.com.db";
};

3、编辑子域里面的/var/bind/ domain.jbxue123.com.db
 

复制代码 代码如下:
$TTL 900
@ IN SOA jbxue123.com. root (
2006021502 ;serial
36000 ;1hour
7500 ;15M
3600000 ;
86400 ) ;TTL
IN NS ns
ns IN A 172.17.1.171
www IN A 172.16.17.2

4、重启动服务,测试分别在主域的服务器和子域服务器上测试,分别在子域控制
 

复制代码 代码如下:
#rndc reload
# host www.domain.jbxue123.com
www.domain.jbxue123.com has address 172.16.17.2

六、DNS访问的安全控制
1、修改配置文件/etc/bind/named.conf,在options 中加入pid文件的目录
 

复制代码 代码如下:
options {
directory "/var/bind";
pid-file "/var/run/bind/named.pid";
};

2、建立named用户,建立bind的pid文件的目,并更改权限为named用户所有
 

复制代码 代码如下:
# useradd -s /bin/false -d /dev/null named
# id named
uid=501(named) gid=501(named) groups=501(named)
# chown named.named /var/run/bind
# chmod 700 /var/run/bind

3、重启named服务
 

复制代码 代码如下:
# killall -9 named
# named -u named
# tail /var/log/messages
# ps -axu|grep named

4、添加到系统服务中,使其跟服务器同时启动
 

复制代码 代码如下:
# which named
/usr/local/sbin/named
# echo "/usr/local/sbin/named -u named" >> /etc/ rc.local

七、DNS高级控制

1、建立访问控制列表
修改配置文件/etc/bind/named.conf,在options 前面加入acl规则,语法如下:
 

复制代码 代码如下:
acl our-nets {
10.140.0.0/16;
};

2、允许acl中的IP地址进行递归查询
修改配置文件/etc/bind/named.conf,在options{ };中加入允许查询的规则,语法如下:
 

复制代码 代码如下:
allow-recursion {
our-nets;
};


用host和nslookup进行测试

3、允许acl中的IP地址进行查询
修改配置文件/etc/bind/named.conf,在options{ };中加入允许查询的规则,语法如下:
 

复制代码 代码如下:
allow-recursion {
our-nets;
};
 

用host和nslookup进行测试

八、配置辅助域名服务器
1、配置辅助域名服务器的配置文件/etc/bind/named.conf,前面和主域名服务器是相同的,加入如下内容:
 

复制代码 代码如下:
zone "jbxue123.com" {
type slave;
file "jbxue123.com.db.slave";
masters { 172.17.1.172; };
};

2、更改/var/bind目录的权限,让named组可以写,这一点很重要,如果不可以写,辅助域的文件不能建立。
 

复制代码 代码如下:
# chgrp -R named named/
# chmod g+w /var/bind/

3、进行测试
停掉主dns服务器,查看备份dns是否能够正常工作,
可以查看/var/log/messages文件,检查备份服务器的状态。

4、允许特定的备份服务器进行dns备份工作,在/etc/bind/named.conf里面添加下面内容:
 

复制代码 代码如下:
//allow slave DNS server to back up.
allow-transfer
{
any;
};
 

any参数允许所有的机器进行备份,把any可以换成特定的IP地址。