本文介绍一下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
说明我的机器里已经安装好了。
这里大家可以用yum info +软件名的方式来查看这些包都代表什么意思,例如:
yum info bind
得到以下信息:
安装软件包:(bind-utils……是DNS检查测试工具包,不同系统也可能是叫做bind-tools………….)
yum install bind bind-utils -y
安装完成之后,开始进行配置文件的修改。
二、配置文件
vim /etc/named.conf
修改监听端口,允许别的计算机访问。
这里的三个是dns的安全设置,yes开启,no关闭,为了不影响本地解析,可以全部选择no
在最后两行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
没有回显表示没有问题。
检查zone区域配置文件:
named-checkzone /var/named/linuxtext.cn.zone /var/named/linuxtext.cn.zone
显示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
正向解析就成功了。
反向解析没有做,以后有可能会补上,大家可以先去参考别人的优秀博客。