DNS服务搭建(超详细)

DNS服务搭建

【搭建要求】
搭建一个dns服务(dns解析域假设为demo.com)
功能要求如下:

  • 至少完成3条A记录对应PTR记录解析。
  • 完成MX记录和任意2个CNAME记录解析。
  • 能转发外部DNS解析,以提供给所有客户端。

一、DNS服务简介

DNS服务器,也称为域名解析服务器,是用来将互联网上的域名解析为IP地址的一类服务器,在世界上有成百上千台DNS服务器。对于有些公司来说,对于同一个域名可能有多个DNS服务器,这样可以降低主域名服务器的负载。例如www.baidu.com,可能会存在多个DNS服务器,因为在同一时刻可能有成百上千台主机同时请求www.baidu.com这个域名,如果只有一台DNS服务器,可能在某一时刻会拒绝服务。因此会建多个DNS服务器,分布于世界各地,这样也可以避免由于自然灾害而对域名服务器造成损坏。

二、实验环境

本次实验需要三台Linux主机,一台作为主DNS服务器,一台作为从属DNS服务器,还要一台作为DNS客户端。并且三个Linux主机必须处于同一网段,可以互相ping通。主DNS服务器的IP地址为192.168.191.130,从属DNS服务器的IP地址为192.168.191.131,客户机的DNS服务器的IP地址为192.168.191.132。三个必须都是静态的。

三、实验步骤

1、配置ip地址

(1):修改/etc/sysconfig/network-scripts/ifcfg-ens33文件
修改内容如下
在这里插入图片描述
按照如上方法,将主DNS服务器的IP地址设为192.168.191.130,从属DNS服务器的IP地址设为192.168.191.131,客户机的DNS服务器的IP地址设为192.168.191.132。

(2)分别重启三个主机的网络服务

# systemctl restart network

(3)测试三台主机的连通性

三台主机互相ping另外两台主机,一定要ping通,否则做下去没有意义。

2.配置主域名服务器

(1):安装bind包

# yum install bind -y

(2):修改主配置文件

# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        allow-query     { any; };
        recursion yes;				//递归
        forwarders {192.168.191.2; };		//向上级解析
};
zone "demo.com" IN {
        type master;
        file "demo.com.zone";
};
zone "191.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.191.zone";
};
include "/etc/named.rfc1912.zones";
# include "/etc/named.root.key";		//这里要注释掉

(3):检测修改后的主配置文件是否正确
在这里插入图片描述
没有报错,说明修改后的配置文件并没有错误。
(4):新建一个正向区域配置文件demo.com.zone(注意改配置文件的名字与上面第二步指定的正向配置文件要一致)

[root@localhost ~]# vim /var/named/demo.com.zone
$TTL 1D
@       IN SOA  demo.com.       root.demo.com. (
                 0      ;serial		#更新序列号
                 1D     ;refresh	#更新时间
                 1H     ;retry		#重试延时
                 1W     ;expire		#失效时间
                 3H)    ;minimum	#无效解析记录的缓存时间
@       IN      NS      ns1.demo.com.
        IN      MX 10   mail.demo.com.
ns1     IN      A       192.168.191.130
www     IN      A       192.168.191.131
www     IN      A       192.168.191.132
www     IN      A       192.168.191.133
*       IN      A       192.168.191.131
ftp     IN      A       192.168.191.134
mail    IN      A       192.168.191.135
vod     IN      CNAME   ftp.demo.com.
news    IN      CNAME   www.demo.com.

$TTL——生存时间(1D=1天) SOA表明授权信息开始记录

(5):检测修改后的正向区域配置文件是否正确

[root@localhost named]# cd /var/named
[root@localhost named]# named-checkzone demo.com demo.com.zone
zone demo.com/IN: loaded serial 0
OK

OK表明正向区域配置文件没有错误

(6):新建反向区域配置文件191.168.192.in-addr-arpa 为了方便,可以将正向区域配置文件拷贝然后进行修改

[root@localhost named]# cd /var/named
[root@localhost named]# cp demo.com.zone 192.168.191.zone
[root@localhost named]# vim 192.168.191.zone

$TTL 1D
@       IN SOA  demo.com.       root.demo.com. (
                 0      ;serial
                 1D     ;refresh
                 1H     ;retry
                 1W     ;expire
                 3H)    ;minimum
@       IN      NS      ns1.demo.com.
130     IN      PTR     ns1
131     IN      PTR     www.demo.com.
132     IN      PTR     www.demo.com.
133     IN      PTR     www.demo.com.
134     IN      PTR     ftp.demo.com.
135     IN      PTR     mail.demo.com.
134     IN      PTR     vod.demo.com.
131     IN      PTR     news.demo.com.

(7):检测修改后的反向配置文件是否正确

[root@localhost named]# named-checkzone 191.168.192.in-addr.arpa 192.168.191.zone
zone 191.168.192.in-addr.arpa/IN: loaded serial 0
OK

Ok表明文件并没有错误

