DNS服务器搭建

1.DNS服务机器环境

Centos7.2 bind_node1 10.0.0.71
Centos7.2 bind_node2 10.0.0.72

2.搭建DNS服务器

[root@bind_node1 ~]# yum install bind-chroot -y
[root@bind_node1 ~]# systemctl start named-chroot
[root@bind_node1 ~]# systemctl enable named-chroot
#备份bind配置文件
[root@bind_node1 ~]# cp /etc/named.conf /etc/named.conf.bak
[root@bind_node1 ~]# yum install bind* -y 
[root@bind_node1 ~]#  rpm -ql bind 
/etc/named.conf                  #主配置文件
/etc/named.rfc1912.zones    #区域解析库文件 
/var/log/named.log              #日志文件
/var/named                         #服务根目录
#修改配置文件
[root@bind_node1 ~]# vim /etc/named.conf
options {
        listen-on port 53 { 10.0.0.71; };
        // 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;any; };
#检查配置是够正确
[root@bind_node1 ~]# named-checkconf /etc/named.conf

3. 重启服务

[root@bind_node1 ~]# systemctl restart named
[root@bind_node1 ~]# ss -lntup|grep -w 53
#测试DNS服务器
[root@bind_node1 ~]# dig zhizhangyi.com @10.0.0.71

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> zhizhangyi.com @10.0.0.71
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 57880
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zhizhangyi.com.			IN	A

;; Query time: 2 msec
;; SERVER: 10.0.0.71#53(10.0.0.71)
;; WHEN: Tue Feb 27 03:05:37 CST 2018
;; MSG SIZE  rcvd: 43

4.搭建公司内部域

[root@bind_node1 ~]# vim /etc/named.rfc1912.zones 
'''
略
'''
zone "zhizhangyi.com" IN {    #zhizhangyi.com是域名
type master;                  #表示权威DNS,即第一个
file "zhizhangyi.com.zone";   #域数据库,默认位于/var/named/下面,只需告知文件名zhizhangyi.com.zone是库文件名
};
[root@bind_node1 ~]# cd /var/named/
[root@bind_node1 named]# cp -av named.localhost zhizhangyi.com.zone
### 注意cp -a 保持原有属性
[root@bind_node1 named]# vim zhizhangyi.com.zone 
$TTL 1D
@       IN SOA  @ zhizhangyi.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
www     A       10.0.0.71
blog    A       10.0.0.71
@       A       10.0.0.71
#检查配置文件
[root@bind_node1 named]# named-checkconf
#检查区域配置是否正确
[root@bind_node1 named]# named-checkzone zhizhangyi.com /var/named/zhizhangyi.com.zone
# 载入配置
[root@bind_node1 named]# rndc reload
server reload successful

5. 验证DNS 

[root@bind_node1 named]# dig zhizhangyi.com @10.0.0.71

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> zhizhangyi.com @10.0.0.71
   global options: +cmd
▽; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22703
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zhizhangyi.com.			IN	A

;; ANSWER SECTION:
zhizhangyi.com.		86400	IN	A	10.0.0.71
zhizhangyi.com.		86400	IN	A	127.0.0.1

;; AUTHORITY SECTION:
zhizhangyi.com.		86400	IN	NS	zhizhangyi.com.

;; ADDITIONAL SECTION:
zhizhangyi.com.		86400	IN	AAAA	::1

;; Query time: 0 msec
;; SERVER: 10.0.0.71#53(10.0.0.71)
;; WHEN: Tue Feb 27 03:19:13 CST 2018
;; MSG SIZE  rcvd: 117

6. DNS转发

#转发器的配置格式
options {
forward first;
forwarders{
8.8.8.8;
1.8.8.8;
};
};
#注意:转发器本身不用做任何设置,而是对需要转发器的其他DNS server做以上配置。还有,如果该 DNS Server 无法联系到转发器,那么BIND会自己尝试解析。
#如果要禁止BIND在无法联系到转发器时不做任何操作,那么你还可以使用 forward only 命令,这样BIND只能使用区的权威数据和缓存来响应查询了( 在连接不到转发器的情况下 )。 options { forward only; forwarders{ 8.8.8.8; 1.8.8.8; };
posted @ 2018-01-16 14:29  阿进,fighting  阅读(208)  评论(0)    收藏  举报