DNS服务器搭建及常见问题解析

一、DNS服务简介

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

二、搭建前准备

本次实验需要三台Linux主机(kylinv10-gfb-x86),一台作为主DNS服务器,一台作为从属DNS服务器,还要一台作为DNS客户端。

三、环境搭建

1、配置ip地址

(1):修改/etc/sysconfig/network-scripts/ifcfg-ens33文件

修改内容如下

将主DNS服务器的IP地址设为192.168.15.11,从属DNS服务器的IP地址设为192.168.15.12,客户端的IP地址设为192.168.15.10。

2.配置主域名服务器

(1):安装bind包(系统中自带kylinv10-gfb-x86)

# yum install bind -y

(2):修改主配置文件

# vim /etc/named.conf

  1. :检测修改后的主配置文件是否正确

没有报错,说明修改后的配置文件并没有错误。

(4):新建一个正向区域配置文件demo.com.zone(注意改配置文件的名字与上面第二步指定的正向配置文件要一致)

# vim /var/named/test.com.zone

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

# cd /var/named

# named-checkzone demo.com demo.com.zone

zone demo.com/IN: loaded serial 0

OK

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

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

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

Ok表明文件并没有错误

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

# systemctl restart named

3.配置DNS客户端

(1):修改ens33配置文件(修改DNS1和DNS2的值)

DNS1的IP地址为主域名服务器的IP地址(192.168.15.11)

DNS2的IP地址为从属域名服务器的IP地址(192.168.15.12)

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

# systemctl restart network

(3):查看DNS的IP地址

# cat /etc/resolv.conf

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

[root@localhost ~]# nslookup www.test.com

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

4.配置从属DNS服务器

(1):安装bind

# yum install bind -y

(2)修改配置文件

上图是全局配置部分,53为默认端口,192.168.191.12为从属DNS域名服务器,allow-query { 0.0.0.0/0; };表明允许所有的IP查询

上图是正向区域配置部分,demo.com 为域名后缀,type slave表明这是从属服务器,file指定文件存储目录,masters{ 192.168.15.11 } 指明了主DNS服务器的IP地址。( file “slaves/test.com.zone”;)

上图是反向区域配置部分,其含义与正向区域配置部分含义相同。(15.168.192.in-addr.arpa; file “slaves/192.168.15.zone”

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

没有输出结果,说明配置文件没有错误

(4):重启DNS服务

# systemctl restart named

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

此时,已经有文件传送过来了,分别是正向区域解析的文件和反向区域解析的文件,但是文件加密无法查看。

5.验证

由于之前测试主域名服务器解析时已经配好了客户端,现在可以直接测试。

(1):正向解析(若不指定DNS域名服务器,则默认向主域名服务器发起解析)

可以看见,第二行的Server默认使用的是主域名服务器

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

这次解析使用的是从属DNS域名服务器

通过IP地址解析出来域名,说明反向解析也配置成功了。

至此,DNS域名服务器的配置就成功了!

(3):外部中转

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

所以在客户端可以解析到baidu.com

  • 案例分析

某客户应用内部dns服务器,用于访问存储。客户网络监控软件发现,该服务器有外网访问请求。

  1. 分析

在dns服务器上通过netstat命令查看是哪里发的请求,发现网络中都有大量终端有访问互联网的请求,并通过本地dns服务器请求解析,dns服务器向上请求,导致监控软件发现有访问互联网请求

  1. 解决办法

设置dns服务器只做本地转发,禁止向上解析。

转发器的配置格式是:

options {

forwarders { 192.168.232.2; };(这里我们设置dns服务器本身ip地址,只解析到本地即可)

};

测试

dns服务器配置(有向上解析)

客户端查询,可以解析到外网,可以解析到本地

服务器设置后

客户端解析发现无法解析外网,本地正常解析

3、关于转发具体解释

在DNS服务器的配置中,如果采用默认的配置,其实效率是较低的,因为默认情况下,我们所有的非权威解析都会被发送到根服务器进行迭代查询。如果采用转发,如将我们的DNS解析请求转发到一些公共DNS服务器上,由于公共DNS服务器上缓存了大量的解析,因此能较原始的迭代查询快。
说明:实现对非权威解析(已缓存的除外)都转发到特定DNS服务器
配置:
在主配置文件/etc/named.conf的全局选项中添加如下内容:

  options {

    # 指明转发器是谁

  forwarders { ip; };

    # only表示仅转发

    # first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询

  forward only|first;

  };

举例:

  options {

  ……

  forwarders { 202.96.134.133;8.8.8.8; };

  };

  1. 如果仅设置“forwarders”,则在无法联系转发器时,就会尝试自己解析,即转发到根服务器迭代查询实现解析(如果配置有根zone)。
  2. 如果想服务器在联系不到转发器时不进行多余操作,则可以加上“forward only; ”(如下:);这样如果联系不上转发器是,服务器将只查询权威解析和本地缓存的解析。

options {

……

forwarders { 202.96.134.133;8.8.8.8; };

forward only;

};

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烈日下的奔跑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值