本文介绍一下DNS服务器的搭建

用的是3台服务器:

linux主机:192.168.1.200/24作为DNS服务器

server主机:192.168.1.201/24作为需要被解析的主机

linux主机:192.168.1.202/24作为被解析的主机

用的域名是linuxtext.cn

一、安装

首先是安装dns包,在这之前先查看一下:

rpm -qa | grep bind

centos dns解析缓存 centos搭建dns解析服务器_DNS


说明我的机器里已经安装好了。

这里大家可以用yum info +软件名的方式来查看这些包都代表什么意思,例如:

yum info bind

得到以下信息:

centos dns解析缓存 centos搭建dns解析服务器_正向解析_02


安装软件包:(bind-utils……是DNS检查测试工具包,不同系统也可能是叫做bind-tools………….)

yum install bind bind-utils -y

安装完成之后,开始进行配置文件的修改。

二、配置文件

vim /etc/named.conf

修改监听端口,允许别的计算机访问。

centos dns解析缓存 centos搭建dns解析服务器_centos dns解析缓存_03


这里的三个是dns的安全设置,yes开启,no关闭,为了不影响本地解析,可以全部选择no

centos dns解析缓存 centos搭建dns解析服务器_linux_04


在最后两行include里可以看到有两个文件,分别是/etc/named.rfc1912.zones和etc/named.root.key

named.rfc1912.zones表示的是区域文件

named.root.key表示的密钥

编辑区域文件:

vim /etc/named.rfc1912.zones 
 在最后添加要定义的域: 
 zone “linuxtext.cn” IN { 
 type master; 
 file “/var/named/linuxtext.cn.zone”; 
 };

type表示类型,master是主服务器

file表示文件的存放目录,如果不指定路径,只写文件名linuxtext.cn.zone,它的默认路径就在/var/named/下,我这里出于个人习惯用绝对路径指定了/var/named/linuxtext.cn.zone,其实这个代码也可以写在/etc/named.conf中,二选一就可以了,效果是一样的,文件名随便取,我这里是个人习惯,为了看到就知道这个文件是做什么的,所以用了这个名字。

三、zone文件

指定了之后,需要创建这个文件:

vim /etc/named/linuxtext.cn.zone 
TTL3600@INSOAlinuxtext.cnadmin.linuxtext.cn.(0;serial1D;refresh1H;retry1W;expire3H);minimum@INNS192.168.1.200.wuyuINA192.168.1.201wunaiINA192.168.1.202这些代码的

意思是:

T T L 3600 @ I N S O A l i n u x t e x t . c n a d m i n . l i n u x t e x t . c n . ( 0 ; s e r i a l 1 D ; r e f r e s h 1 H ; r e t r y 1 W ; e x p i r e 3 H ) ; m i n i m u m @ I N N S 192.168.1.200. w u y u I N A 192.168.1.201 w u n a i I N A 192.168.1.202 这 些 代 码 的 意 思 是 : TTL 表示的是生存时间;

第一行的@符号表示当前的域,写成全称就是linuxtext.cn;

第二行的admin.linuxtext.cn.和第八行192.168.1.200.后面都有一个点.,是不可以省略的,一定要写上;

SOA表示其实授权记录,内容在后面括号里的;

serial表示的是序列号,每一次操作之后,在这个基础上加一;

refresh表示的是更新的时间;

retry表示重试的时间间隔;

expire表示过期的时间;

minimum表示缓存的时间。

倒数第三行中的NS指的是dns服务器;

倒数后两行的A指的A记录,即要解析的主机名和IP;

保存退出

四、检查与测试

可以用检查命令来检查一下配置文件中有什么错误:

检查主配置文件用:

named-checkconf /etc/named.conf

centos dns解析缓存 centos搭建dns解析服务器_正向解析_05


没有回显表示没有问题。

检查zone区域配置文件:

named-checkzone /var/named/linuxtext.cn.zone /var/named/linuxtext.cn.zone

centos dns解析缓存 centos搭建dns解析服务器_linux_06


显示OK字样,表示没有错误。

最后有个配置文件是要修改的,就是/etc/resolv.conf这个文件

vim /etc/resolv.conf

把nameserver指向本机

nameserver 192.168.1.200

如果有很多nameserver的话,把这个指定本机的行移到第一位

启动dns服务:

systemctl restart named

测试解析可以用dig命令或者nslookup命令,在安装了bind-utils之后,这两个命令就有了。这里用nslookup演示下:

[root@localhost named]# nslookup wuyu.linuxtext.cn 
 Server: 192.168.1.200 
 Address: 192.168.1.200#53
Name: wuyu.linuxtext.cn 
 Address: 192.168.1.201


正向解析就成功了。