1、 安装BIND
这个软件是提供搭建dns服务器的软件。这里就不在叙述什么是dns等等里面涉及到的概念类的东西,因为网络上有很多的资料,这样来回复制我觉得没什么意思。
配置好yum源,开始下载
Linux服务配置之BIND域名服务器_第1张图片
2、 启动named服务,并设置开机自动运行
named服务,这是BIND服务的进程名。
Linux服务配置之BIND域名服务器_第2张图片
3、 对配置文件named.conf中的配置进行简单的介绍
Linux服务配置之BIND域名服务器_第3张图片
Linux服务配置之BIND域名服务器_第4张图片
这两个图是关于全局变量的配置,在这里面做的任何配置都会影响dns服务个环境。
options{} 全局变量配置,所有的全局配置将在这个大括号中显示
listen-on 设置服务的端口号以及ip,端口号一般为udp的53号端口,ip默认为回环地址,我们配置的时候一定要将这里改为服务器主机的静态ip或改为any表示可以服务器上的任何ip。
directory 定义BIND的工作目录
Allow-query 定义可以允许dns查询的主机,一般配置为any,允许所有主机进行dns查询。
recursion yes 是否进行递归查询(dns解析中的两种查询,递归查询和迭代查询)一般设置为yes。
dnssec-enable yes 是否支持DNSSEC开关(DNSSEC技术:由IETF提供的一系列DNS安全认证的机制,该技术并不对数据进行加密。它只是验证您所访问的站点地址是否有效。设置中为了提高dns解析效率,一般设置为no
dnssec-validation yes DNSSEC确认开关,默认yes,为了效率建议关闭no。

Linux服务配置之BIND域名服务器
我们知道每一个dns服务器都会有跟服务器的地址,这里就是定义的一个根的查找区域。
Zone 定义一个区域名称,这里定义yige “.”表示根域
Type 定义区域类型。Hint表示根域,除此之外还有主域master,从域slave,我们自己创造的区域一般为master
File 指定区域配置文件,文件默认保存在/var/named/目录下。
4、我们开始配置一个dns的基本配置
(1)修改全局配置
Listen-on将监听的服务器的ip改为any;
Allow-query允许dns查询的客户端ip设为any,允许所有人可以进行dns解析;
Dndsec-enable,dnssec-validation两项改为no(特别注意,这里修改的时候,dnssec-enable改为no的时候一定要将下面的一项yegaiweino否则不能重启服务,因为第一个是是否支持DNSSEC技术,第二个是开关。当第一个设为no时不支持DNSSEC技术,下面的开关就没什么用,设为yes就会报错)
我们将全局配置好之后就可以重启服务,在客户端进行验证。
客户端验证。
首先在本地验证,修改配置文件/etc/resolv.conf,将服务ip改为自家ip,然后去ping百度,看是否能将百度解析为ip
Linux服务配置之BIND域名服务器_第5张图片
修改客户端的配置文件/etc/resolv.conf,将DNS服务器的ip指向我们自己配置的服务器ip。然后ping百度
Linux服务配置之BIND域名服务器_第6张图片
这些都没有任何问题。
4、 配置主域名服务器
首先在配置文件/etc/named.conf中创建查找区域
Linux服务配置之BIND域名服务器
查找区域的类型为master。表示主域。
区域配置文件名为example.com.zone。因为配置文件都存在/var/named/目录下,所以我们在创建配置文件的时候一定要在/var/named/下。
然后,创建区域配置文件
因为配置文件的格式非常严格,一不小心就会导致出错,重启服务不成功,所以我们利用别的配置文件做模板,配置的时候只需要改动个别地方就可,降低犯错机率。
Linux服务配置之BIND域名服务器
在修改配置文件之前,详细讲解一下文件的配置内容
Linux服务配置之BIND域名服务器_第7张图片
$TTL 1D 表示客户端解析后的域名缓存时间
下面就是各类型的DNS记录:
SOA 指明当前区域的主机服务器,同时包含与从服务器之间进行数据同步的一些参数
@表示当前区域;IN SOA 记录类型为SOA类型
A记录 用来将主机名映射为ip地址
CNAME记录 定义A记录的别名
MX记录 说明当前区域的邮件服务器
NS记录 说明当前区域由那些域名服务器解析

开始配置区域配置文件
Linux服务配置之BIND域名服务器_第8张图片
特别注意:
1、 书写域名的 时候不要忘记书写根“.”
2、 邮件地址[email protected]中的@改为“.”,因为在这个配置文件中@表示当前域
配完配置文件记得将配置文件的权限修改一下默认文件是属于root组,我们应该将其修改为named用户组
Linux服务配置之BIND域名服务器_第9张图片
配置好之后可以重启服务,客户端验证

Nslookup命令,可以查看域名能否解析为ip地址或查看ip地址是否能解析成域名
Linux服务配置之BIND域名服务器_第10张图片

也可以使用ping命令,看是否能解析出服务器的对应ip
Linux服务配置之BIND域名服务器
成功解析,配置没毛病。
注意:当你做任何配置的时候,出现不能重启的时候,一定要仔细排查你的配置,可能你的一个符号就能造成你的配置错误。还有就是如果客户端不能解析也有坑能是服务端的SeLinux,或者防火墙没有关闭的原因。