DNS 域名解析系统(服务)
作用:域名和IP地址之间的相互转换

主DNS:一个域内必须至少有一个主DNS,为其它辅助DNS提供数据,域名与IP地址对应关系

辅DNS,辅助DNS:一个域内可以没有,也可以有多少辅助DNS,当主DNS繁忙或宕机时,提供和主DNS相同的解析功能

主要区域:主DNS上建立的区域,一主DNS上必须至少有一个主要区域,需要配置域名(主机名)和IP地址对应的解析记录

辅助区域:辅助DNS上建立的区域(一般情况下),一辅助DNS上必须至少有一个辅助区域,从主DNS的主要区域学习域名(主机名)和IP地址对应的解析记录

正向解析区域:由域名(主机名)解析为IP地址的过程

反向解析区域:由IP地址解析为域名(主机名)的过程

DNS解析记录:
A 主机记录(正向)
PTR 指针记录(反向)
CNAME 别名记录(正向)
MX 邮件交换记录
SOA 起始授权机构
NS 名称服务器
SRV 服务器
-------------
DNS查询方式:
递归:当客户端不能从指定的DNS服务器上查询到域名(主机)和IP地址的对应关系时,直接找到DNS根域服务器,由根域服务器找到一级域服务器,再由一级域服务器找到二级域服务器,以此类推的逐级查询的过程

迭代:从客户端指定的DNS服务器上查询域名(主机)和IP地址的对应关系

DNS分层关系:

根域:  .
一级域(顶级域): .com .cn .net
二级域:  baidu.com chinaunix.net
三级域或主机名+二级域: jp.baidu.com www.baidu.com

DNS服务器之间传递解析信息的方式:
更新:辅助DNS从主要DNS获得数据的过程
转发:同级别的DNS之间相互传递DNS数据的过程
------
linux下DNS服务器配置过程
1.setup
 ipaddress 192.168.1.11
2.service network restart
3.将光盘映像文件插入光驱并挂载
mount /dev/cdrom /mnt
4.进入光盘文件目录
cd /mnt/Server
5.安装DNS辅助配置软件
rpm -ivh caching-nameserver*
提示:
linux下实现DNS服务功能的软件为BIND,查询其是否安装:
rpm -qa | grep bind
如未安装
rpm -ivh bind*
6.编辑DNS辅助配置文件
vi /etc/named.caching-nameserver.conf
做如下内容修改:
listen-on port 53 { 192.168.1.11; }; #大括号内输入的为本机IP地址
用“#”注释以下三行
#listen-on-v6 port 53 { ::1; }; #不使用IPV6方式监听53端口
#allow-query { localhost; }; #允许所有主机查询,或将内容改为any
#match-clients { localhost; }; #不需要匹配客户端,或将内容改为any

:wq
7.编辑DNS区域配置文件
vi /etc/named.rfc1912.zones
G
o
zone "a.com" IN {
 type master;
 file "a.zone";
};
zone "1.168.192.in-addr.arpa" IN {
 type master;
 file "a.local";
};

:wq
8.进入DNS区域文件主目录
cd /var/named/chroot/var/named
9.拷贝DNS反向解析区域样本文件为反向解析区域文件
cp named.local a.local
10.编辑DNS反向解析区域文件
vi a.local
:% s/localhost/www.a.com/g
:末行命令
%对所有行操作
s 替换
localhost 原文件中的内容
www.a.com 要替换成的内容
g 对每行内出现的所有满足条件的原文内容都替换

全文含义:将此文件中出现的所有字符串“localhost”都替换为“www.a.com”
将文件最后一行做如下修改:
111 IN PTR www.a.com.
#反向解析192.168.1.111对应的FQDN(完全合格域)为www.a.com
注意:FQDN后面带“.”

:wq
11.cp a.local a.zone #拷贝反向解析文件为正向解析文件
12.vi a.zone #编辑正向解析文件
G
dd
o
www IN A 192.168.1.111
#将文件最后一行修改为正向解析记录,解析www主机头为192.168.1.111

:wq
13.chown named.named a.* #修改a.local及a.zone两个文件的所有者和所有者组为named
14.service named restart #重新启动DNS服务(linux下DNS服务名称为named)
15.rndc reload #重新载入DNS密钥
16.vi /etc/resolv.conf
将内容修改为:
nameserver 192.168.1.11 #DNS指向文件,内容对应DNS服务器IP地址
-----
17.测试
windows/linux共有:
nslookup www.a.com
nslookup 192.168.1.111
linux下特有:
host www.a.com
dig www.a.com

ping www.a.com #www主机需要配置
------
linux客户端
1.setup
 ip address 192.168.1.13
 netmask 255.255.255.0
2.service network restart
3.vi /etc/resolv.conf
nameserver 192.168.1.11 #对应DNS服务器IP地址
-----
主辅DNS
主要DNS:
vi /etc/named.rfc1912.zones
zone "a.com" IN {
 type master;
 file "a.zone";
 allow-update { 192.168.1.22; };#向辅助DNS发送DNS的更新文件
 allow-transfer { 192.168.1.22; };#允许向辅助DNS发送DNS数据文件
};
zone "1.168.192.in-addr.apra" IN {
 type master;
 file "a.local";
 allow-update { 192.168.1.22; };
 allow-transfer { 192.168.1.22; };
}; 
#注:假设辅助DNS服务器IP地址为192.168.1.22
vi /etc/named.caching-namedserver.conf
options {
 allow-transfer { 192.168.1.22; }; 

}

service named restart
rndc reload
辅助DNS:
配置IP地址,安装DNS辅助软件(略)
vi /etc/named.rfc1912.zones
zone "a.com" IN {
 type slave; #标识此qq.com区域为辅助区域
 file "slaves/a.zone"; #辅助区域文件位置及文件名
 masters { 192.168.1.11; }; #指定主要DNS服务器IP地址
};
zone "1.168.192.in-addr.arpa" IN {
 type slave;
 file "slaves/a.local";
 masters { 192.168.1.11; };
};
vi /etc/resolv.conf
 nameserver 192.168.1.22
service named restart
rndc reload
ls /var/named/chroot/var/named/slaves
如果存在a.zone文件,说明辅助DNS从主要DNS那里学习到了DNS区域解析文件,即辅助DNS服务器搭建成功
---------
转发:两个不同DNS区域之间相互解析(如b.com和a.com)
b.com
vi /etc/named.caching-nameserver.conf
 forwarders { 192.168.1.22; }; #a.com域的DNS服务器IP地址
vi /etc/named.rfc1912.zones
 zone "b.com" IN {
  type master;
  file "b.zone";
  forwarders { 192.168.1.22; }; #a.com域的DNS服务器IP地址
}; 
a.com
vi /etc/named.caching-nameserver.conf
 forwarders { 192.168.1.11; };#b.com域的DNS服务器IP地址
vi /etc/named.rfc1912.zones
 zone "a.com" IN {
  type  master;
  file "a.zone";
  forwarders { 192.168.1.11; }; #b.com域的DNS服务器IP地址
};
以上修改完成后,重新启动两个域的DNS服务器,并相互解析对方的主机域名,如能解析到对方的FQDN,说明两个域之间DNS服务器转发成功。