安装软件常见DNS服务器软件有BIND 、NSD、Unbound 等等,而BIND是市场占有率是最高的,后两种是轻量级的快速DNS服务器。我这里使用的是BIND ,其他的类似。在CentOS上切换到root用户(以下所有操作均在root用户),执行 yum install bind dind-devel -y 安装软件。待安装完毕进行配置配置1. 编辑配置/etc/named.conf修改如下两行(如下图所示)listen-on port 53 { 127.0.0.1; };
#将127.0.0.1修改成本机实际IP 或者 any
allow-query { localhost; };
#将localhost 改成any
修改后如下:2. 配置域名解析文件域名解析分正向区域和反向区域,正向区域是将域名解析为IP地址的过程,反向区域则是客户机根据一台计算机的IP 地址搜索它的域名。在大部分的 DNS查询中,客户机一般执行正向区域解析。正反向区域的配置,可以直接写在/etc/named.conf中(不推荐),在/etc/named.conf最下方有两句include语句,其中include “/etc/named.rfc1912.zones”;就是用来配置正反向区域配置的文件,当然也可以自定义(自定义需要在/etc/named.conf中include),如下图。这里我们使用默认的配置文件/etc/named.rfc1912.zones,执行vim /etc/named.rfc1912.zones
编辑这个文件,加入(以下笔者以域名3jhx.cc为例):zone “3jhx.cc” IN {
type master;
file “3jhx.cc.zone”;
};
这个是正向解析区域。反向区域如下,这里没有增加zone “1.168.192.in-addr.arpa.” IN {
type master;
file “1.168.192.zone”;
};
正反向解析区域文件都在/etc/named.conf的 directory 参数配置,默认是”/var/named”。编辑正向区域文件,内容如下图,其中:ns1、ns2为解析的两个DNS域名,在我们自定义域名dns服务器的时候要用到。SOA后面的两个参数分别是主DNS服务器主机名和管理者邮箱([email protected])。因为@符号有特殊含义,所以写成这样。注意末尾的点。括号内的第一个参数是序号,代表本配置文档的新旧,序号越大,表示越新。每次修改本文档后,都要将这个值改大。第二个参数是刷新频率,表示slave隔多久会跟master比对一次配置档案,单位为秒(在主从DNS架构中要用到)。第三个参数是失败重新尝试时间,单位为秒第四个参数是失效时间,单位为秒。第五个参数表示其它DNS服务器能缓存negative answers的时间,单位为秒类型NS定义指定域的DNS服务器主机名,这里是:ns1.3jhx.cc和ns2.3jhx.ccA记录是域名与IP地址的映射关系,如果IP地址是IPV6,则A记录是AAAA配置完毕后,保存。反向区域文件配置示例:图片来源于网络3. 重启named服务CentOS6.x 使用 service named restart重启named服务,使用chkconfig named on让服务开机启动。CentOS7.x 使用 systemctl restart named重启named服务,使用systemctl enable named让服务开机启动。4. 配置防火墙开放防火墙53端口,注意需要同时开放TCP和UDP的53端口,如果是ECS云服务器还需要开放安全组的TCP和UDP的53端口。CentOS7.x 是:[root@localhost~]# firewall-cmd –zone=public–add-port=53/tcp –permanent
[root@localhost~]# firewall-cmd –zone=public–add-port=53/udp –permanent
重启防火墙以让更改立刻生效:[root@localhost~]# firewall-cmd –reload
可使用以下命令检查配置是否成功:[root@localhost~]# firewall-cmd –list-all
CentOS6.X是:/sbin/iptables -I INPUT -p tcp –dport 53 -j ACCEPT
/sbin/iptables -I INPUT -p udp –dport 53 -j ACCEPT
保存规则:/etc/rc.d/init.d/iptables save
重启防火墙以让更改立刻生效:service iptables restart
验证要验证我们配置的dns是否正确,在客户机计算机上将DNS服务器地址手动修改成我们配置好的DNS服务器地址,然后使用命令nslookup命令或者dig命令测试Linux系统直接在终端输入nslookup命令,windows在cmd命令行输入nslookup命令配置域名自定义DNS服务器为了是实验真实性,这里笔者使用真实域名实验。进入到域名管理控制台,笔者使用的是万网,其他服务商类似。自定义 DNS 服务器页面创建两个 DNS 服务器ns1.3jhx.cc和ns2.3jhx.cc创建完成后需要在我们的DNS服务器解析NS和A记录,上文中我们已经解析。点击DNS修改,将域名的DNS修改成刚创建的两个DNS地址(为什么是两个, 国际域名最少填写2个,最多填写13个)修改完成后需要些时间才能生效。至此我们就可以使用我们创建的DNS服务器来解析我们的域名了。注:笔者实验中没有创建从DNS服务器,只创建了主DNS服务器,从DNS服务器的创建和主DNS差不多,实际应用中需要主从结构。
本文出自快速备案,转载时请注明出处及相应链接。