Linux下的dns软件主要是BIND全称为Berkeley Internet Name Domain(伯克利因特网名称域系统)。BIND主要有三个版本:BIND4、BIND8、BIND9。BIND全称为Berkeley Internet Name Domain(伯克利因特网名称域系统)。BIND主要有三个版本:BIND4、BIND8、BIND9。这里我使用bind9。

在架设dhs服务器之前要搞清楚一些dns里面的专业术语:
正向解析:
正向解析是指域名到IP地址的解析过程。
 
反向解析:
反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。
 
SOA资源记录:
每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。
 
NS资源记录:
名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。
 
A资源记录:
地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
 
PTR资源记录:
相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。
 
CNAME资源记录(别名):
规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。
 
MX资源记录(邮件):
邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。邮件交换服务器是为DNS域名处理或转发邮件的主机。处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
 
DNS服务介绍 
进程名:named 
启动脚本文件:/etc/rc.d/init.d/named 
使用端口:53(tcp,udp) 
所需RPM包:bind-9.3.3-10.el5.i386.rpm  
相关RPM包:bind-libbind-devel-9.3.3-10.el5.i386.rpm 
           bind-sdb-9.3.3-10.el5.i386.rpm
           bind-devel-9.3.3-10.el5.i386.rpm
           caching-nameserver-9.3.3-10.el5.i386.rpm
           bind-chroot-9.3.3-10.el5.i386.rpm
配置文件:/var/named/chroot/etc/named.conf 
相关路径:/var/named/
先看看CentOS有没有安装bind:

 

接着在光盘找到其余的安装程序:

Linux下架设DNS服务器(基本篇)_第1张图片

安装bind-9.3.3-10.el5.i386.rpm

 

安装bind-devel-9.3.3-10.el5.i386.rpm

安装bind-libbind-devel-9.3.3-10.el5.i386.rpm

安装bind-sdb-9.3.3-10.el5.i386.rpm

安装caching-nameserver-9.3.3-10.el5.i386.rpm

安装bind-chroot-9.3.3-10.el5.i386.rpm

注意bind-chroot-9.3.3-10.el5.i386.rpm要最后安装,因为这个rpm包依赖前面的安装包。否则会出现安装错误。安装成功后,在检查一遍:

Linux下架设DNS服务器(基本篇)_第2张图片 

接着我们要进行配置bind先进入/var/named/chroot/etc目录下,bind的配置文件默认是没有的,需要自己手写,容易写错,所以我们找到安装模板文件,然后来修改。找到named.caching-nameserver.conf文件。如果没有这个文件的话,多数是没有安装caching-nameserver-9.3.3-10.el5.i386.rpm。

 Linux下架设DNS服务器(基本篇)_第3张图片

由于bind的配置文件是named.conf。所以只要把named.caching-nameserver.conf复制一份,并命名为named.conf。

Linux下架设DNS服务器(基本篇)_第4张图片 

在进行配置named.conf之前,要确认一下你当前主机名什么,4种方法:

1在bashshell中输入hostname命令(语法hostname 主机名)

 

2编辑/etc/hosts文件

3编辑/etc/sysconfig/network文件

 

4使用sysctl命令修改(语法sysctl kernel.hostname=主机名)

我这里的主机名是:wangyi.com。在修改完主机名最好重启一下。

这些先前工作完成后,就要编辑named.conf这个文件啦。这里我用wangyi.com为域名。本机的ip是192.168.235.128。进入/var/named/chroot/etc,输入vi named.conf。
 
全局配置(options )  
options 语句在每个配置文件中只有一个。如果出现多个options, 则第一个options 的配置有效,并会产生一个警告信息。
 
listen-on port 53 { 192.168.235.128; };
监听端口,修改成自己的IP地址,如果有多个IP,就写多个,每行要以;结束。
 
Listen-on-v6 port 53 {::1;};
监听ipv6的ip地址和端口,如果没有使用ipv6的地址可以注释掉。
 
directory       "/var/named";
zone文件的存放目录,这里的/var/named 是相对目录,在chroot环境下/var/named目录下。也就是/var/named/chroot文件夹下的文件。使用chroot机制主要是为了安全。防止直接使用root用户的权限。
 
allow-query     { any; };

允许查询的client,我们修改成any(允许所有的用户访问)

Linux下架设DNS服务器(基本篇)_第5张图片 

接着配置zone区域 

zone 语句作用是定义DNS 区域,在此语句中可定义DNS 区域选项
zone区域设置,第一步,设置根区域。当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。

 

type字段指定区域的类型,一般4种: 
Master:主DNS服务器

Slave:辅助DNS服务器:拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据。
 
Forward:一个forward zone是每个域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarders是空表,那么这个域就不会有转发,消除了options语句中有关转发的配置。
 
Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。
file:设置根服务列表文件名

Named.ca文件

Linux下架设DNS服务器(基本篇)_第6张图片

总共13的根服务器的地址。从A-M。

接着配置正向区域的zone

 

我采用的域名是wangyi.com,本机又是主服务器,要用master。文件名就叫wangyi.com.zone。

反向区域的zone

 

注意:反向区域一般都是开始写ip地址(反着写,比如我要解析的ip段是192.168.235.0/24。写就要写成235.168.192)然后一定要在后面加上.in-addr.arpa表示的是反向解析。如上图

最后:wq保存退出

接着我们要配置zone区域的文件:

进入 /var/named/chroot/var/named/路径下,同named.conf文件一样找到配置模板,复制一下,并改下名字。

Linux下架设DNS服务器(基本篇)_第7张图片 

打开wangyi.com.zone文件

TTL是生存期,单位是秒 
$TTL是全局定义的 
第二行 SOA记录,@取代在/etc/named.conf中指定的域名。 
SOA段中的数字,分别为:序列号、刷新、重试、过期、生存期
 
序列号:序列号用于DNS数据库文件的版本控制。每当数据被改变,这个序列号就应该被增加。 
 
刷新:从服务器向主服务器查询最新数据的间隔周期。每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。 
 
重试:一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。 
 
过期:如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。 
 
生存期:服务器回答 ‘无此域名’ 的间隔时间。
 
数字的默认单位为秒。否则:W= 周、D= 日、H= 小时、M= 分钟。
 
IN 是internet记录
SOA 是SOA 初始化记录,我们说的是初始授权记录.
wangyi.com. 是DNS服务器的名称
root.wangyi.com. 是管理员的邮箱地址

Linux下架设DNS服务器(基本篇)_第8张图片

第一个NS记录:设置该域名的权威服务器

添加一个MX记录指向192.168.235.110
添加了一个A记录www指向192.168..235.111
接着是反向区域,跟正向区域差不多,先拷贝模板,接着编辑235.168.192.in-addr.arpa文件

打开文件,SOA区域跟wangyi.com.zone文件一样,这要把A记录改成PTR记录(反向解析的意思)即可

Linux下架设DNS服务器(基本篇)_第9张图片 

保存退出。

接着用named-checkzone命令检查配置文件有没有出错

最好用chmod命令在修改下配置文件的权限,改为644

Linux下架设DNS服务器(基本篇)_第10张图片

(上面253搞错了,应为235,呵呵)

重新启动DNS服务器

dig命令测试一下

出现问题了,先关掉防火墙。

在测试

Linux下架设DNS服务器(基本篇)_第11张图片

哈哈可以了。反向解析一下只要用dig –x+ip地址即可

Linux下架设DNS服务器(基本篇)_第12张图片

换成在别的主机测试一下

 Linux下架设DNS服务器(基本篇)_第13张图片

没问题。哈哈。基本的dns架设就这么多。