今天给大家介绍如何搭建一个DNS服务,以下图为例,当一个小区客户端去访问www.jiabing.com时,DNS需要如何去搭建。
搭建前需要先把每台服务器的防火墙和SELINUX关闭。
关闭防火墙:iptables -F
查看SELINUX是否关闭:getenforce 没有关闭需要关闭:setenforce 0
除了客户端,别的都需要安装bind包:yum install bind
启动服务:service named start
rpm - -import RPM-GPG-KEY-... 导出公钥(新安装的系统需要执行,导出公钥后就可以安装bind包了)
一、先配置web服务器(因为每配置一个服务器都需要去测试一下,容易排错)
在/var/www/html/下创建一个index.html文件
vim index.html内容如下
顺便再把httpd服务启动起来:service httpd start
此时web服务器已经配好
二、配置主DNS服务器
配置DNS主配置文件/etc/named.conf
vim /etc/named.conf内容如下:
将53端口绑定到本地地址
linsten-on port 53 { localhost; };
允许所有人通过53端口连接本机
allow-query { any; };
只允许172.17.166.166从本机抓取数据库
allwo-transfer { 172.17.166.166;};
配置/etc/named.rfc1912.zones文件,添加一个域
vim /etc/named.rfc1912.zones内容如下:
在/var/named/下创建一个与/etc/named.rfc1912.zones文件里面配置域名字一样的文件后面加个.zone
vim /var/named/jiabing.com.zone内容如下:
前面是SOA记录,
后面需要配置两个NS记录,对应的两个DNS服务器地址,一个指向自己172.17.177.177,另一个只想从DNS服务器172.17.166.166
最后配置域名地址并设置一个别名,ip地址指向web服务器
此时主DNS已经配置完毕,需要用dig www.jiabing.com @172.17.177.177去测试一下自己。(如果测试不成功的话,需要把DNS指向自己,因为还没有配置根DNS)
三、配置从DNS服务器(当主DNS宕机的时候,从DNS可以工作)
同上需要配置主配置文件/etc/named.conf
vim /etc/named.conf内容如下:
将53端口绑定到本地地址
linsten-on port 53 { localhost; };
允许所有人通过53端口连接本机
allow-query { any; };
不允许任何人截取DNS数据库
allow-transfer { none;};
从服务器配置只需要在/etc/named.rfc1912.zones里面加个条件就行
vim /etc/named.rfc1912.zones内容如下:
指定类型
type slave
指定主DNSip地址
masters { 172.17.177.177;};
文件自动生成路径
file “slaves/jiabing.com.zone”
此时从DNS已经配置成功
rdnc reload同步一下就直接生成/var/named/slaves/jiabing.com.zone文件
同时dig www.jiabing.com @172.17.166.166测试一下看能否访问
四、配置comDNS服务器
配置DNS主配置文件/etc/named.conf
vim /etc/named.conf内容如下:
我们也可以把listen-on port 53 { 127.0.0.1; };和allow-query { localhost;};注释掉,那样就所有IP地址都监听53端口。
如果是转发的DNS服务器需要更改dnssec-enable yes和dnssec-validation yes换成dnssec-enable no 和 dnssec-validation no。
配置/etc/named.rfc1912.zones文件
添加一个com域,类同于上面配置主DNS的magedu域一样
/var/named/下需要配置一个com.zone域文件
vim /var/named/com.zone内容如下:
前面是SOA记录,类同于magedu.zone域。此时需要配置三个NS,一个dns1的IP地址指向自己172.17.254.77,一个dns2的地址指向主DNS服务 器172.17.177.177,另一个dns3的地址指向从DNS服务器172.17.166.166。
此时comDNS已经配置完毕
dig www.jiabing.com @172.17.254.77 测试一下是否能访问
五、配置根DNS服务器
配置/etc/named.conf文件
vim /etc/named.conf内容如下:
此时根文件就是自己,所以要配置一个根域,(因为根域直接就在/etc/named.conf中,所以就不用去/etc/named.rfc1912.zones里面更改了)
配置/var/named/下root.zone
vim /var/named/root.zone内容如下:
上面的SOA类同。需要有两个NS记录,一个dns1指向自己172.17.133.133,另一个指向子域com172.17.254.77。
配置/var/named/named.ca文件(因为自己当根,所以只有一个根服务器)
vim /var/named/named.ca内容如下:
并且这个文件需要给comDNS 主机DNS 从DNS 小区DNS,都需要更改/var/named/named.ca和根下的/var/named/named.ca一样。
六、配置小区DNS服务器
只需要编辑/etc/named.conf文件
配置内容同上
七、配置客户端DNS
vim /etc/resolv.conf内容如下:
将DNS指向小区DNS的IP地址
此时客户端就能通过网页访问www.jiabing.com 了,到此一个DNS大框架也就配置成功。。
在以上实验中如果哪一步测试失败,失败原因可能是一下几种
1、NXDOMAIN: 不存在的域名
查看/var/named/下文件是否写错。
2、REFUSED: 拒绝访问
查看网络是否通
3、no servers could be reached : DNS不可到达
查看服务是否开启
4、SERVFAIL:
可能是权限的问题,或者别的问题,需要检查权限
5、检查防火墙和SELINUX