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 配置正向及反向解析域
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
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
nameserver 192.168.3.177
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
DNS1=192.168.3.177
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
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.常用命令
systemctl restart named
systemctl start named
systemctl status named
nslookup www.shan.com