您的位置:首页 > 运维架构 > Linux

DNS服务器配置详解

2009-11-27 15:00 330 查看
DNS(Domain Name Server域名服务器)配置是最基本也是最重要的配置,如果仅仅是配置相信一个根本不知道什么是DNS的人也能很容易的搞定, 但是理解其中的原理以及每个具体细节的意义的人想必不多, 本文将对其配置做详细解析。
DNS服务器所起的作用可以说是一个“翻译管”, DNS服务器所提供的服务是将主机名和域名转换为IP地址的工作。 当你在浏览网页时很少使用难以记忆的点分十进制IP地址, 取而代之的是便于识记的主机名和域名, 而在网络中计算机通信是通过每台计算机在网络中独占的IP地址, DNS便是这样一个具有地址解析功能的“翻译管”。
DNS服务工作过程

1. [/b]所需软件包。[/b][/b]
bind bind主程序软件包。
bind-utils bind软件提供的一组DNS工具包,里面有一些DNS相关的工具.主要有:dig,host,nslookup,nsupdate.使用这些工具可以进行域名解析和DNS调试工作。
bind-chroot 来增强bind的安全。
bind-libs bind数据库文件。
bind-devel Contains all the header files and libraries required for development with ISC BIND 9 and BIND 8
caching-nameserver Includes the configuration files which will make bind, the DNS name server, act as a simple caching nameserver
2. [/b]相关配置文件。[/b][/b]
/etc/named.conf DNS主配置文件。
/var/named/* DNS域解析文件。
/etc/resolv.conf 为DNS客户端指定DNS服务器配置文件。
/etc/hosts 静态解析配置文件,实现与网上其他主要计算机的映射
/etc/host.conf 配置DNS解析顺序。
3. [/b]配置过程[/b]
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个小时这样短的值也可以使用,但是我们通常不会建议使用短值。
@代表相应的域名, [/b]这里代表seker.com.[/b]
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 中就用“.”来代替@。目前这个信箱是"root@seker.com."。 接下来的 SOA 设置,是被括在()之间的 5 组数字,主要作为和 slave 服务器同步 DNS 资料所使用的资料;
Serial表示配置文件的修改版本, 其格式通常会是年月日+当日修改次数。当 slave 要进行资料同步的时候,会比较这个号码。如果发现在这里的号码比它那边的数值大,就进行更新,否则忽略, 每次更改dns设置之后记得同时修改此处数值, 否则将可能使dns数据不能更新。设 serial 有一个地方您要留意:不能超过 10 位数字,分号代表后面文字是注释。
Refresh定义的是以秒为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
Retry:如果slave在进行更新失败后,要隔多久再进行重试。
Expire上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的
Minimum上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记录

NS记录
我们在每个文件中添加的下一个条目是NS,指定在这个区内我们的权威DNS服务器。NS表明负责seker.com.这个域的NameServerdns.seker.com这台主机

MX记录
定义何种机器来为域或单个主机传送电子邮件,为域定义就是告诉每个人将邮件发送给该域中要与之通信的人或机器标明发往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,最多三个,建议一般使用两个。[/b]
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解析.

本人才疏学浅,难免会有一些错误发生, 还请各位大侠指教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 职场 dns server 休闲