centos7下利用bind实现主DNS服务

一、相关包与环境
DNS(Domain Name Service)网域名称服务,是将域名和IP地址相互映射的一个分布式数据库,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
其相关软件包有如下三个:

bind-libs.x86_64 #提供库文件
bind-utils.x86_64 #提供工具包
bind.x86_64 #提供主程序包
bind-chroot #安全套件,本篇不涉及
实验环境:

192.168.147.129 DNS服务器
192.168.147.131 DNS测试服务器
192.168.147.128 DNS测试服务器
二、安装bind包
服务脚本和名称:/etc/rc.d/init.d/named /usr/lib/systemd/system/named.service
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
自定义的域信息可以写在/etc/named.conf,也可以写在/etc/named.rfc1912.zones(一般写在这里)
解析库文件:/var/named/ZONE_NAME.ZONE
/var/named这个目录专门用于存放解析库文件,在主配置文件中有定义。

 yum install bind  -y
 [root@centos7 ~]# rpm -ql bind
/etc/logrotate.d/named
/etc/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/rwtab.d/named
/etc/sysconfig/named
/run/named
/usr/lib/systemd/system/named-setup-rndc.service
[root@centos7 named]# systemctl start named


三、配置DNS服务
这里以配置www.jiangege.com域为例。
首先修改主配置文件/etc/named.conf,默认情况下是已经启用了本地缓存功能。不过为了加快查询速度和解决一些报错,通常情况下我们还需要一些调整。编辑前建议先备份
cp -a /etc/named.conf{,.bak}

[root@centos7 ~]# vim /etc/named.conf
options {
	listen-on port 53 { localhost; }; //这里默认是监听在本机的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;any; };  //默认只允许在本机查询,所以这里得加一个any表示允许所有主机查询
	recursion yes;    //递归查询,默认开启
	dnssec-enable no;   //禁用dnssec,下面那项也改为no
	dnssec-validation no;
	bindkeys-file "/etc/named.iscdlv.key";
	managed-keys-directory "/var/named/dynamic";
	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
};

编辑 vim /etc/named.rfc1912.zones文件

[root@centos7 ~]# vim /etc/named.rfc1912.zones
zone "jiangege.com" IN {
        type master;
        file "jiangege.com.zone";
};

在/var/named中创建jiangege.com.zone文件,由于有格式要求,我们这里可以以 /var/named/named.localhost为模板复制一份然后再修改。

cp -a named.localhost jiangege.com.zone  //-a保留权限,因为named.localhost这个文件要以named身份读取

[root@centos7 named]# vim jiangege.com.zone
$TTL 1D
jiangege.com.	IN SOA	ns.jiangege.com. nsadmin.jiangege.com. (
					1	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
@      NS      ns.jiangege.com.
www    CNAME   ns
ns     A       192.168.147.129


完成之后重新加载或重启一下服务即可。

[root@centos7 named]# rndc reload

四、测试
在192.168.147.131和192.168.147.128上分别测试,使用host命令或dig命令测试

[root@centos6 ~]# host www.jiangege.com  192.168.147.129
Using domain server:
Name: 192.168.147.129
Address: 192.168.147.129#53
Aliases: 

www.jiangege.com is an alias for ns.jiangege.com.
ns.jiangege.com has address 192.168.147.129
[root@centos7 ~]# dig www.jiangege.com @192.168.147.129

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.jiangege.com @192.168.147.129
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18948
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.jiangege.com.		86400	IN	CNAME	ns.jiangege.com.
ns.jiangege.com.		86400	IN	A	192.168.147.129

;; AUTHORITY SECTION:
jiangege.com.		86400	IN	NS	ns.jiangege.com.

;; Query time: 1 msec
;; SERVER: 192.168.147.129#53(192.168.147.129)
;; WHEN: Wed Jun 26 02:47:42 EDT 2019
;; MSG SIZE  rcvd: 90


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值