DNS服务器
在访问特定网站的时候,不仅可以通过网站的IP地址打开所需网页,还可以通过英文和数字组成的网址,甚至是网站的部分关键字来打开网页,完成这些工作的“幕后英雄”就是DNS(域名解析系统)。DNS域名解析将IP地址的一长串数字映射为容易记忆的的英文格式,使用户访问internet更加方便,更体现了网络的实用性。
DNS (Domain Name Server,域名服务器)是为了便于访问Internet而采用的的一种分布式的域名到IP地址映射查询和管理方法。
DNS的最主要功能是实现主机名到IP地址的转换,除此之外,还提供了主机别名、邮件服务器别名、负载分担等。
DNS系统包含DNS服务器和DNS客户端两部分。
DNS服务器是指提供DNS服务的主机,又被称为域名服务器。DNS客户端是指提出“域名查询”请求的主机,DNS客户端同样也拥有简单的DNS查询功能,通过本地的3个配置文件--------/etc/host.conf 、 resolv.conf 和hosts实现。
客户端发送的每条查询信息都包括指定的查询类型、DNS域名的类别及合格的DNS域名(FQDN).
当需要域名解析时,先在本机进行域名解析,如果查询不到,就将这个请求发送给自己的域名解析服务器,并不是直接就到DNS域名服务器上进行解析。
本地域名解析
不同系统的本地域名解析机制有所不同。Windows系统会先查询Windows\system32\drivers\etc中的host文件,如果包含相关条目,则直接使用其IP地址。而Linux系统则需要按照主机上/etc/host.conf文件的定义,来决定域名查询的顺序。/etc/host.conf文件中默认的设置是:通过/etc/hosts文件进行域名解析,如果解析不到,再到DNS服务器进行域名解析。其声明语句如:order hosts,bind
DNS服务查询历程
本地不能解析的域名,客户端会将该域名发送到DNS服务器进行解析。有二种情况:
1、
本地DNS服务器能够解析客户端发来的请求,服务器直接将答案返回给客户机。
2、
本地DNS服务器不能解析客户端发来的请求,分为两种解析方法1、采用产递归的解析方法。本地DNS服务器向根域名服务器发出请求,根域名服务器对本地域名服务的请求进行解析,得到答案在给本地DNS服务器,本地DNS服务器将答案记录在缓存中,并将答案返给客户机。2、采用迭代的解析方法。本地DNS服务器向根域名服务器发出请求,根域名服务器返回给本地域名服务器一个能够解析请求的根的下一级域名服务器的地址,本地域名服务器在向根返回的IP地址发出请求,最终得到请求的答案。
DNS 的配置文件在/etc/named.conf
DNS 的区域数据文件在/var/named/目录下
下面通过实验来对DNS服务进行认识
1、
实验规划
a.
本地域名服务器 ip地址是192.168.0.179
b.
域名是wang.com
2.、开始实验
1、把192.168.0.179的主机名改为MASTER
Vim /etc/sysconfig/network 中的主机名改为MASTER包存并退出
2、对主配置文件进行编辑
Options {
#目录是必须要有的
Directory “/var/named”;
};
Zone “.” IN {
Type hint;
File “name.ca”;
};
Zone “localhost” IN {
Type master;
File “localhost.zone”;
};
Zone “0.0.127.in-addr.arpa” IN {
Type master;
File “named.local”;
};
Type master;
File “wang.com.zone”;
};
3、安装caching-nameserver.i386包
4、vim /var/named/wang.com.zone
$TTL 86400
@ IN SOA ns root (
1 ;该区域的序列号
3H ;刷新时间
15M ;刷新时联系不上服务器后隔多久联系
7D ;主域名服务器不工作多久从服务器停止服务
1D ;否定回答的缓存时间)
IN NS ns
Ns IN
A 192.168.0.179
www IN A 192.168.0.254
包存退出
修改文件的属组,和其它用户的权限
Chown :named /var/named/wang.com.zone
Chmod o-r /var/named.wang.com.zone
5、重启服务 service named restart
6、把客户机的DNS指向192.168.0.179
Vim
/et/resolv.conf
把nameserver 的ip改为192.168.0.179
7、测试
b.
dig –t NS wang.com
二.在一个域里做主、从域名服务器
我们把上一个实验的主机做为主域名服务器
从域名服务器的IP地址为172.16.4.1
1、
把172.16.4.1 的主机名改为slave
2、
配置从域名服务器的主配置文件
Options {
#目录是必须要有的
Directory “/var/named”;
};
Zone “.” IN {
Type hint;
File “name.ca”;
};
Zone “localhost” IN {
Type master;
File “localhost.zone”;
};
Zone “0.0.127.in-addr.arpa” IN {
Type master;
File “named.local”;
};
Zone “wang.com” IN {
Type slave;
File “slaves/wang.com.zone”;
};
3、修改主域名服务器/var/named/wang.com.zone文件
在里面添加一条记录
IN NS
ns2
Ns2 IN A
172.16.4.1
把从服务器的DNS指向自己
3、
测试
Dig –t NS
wang.com
三、在一个域内做父域和子域
把master主机做父域名服务器slave做子域名服务器
1、
在父域名服务器的/var/named/wang.com.zone里面添加两条记录
Tech.wang.com. IN
NS ns.tch.wang.com.
Ns.tech.wang.com. IN
A 172.16.4.1
2、
子域名服务的主配置里添加tech.wang.com域
Zone “tech.wang.com”
IN {
Type master;
File “tech.wang.com.zone”;
};
3、
为了让子域能够直接解析父域里面的主机
在子域的主配置里添加一个指向域
Zone “wang.com”
IN {
Type forward;
Forwarders {
192.168.0.179; };
Forward only;
};
4、
在子域服务器的/var/named/下创建tech.wang.com.zone
$TTL 84600
@ IN SOA ns root (
2011112401
1H
5M
7D
1H )
IN NS
ns
ns IN A
172.16.4.1
www IN A 172.16.4.1
修改tech.wang.com.zone的属组和其它的权限
Chown :named
/var/named/tech.wang.com.zone
Chmod o-r /var/named/tech.wang.com.zone
5、
父子域服务器重启服务
Service named
restart
6、
测试
Dig –t NS
wang.com