Linux系统之DNS服务器配置

我们实现简单的dns服务器配置,实现域名解析。

一、安装bind软件

安装命令:yum install bind
查看安装:rpm –qa | grep bind

相关介绍:
bind的启动脚本位于/etc/rc.d/init.d/named

主要的文件路径:
Linux系统之DNS服务器配置

二、设置DNS服务器

配置网关文件:cd /etc/sysconfig/network-scripts
编辑其中的ifcfg-ensxx(xx为数字): vim ifcfg-ensxx
在末尾添加DNS1=(你的ip地址)
Linux系统之DNS服务器配置
通过命令查看dns地址: cat /etc/resolv.conf

下面我们进行正式的域名解析操作:

三、域名解析

Linux系统之DNS服务器配置
dns有正向解析和反向解析;
正向解析:域名-》ip;
反向解析: ip-》域名;

(1)客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
(2)本地的域名服务器收到请求后,先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回给客户机。
(3)如果本地的缓存中没有该记录,则本地域名服务器把请求发给根域名服务器,根域名服务器返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。
(4)本地服务器向上一步返回的域名服务器发送请求,接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级域名服务器的地址。
(5)重复第四步,直到找到正确的纪录。
(6)本地域名服务器将结果返回给客户机;同时把返回的结果保存到缓存,以备下次使用。

先举个例子理解如何解析:www.baidu.com.
系统会从后往前解析,首先是‘.’,就是根域,根域下记录13个著名的顶级域(如图所示),所以会找到com
,再通过com域找节点,域下有区,区的文件有记录对应的ip。下面我们开始配置:

首先允许任何主机监听与请求,也可选择相应的主机,这里从简。vim /etc/named.conf
Linux系统之DNS服务器配置

①在zone里添加相应的域:vim /etc/named.rfc1912.zones
Linux系统之DNS服务器配置

test.net:为设置的域;
file “name.test.net”:是区内文件的名字,后面我们会创建;

②在 /var/named/ 下创建我们上面所说的配置文件:
我们可以将原有的named.empty文件复制:
命令:cp -p named.empty named.test.net
命令:cp -p named.empty named.192.168.1

③编辑创建的两个文件的信息,用于映射查询:
正向解析:
Linux系统之DNS服务器配置
反向解析:
Linux系统之DNS服务器配置
解释:
NS: nameserver域名;
A: Address;
PTR : 后面为反向解析的域名;

四、结果测试

临时关闭防火墙 : systemctl stop firewalld
临时关闭SELinux : setenforce 0
named启动: systemctl start named
named状态: systemctl status named
named重启: systemctl restart named
named停止: systemctl stop named

出现重启失败debug:
检查named.conf文件语法:named-checkconf named.conf
检查区域配置文件语法:named-checkzone zone [filename]
比如: named-checkzone test.net /var/named/named.test.net

测试结果: 命令nslookup
Linux系统之DNS服务器配置

Windows客户机上测试:(win+r+输入cmd)
输入nslookup:
server + linux的dns服务器ip
Linux系统之DNS服务器配置

接下来就是同上面输入域名或ip解析就行。

end~~~~~~~~

这次的linux之dns服务器及域名解析就到这,有任何疑问与建议欢迎评论区一起讨论,一起学习进步。