DNS 服务器
DNS(Domain Name System,域名服务器)是为了便于访问Internet而采用的一种分布式的域名-IP地址的映射查询和管理方法。
1、/etc/hosts
Internet早期,采用特定的文件(如/etc/hosts)将文件名和IP地址一一对应,让访问者通过主机名获得对方主机的IP地址,局域网中的全
部主机及对应IP地址的清单分别保存在每一台主机中,这也是DNS前身
e.g
#more /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
2、Bind
主机中的清单无法自动更新,且只有想InterNICMP注册,才能获得主机名与IP地址的对应。伯克利大学开发了Bind域名系统
DNS提供的服务
1、主机别名-hody aliasing
别名主机名比正规主机名更容易记忆
2、邮件服务器别名-mail server aliasing
3、负载分担-load distribution
客户端发出DNS查询请求,服务器响应整组IP地址,不过每次响应的地址顺序是轮转的。
DNS查询原理和规划
DNS系统包含DNS服务器和DNS客户端,DNS客户端也拥有DNS查询功能,通过本地的3个配置文件:/etc/host.conf、resolv.conf和hosts
1、DNS查询原理
客户端发送的请求包括指定的查询类型、DNS域名的类型及DNS域名(FQDN)
(1)本地域名解析
根据/etc/host.conf文件的设置:order hosts,bind
到本机的/etc/hosts中查询相关条目,没有的话,把请求发送到DNS服务器
(2)DNS服务器查询历程
先查询本地缓存,就会将域名发送到根服务器,通过迭代查询,返回最终结果。
2、DNS规划
选择并注册一个顶级或二级域名作为父DNS域名,将父域名称与公司名组合起来,形成子域名或主机名
DNS域名解析
1、/etc/host.conf 定义域名的搜索顺序
2、/etc/hosts 本地域名解析条目
3、/etc/resolv.conf 定义主机是否为DNS服务器
当本主机是一般主机时:
search localdomain.test
nameserver 192.168.1.104
当本主机是DNS服务器:
domain localdomain.test
nameserver 192.168.1.104
安装DNS服务器
#rpm -ivh bind-9.3.4-6.pl.el5.i386.rpm
安装Chroot软件包
Change Root用来改变程序执行时的根目录位置,可以改变bind的根目录到/var/named/chroot,防止通过绝对路径访问/etc/passwd等
#rpm -ivh bind-chroot-30:9.3.4-6.pl.el5.i386.rpm
安装后相应的路径都变为:/var/named/chroot/var/named和/var/named/chroot/etc/named.conf,但在named.conf中的依然为
"diretory "/var/named"; "
DNS服务的启停
#service named start
或#/etc/init.d/named stop
配置主要名称服务器
一般DNS配置文件:
/etc/named.conf
/var/named/named.localhost.arpa
/var/named/named.domain
/var/named/named.domain.arpa
1、named.conf主要用来声明域名服务器的cache文件以及正、反向解析区域文件的名称及存放位置。其中,cache文件主要用来存放DNS服务
器查询域名解析后的结果;正向解析区域(Zone)和反向解析区域(Reverse Zone)默认都存放在/var/named目录下。
2、设置根区域和主区域
为了实现DNS服务器的解析功能和数据信息的稳定存储,需要设置根区域和主区域
(1)对于本地区域不能进行查询的解析,需要转到根DNS服务器,在/etc/named.conf配置
#vi /etc/named.conf
zone "."{
type hint;
file "named.ca";
};
(2)设置主区域
DNS服务器中,某个区域的数据信息所存储的区域,在/etc/named.conf中定义
zone "localdomain.test"{
type master;
file "named.localdomain";
allow-transfer{
192.168.0.128;
192.168.1.128
}
};
在named.localdomain中编写正向域名解析文件(DNS主机的完整域名是server.localdomain.test.)
第一部分
@ IN SOA server.localdomain.test. toplinux.server.localdomain.test. (
2009012001 ;Serial
10800 ;refresh
3600 ;retry
604800 ;expire
86400 ;default_ttl
)
@ 是区域名称的简写,可以替换为“named.conf”中声明的相关正向解析区域名称
IN 网络类型
SOA 资源记录类型
第二部分
@ IN NS server.localdomain.test.
loopback IN CNAME localhost
localhost IN A 127.0.0.1
定义域localdomain.test域的域名解析服务器为server.localdomain.test
第三部分
mail IN MX 10 mail.localdomain.test.
邮件交换器MX(Mail eXchange)资源记录指向邮件服务器,当电子邮件系统发邮件时,根据收信人邮件地址来定位邮件服务器。MX声明了邮
件服务器的优先级别,一般来说序号越小的邮件服务器优先级别越高
第四部分
ftp IN A 192.168.1.2
所有主机与IP地址的对应关系
第五部分
mail IN CNAME server
用于为主机起不同的别名(Canonical Name)
设置反向解析区域
在/etc/named.conf定义区域反向域名解析
zone "1.168.192.in-addr.arpa"{
type master;
file "named.localdomain.arpa";
};
第一部分
@ IN SOA server.localdomain.test. toplinux.server.localdomain.test.(
2009012001 ;Serial
10800 ;refresh
3600 ;retry
604800 ;expire
86400 ;default_ttl
)
第二部分
@ IN NS server.localdomain.test.
1 IN PTR server.localdomain.test.
2 IN PTR server.localdomain.tesst.
主要用来设置IP地址和域名的关系
根服务器信息文件
named.ca文件经常随着根服务器的变化而发生变化,因此建议下载最新的版本,或者使用命令
#dig > named.ca
区域文件
$TTL 38400
定义了允许客户端缓存通过查询DNS服务器的数据时间。
功能实现
1、实现负载均衡
要实现3台FTP服务器的网络负载均衡,只要在DNS服务器的区域文件中加入3条A资源记录
2、实现直接域名解析
在DNS服务器的区域文件中增加特殊的A资源记录
localdomain.test. IN A 192.168.0.105
或
IN A 192.168.0.105
3、实现泛域名的解析
当一个域名下的所有主机和子域名都被解析到同一个IP地址上,这种情况下为泛域名。
* IN A 192.168.1.13
测试名称服务器
1、检查MX记录
#host -t mx localdomain.test
2、检查主机名
#host server.localdomain.test
3、检查别名
#host
4、用ping命令测试
#ping 192.168.1.1 (ping DNS服务器的IP地址)
5、用浏览器测试
在浏览器中直接输入定义的DNS域名,看是否能解析成功
配置辅助域名服务器
辅助域名服务器的数据不是直接输入的,而是从其他域名服务器中复制过来。配置域名解析辅助服务器,使其满足以下条件:
(1)建立localdomain.tst从区域,设置主要名称服务器的IP地址为192.168.1.1
(2)建立反向域名解析从区域1.168.192.in-addr.arpa,设置主要名称服务器的地址为192.168.1.1
在配置文件/etc/named.conf增加以下内容:
options {
directory "/var/named";
};
include "/etc/rndc.key";
zone "."{
type hint;
file "named.ca";
};
zone "localdomain.test"{
type slave;
file "slaves/named.localdomain";
masters {192.168.1.1;};
};
zone "1.168.192.in-addr.arpa"{
type slave;
file "slaves/named.localdoamin.arpa";
masters {192.168.1.1};
};
配置缓存Cache-only服务器
配置一台Cache-only域名解析服务器,以实现客户机得所有DNS的查询转发到IP地址为61.128.128.68的DNS服务器上。
修改named.conf配置文件
options {
directory "/var/named";
forward only;
forwards {
61.128.128.68;
};
};
include "/etc/rndc.key";
客户端配置
注:如果在虚拟机进行测试,要先禁用本机的网卡,然后修改虚拟网卡的DNS配置。
另附了一个BIND配置参考手册
DNS配置参考手册.doc