(8)重启DNS服务,使刚才的配置文件生效

[root@localhost named]# systemctl restart named

(9)修改ens33配置文件(修改DNS1和DNS2的值)
修改后的文件内容如下
DNS服务搭建(超详细)_第1张图片
DNS1的IP地址为主域名服务器的IP地址(192.168.191.130)
DNS2的IP地址为从属域名服务器的IP地址(192.168.191.131)

(10):重启网络服务,使刚才的修改生效

[root@localhost named]# systemctl restart network

(11):查看DNS的IP地址

[root@localhost named]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.191.130
nameserver 192.168.191.131

可以看到此时的DNS服务器分别为192.168.191.130和192.168.191.131,说明刚才的配置已经生效。

做到这一步,先不要着急着往下做,先在客户机上查看DNS解析是否正确,如果正确,再配置从属DNS服务器,如果不成功,则检查之前的错误

3.配置DNS客户端

(1):修改ens33配置文件(修改DNS1和DNS2的值)
DNS服务搭建(超详细)_第2张图片
DNS1的IP地址为主域名服务器的IP地址(192.168.191.130)
DNS2的IP地址为从属域名服务器的IP地址(192.168.191.131)

(2):重启网络服务,使刚才的修改生效

[root@localhost named]# systemctl restart network

(3):查看DNS的IP地址

[root@localhost named]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.191.130
nameserver 192.168.191.131

(4):在客户机上查看主DNS服务器的解析是否正确

[root@localhost ~]# nslookup www.demo.com
Server:         192.168.191.130
Address:        192.168.191.130#53

Name:   www.demo.com
Address: 192.168.191.131
Name:   www.demo.com
Address: 192.168.191.132
Name:   www.demo.com
Address: 192.168.191.133

上图表明DNS服务器的解析是正确的

这里如果输入命令后,未找到命令,需要先安装工具包

[root@localhost ~]# yum install bind-utils -y

如果没有可用包,请尝试其他yum源,这里机器比较多,我直接做了一个http的yum源

接下来就可以进行从属DNS服务器的配置了

4.配置从属DNS服务器

(1):安装bind

# yum install bind -y

(2)修改配置文件

[root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1;192.168.191.131; };
        directory       "/var/named";
        allow-query     { 0.0.0.0/0; };
        recursion yes;				//递归
        forwarders {192.168.191.2; };		//向上级解析
};
zone "demo.com" IN {
        type slave;
        file "slaves/demo.com.zone";
        masters { 192.168.191.130; };
};

zone "191.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/192.168.191.zone";
        masters { 192.168.191.130; };
};

include "/etc/named.rfc1912.zones";
# include "/etc/named.root.key";

下面三张图片和上图一样,只是为了说明一些内容而已(图片中配置有问题,以上面内容为准)
DNS服务搭建(超详细)_第3张图片
上图是全局配置部分,53为默认端口,192.168.191.131为从属DNS域名服务器,allow-query { 0.0.0.0/0; };表明允许所有的IP查询
DNS服务搭建(超详细)_第4张图片
上图是正向区域配置部分,demo.com 为域名后缀,type slave表明这是从属服务器,file指定文件存储目录,masters{ 192.168.191.130 } 指明了主DNS服务器的IP地址。( file “slaves/demo.com.zone”;)
DNS服务搭建(超详细)_第5张图片
上图是反向区域配置部分,其含义与正向区域配置部分含义相同。(191.168.191192.in-addr.arpa; file “slaves/192.168.191.zone”

(3):检测配置文件是否正确

在这里插入图片描述
没有输出结果,说明配置文件没有错误
(4):查看主域名服务器同步传送过来的文件(经过实践证明不需要在住域名服务器中修改配置文件,可以自动同步传送)

在这里插入图片描述
此时,没有任何文件

(5):重启DNS服务

[root@localhost slaves]# systemctl restart named

(6)再次查看主域名服务器传送过来的数据

DNS服务搭建(超详细)_第6张图片
此时,已经有文件传送过来了,分别是正向区域解析的文件和反向区域解析的文件,但是文件加密无法查看。

5.验证

由于之前测试主域名服务器解析时已经配好了客户端,现在可以直接测试。
(1):正向解析(若不指定DNS域名服务器,则默认向主域名服务器发起解析)

DNS服务搭建(超详细)_第7张图片
可以看见,第二行的Server默认使用的是主域名服务器

(2):正向解析(指定DNS域名服务器)

DNS服务搭建(超详细)_第8张图片
可以看见这次解析使用的是从属DNS域名服务器

(3):反向解析

在这里插入图片描述

通过IP地址解析出来域名,说明反向解析也配置成功了。
至此,DNS域名服务器的配置就成功了!

(4):外部中转

这里130 是本来不会解析到baidu.com ,所以想要解析外部域名,就需要上级dns求助,这里向192.168.191.2(网关)递归。

DNS服务搭建(超详细)_第9张图片

你可能感兴趣的:(Linux运维)