DNS(Domain Name Server
域名服务器
)
配置是最基本也是最重要的配置,如果仅仅是配置相信一个根本不知道什么是
DNS
的人也能很容易的搞定, 但是理解其中的原理以及每个具体细节的意义的人想必不多, 本文将对其配置做详细解析。
DNS
服务器所起的作用可以说是一个
“
翻译管
”
,
DNS
服务器所提供的服务是将主机名和域名转换为
IP
地址的工作。 当你在浏览网页时很少使用难以记忆的点分十进制
IP
地址, 取而代之的是便于识记的主机名和域名, 而在网络中计算机通信是通过每台计算机在网络中独占的
IP
地址,
DNS
便是这样一个具有地址解析功能的
“
翻译管
”
。
DNS
服务
工作过程
1.
所需软件包。
b
ind
bind
主程序软件包。
bind-utils
bind
软
件提供的一
组
DNS
工具包
,
里面有一些
DNS
相
关
的工具
.
主要有
:dig,host,nslookup,nsupdate.
使用
这
些工具可以
进
行域名解析和
DNS
调试
工
作
。
bind-chroot
来增
强
bind
的安全
。
bind-libs bind
数据库文件。
bind-devel C
ontains all the header files and libraries required for development with ISC BIND 9 and BIND 8
caching-nameserver
I
ncludes the configuration files which will make bind, the DNS name server, act as a simple caching nameserver
2.
相关配置文件。
/etc/named.conf DNS
主配置文件。
/var/named/*
DNS
域解析文件。
/etc/resolv.conf
为
DNS
客户端指定
DNS
服务器配置文件。
/etc/hosts
静态解析配置文件,
实现与网上其他主要计算机的映射
。
/etc/host.conf
配置DNS解析顺序。
3.
配置过程
1.
安装所需软件包。
#yum install bind*
#yum install caching-nameserver
2.
修改主配置文件
/etc/named.conf
。
cat /etc/named.conf
// named.conf
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
// See /usr/share/doc/bind*/sample/ for example named configuration files.
options {
//
定义一些影响整个
DNS
服务器的环境
。
directory "/var/named";
//named
区文件目录。
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
//
zone
关键字来定义域区
.
type hint;
/*
在这里
type
类型有三种,它们分别是
master,slave
和
hint
它们的含义分别是:
master:
表示定义的是主域名服务器
slave :
表示定义的是辅助域名服务器
hint:
表示是
互联网
中根域名服务器
.
*/
file "named.ca";
//
指定具体存放
DNS
记录的文件
.
/var/named/
named.ca
};
//
指定
named
从
named.ca
文件中获得
Internet
的顶层
“
根
”
服务器地址
添加正向解析字段
zone "seker.com" IN {//
建立
一个
域名为
seker.com
的正向解析区域。
type master;
file "seker.zone";
allow-update { none; };
};
添加反向解析字段
zone "1.168.192.in-addr.arpa" IN {//
建立
一个IP为
192.168.1.0
反向解析区域。
type master;
file "seker.local";
allow-update { none; };
};
在/etc/named.conf配置文件中以//或/*…*/做注释。
3.
编辑域的配置文件
编辑正向解析配置文件。
#vi /var/named/seker.zone
$TTL 86400
@ IN SOA dns.seker.com. root.seker.com. (
//
SOA
表示授权开始
.
2009110202 ; serial
28800 ; refresh
7200 ; retry
604800 ;expire
86400)
@ IN NS dns.seker.com.
IN MX 5 mail.seker.com.
www IN A 192.168.1.4
mail IN A 192.168.1.4
dns IN A 192.168.1.4
linux
IN
CNAME
www
TTL
值
生存时间记录字段,以秒为单位
。
名字服务器在查询响应中提供这个
TTL
值,允许其他服务器将数据在缓存中存放
TTL
所指定的时间。如果你的数据不是经常变动或变动不大,可以考虑将
TTL
值默认设置为
1
天。
1
周大概是这个值的最大限度
。
象
1
个小时这样短的值也可以使用,但是我们通常不会建议使用短值。
@
代表相应的域名
,
这里代表seker.com.
IN
表示后面的数据使用的是
INTERNET
标准
,与
A
,
PTR
或
CNAME
记录一起使用时可将域名映射为
IP
地址,反之一样
。
SOA
(
Start Of Authority
)
记录
指明其后的域名定义了主域名服务器及该域的联系点的电子邮件地址
。
对该区数据而言,这个名字服务器就是最好的信息来源。根据这个
SOA
记录,我们的名字服务器就享有对区
seker.com
的权威。每个数据文件都要有
SOA
记录,每个区数据文件中允许有一个也只允许有一个
SOA
记录。
SOA
后面每一个名字是
seker.com
区的主名字服务器的名字。
dns.
seker.com.
必须有一个点来结尾。这是因为
DNS
中有一个简写的惯例,不在
dns.
seker.com
后面加点的话,它就会变成
dns.
seker.com.seker.com
。
第二个名字
"root.seker.com."
就是管理
员邮箱
。因为
@
在
DNS
记录中是个保留字符
(
代表相应的域名
),
所以在
SOA
中就用
“.”
来代替
@
。目前这个信箱是
"
[email protected].
"
。 接下来的
SOA
设置,是被括在
“
()
”
之间的
5
组数字,主要作为和
slave
服务器同步
DNS
资料所使用的资料
;
Serial
:
表示配置文件的修改版本
,
其格式通常会是
“
年月日
+
当日修改次数
”
。当
slave
要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值大,就进行更新,否则忽略
,
每次更改dns设置之后记得同时修改此处数值, 否则将可能使dns数据不能更新
。设
serial
有一个地方您要留意:不能超过
10
位数字
,分号代表后面文字是注释。
Refresh
:
定义的是以
秒
为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
。
Retry
:如果
slave
在进行更新失败后,要隔多久再进行重试。
Expire
:
上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的。
Minimum
:
上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记录
。
NS
记录
我们在每个文件中添加的下一个条目是
NS
,指定在这个区内我们的权威
DNS
服务器。
NS
表明负责
seker
.com.
这个域的
NameServer
是
dns.
seker
.com
这台主机
M
X
记录
定义何种机器来为域或单个主机传送电子邮件,为域定义就是告诉每个人将邮件发送给该域中要与之
通信
的人或机器
。
标明发往
seker
.com
域的邮件由
mail.
seker
.com
这台服务器接收
,数值5表示优先级, 越小越高。 实际上e-mail服务器配置最主要的就是在此处添加MX记录。 如果DNS服务器没有正确的配置,想必e-mail服务器的配置会让你很是头疼。
PTR
记录
将
IP
地址映射为主机名,
PTR
记录执行与
A
及记录相反的过程
。
A
记录
标明了
IP
地址和域名之间的对应关系
。
CNAME
定义的别名
此处为linux设置别名www
例如:
www IN A 192.168.1.4
将www.seker.com解析
为
192.168.1.4
编辑反向解析配置文件。
#vi /var/named/seker.local
$TTL 86400
@ IN SOA dns.seker.com. root.seker.com.(
20031001;
7200;
3600;
43200;
86400);
@ IN NS dns.seker.com.
4 IN PTR www.seker.com.
4 IN PTR mail.seker.com.
4 IN PTR dns.seker.com.
4.
重启网路环境
#/etc/init.d/named startd
或者
#service named restart
#chkconfig named on
开机启动DNS服务器
5.
测试
DNS
服务器
1). nslookup www.seker.com
nslookup 192.168.1.4
2).
host
www.seker.com
host 192.168.1.4
3). ping www.seker.com
ping 192.168.1.4
4). dig
怎样结果正确小弟就不说了,呵呵……
6.
客户端配置
1).
/etc/resolv.conf
//
指定域名服务器的
IP
和搜索顺序
.
domain
seker
.com
//
定义本地域名。
search
seker
.com
//
简化用户输入的主机名,即当用户输入
mail
时,使得
DNS
可以把它成功地解析为
mail.hvtong.com
。它与
domain
是互斥的,无论谁出现都是用来定义
search
列表的。
nameserver 192.168.
1.4//
定义域名服务器的
IP,
最多三个,建议一般使用两个。
2). /etc/hosts
配置静态解析文件
127.0.0.1 localhost.localdomain localhost
192.168.
1.4
www.
seker
.com www
3). /etc/host.conf
order hosts,bind
表示先用
hosts
文件做解析,在用
DNS
解析
.
本人才疏学浅,难免会有一些错误发生, 还请各位大侠指教。
本文出自 “徐继宝de技术博客” 博客,转载请与作者联系!