CentOS7/RHEL7搭建DNS服务器
DNS(域名系统)主要用于域名与IP地址的相互转换,将IP地址转换成对应的主机名或将主机名转换成与之相对应IP地址的一种机制。通过域名解析出IP地址的叫做正向解析,通过IP地址解析出域名的叫做反向解析。
1.安装DNS
配置网络或者本地YUM源进行安装
yum install -y bind bind-utils bind-chroot
1
2.修改配置
修改DNS主配置文件named.conf
vim /etc/named.conf
找到下面两行
listen-on port 53 { 127.0.0.1; };
allow-query { localhost; };
改成如下
listen-on port 53 { any;};
allow-query { any;};
加载解析文件
include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
1
2
3
4
5
6
7
8
9
10
3.配置解析
添加服务程序的区域配置文件
vim /etc/named.rfc1912.zones
正向解析
zone “shan.com” IN {
type master;
file “shan.com.zone”;
# allow-update { none; };
};
反向解析
zone “3.168.192.in-addr.arpa” IN {
type master;
file “shan.com.arpa”;
# allow-update { none; };
};
1
2
3
4
5
6
7
8
9
10
11
12
13
配置正向及反向解析域
复制name.localhost文件,编辑正向和反向解析文件
cd /var/named/
cp named.localhost shan.com.zone
cp named.loopback shan.com.arpa
1
2
3
4
添加正向解析域
vim shan.com.zone
修改正向解析域
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS shan.com.
@ IN A 192.168.3.177
dns IN A 192.168.3.177
www IN A 192.168.3.177
0 ;更新序列号,用于标示数据库的变换,可以在10位以内
1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天
1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时
1W ; 失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周
3H ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
检查区域文件是否正确
named-checkzone “shan.com” /var/named/shan.com.zone
检查结果如下:
zone shan.com/IN: loaded serial 0
OK
1
2
3
4
添加反向解析域
vim shan.com.arpa
修改反向解析域
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS shan.com.
177 IN PTR @
177 IN PTR dns.shan.com.
1
2
3
4
5
6
7
8
9
10
11
12
检查区域文件是否正确
named-checkzone “3.168.192.in-addr.arpa” /var/named/shan.com.arpa
检查结果如下:
zone 3.168.192.in-addr.arpa/IN: loaded serial 0
OK
1
2
3
4
直接将/var/named/目录下的所有文件都给named用户,让其能够修改。避免权限问题报错
chown named:named /var/named/*
1
4.修改本机DNS
vim /etc/resolv.conf
将原来的DNS修改成现在配置的DNS
nameserver 192.168.3.177
修改network中的dns
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
自己配的dns服务器的IP地址
DNS1=192.168.3.177
重启network和dns服务
systemctl restart network
systemctl restart named
1
2
3
4
5
6
7
8
9
10
5.测试解析
需要关闭防火墙或者开放TCP和UDP的53端口
防火墙参考文档:
https://blog.csdn.net/SERE0211/article/details/106999838
需开放53端口和dns服务
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-service=dns --permanent
firewall-cmd --reload
systemctl restart firewalld
1
2
3
4
5
6
测试正向解析和反向解析
nslookup
正向解析:
www.shan.com
Server: 192.168.3.177
Address: 192.168.3.177#53
Name: www.shan.com
Address: 192.168.3.177
反向解析:
192.168.3.177
177.3.168.192.in-addr.arpa name = dns.shan.com.
177.3.168.192.in-addr.arpa name = 3.168.192.in-addr.arpa.
1
2
3
4
5
6
7
8
9
10
11
12
6.常用命令
重启DNS
systemctl restart named
启动DNS
systemctl start named
查看DNS状态
systemctl status named
DNS解析测试
nslookup www.shan.com