.DNS简介
1.IP地址和主机名的转换方法
主机名便于记忆
UNIX中有3种技术来实现主机名到IP地址的转换
host解析: 主要指本地/etc/host 192.168.88.57 [url][/url] ping [url][/url] 在一个大型网络中Hosts文件较繁琐而又复杂,在DNS中起备份作用
NIS,NetWork Information System网络信息服务系统,NIS将所有主机数据都保存在中央主机上,由中央主机将所需数据分配给所有的服务器,简单数据库适用于像局域网这样的中型网络
DNSDomain Name system它使用一种层次的树型结构的分布式数据库来处理Internet上的主机和IP地址的转换
2.DNS 的组成:
DNS是基于C/S模型设计的,每个服务器包含指向其他域名服务器的信息,DNS包括3个部分
域名空间:标识一组主机并提供他的有关信息的树结构的详细说明,树上的每一个结点都有其控制下的主机的有关信息的数据库
域名服务器:保持和维护域名空间中数据的程序,一个域名服务器拥有其控制范围(区域)内的完整信息
解析器:解析器是简单的程序或子程序库,它从服务器中提取信息以获得对域名空间中主机的查询,用于DNS客户
3.域名注册:[url][/url]当子网需连接Internet并且需要由自己管理这个域时,InterNIC会把相应信息放进.com域的服务器上,使其传播,DNS服务器周期性和其他DNS服务器上的各种数据库同步,并检查其他服务器上的新表项,一个新的域名大约会在3~4天完成传播
.DNS域名空间的分层结构
FQDN(Full Qualified Domain Name),域名是层次的,位于右边,左边是主机名,""DNS域名空间的基本单位
1.根域(Root Domain):全世界的IP地址和DNS域名空间都是由位于美国的InterNIC负责管理或进行授权管理,全世界共有13台根域服务器,根域服务器中只保存着顶级域的DNS服务器和IP地址的对应数据,根域是默认的不需要表示出来
2.顶级域(top-level domain,TLD):顶级域由InterNIC统一管理,数目有限且不能轻易变动.顶级域有两种划分:地理域和机构域
只包括顶级的服务器和IP地址负责解析顶级域的IP地址。
顶级域:
地理域:澳大利亚 .au    俄联邦  .ru    法国 .fr   德国 .de  中国  .cn   加拿大 .ca     意大利  .jp  韩国 .kr   新加坡 .sg             英国 .uk    美国 .us   台湾省 .tw
机构域:教育 .edu   商业 .com  军事机构 .mil   政府机构 .gov   国际组织 .int   网络组织 .net 
1997年又建立了7个顶级域,进一步划分域名空间firm store web arts rec info nom
3.子域:除了根域和顶级域之外,其它域都称为子域
4.反向域(in-addr.arpa)IP解析为相应的FQDN名,反向域中有一个根域.in-addr-arpa,使用一个IP地址的一个字节值来代表一个子域,根域下面可有256个子域,例1.168.192.in-addr.arpa
5.域的委任管理:
层次结构允许将整个管理任务分成多份,分别由子域进行管理,维护属于该子域的所有主机信息,并负责回答所有相关查询,将DNS数据库中属于这些子域的信息放到各自的域名服务器
委托管理的优点:1.可以起到负载均衡的功能  2.提高子域名服务器的响应   3.提高带宽的利用率
6.DNS区域(zone):区域是DNS服务器管辖范围,由单个域或具有上下隶属关系的紧密相邻的多个子域组成的一个管理单位,即由连续的域构成
一台DNS服务器可以管理一个或多个区域,而一个区域也可以有多台DNS服务器来管理
.DNS域名服务器的类型: 1、域名服务器:保存域名空间信息   2、高速缓存服务器:提高网络带宽利用率   3、主服务器: 权威的信息
4:辅助服务器:可以从主服务器中复制一整套域信息,配置辅助域名服务器不需要生成本地区文件,可以从主服务器中下载该区文件。
.DNS域名解析过程
1.DNS查询模式:递归查询(Recursive Query)迭代查询(Iterative Query)
.Linux下的DNS服务器配置
1.服务器:   named
客户端:   resolver
3.启动域名服务器
#service named start
#service named restart 重新启动bind服务
#pstree|grep named
#rndc status查看域名服务器的运行状态
#rndc reload 重新装载配置文件
4.域名服务器的配置语法
域名服务器配置文件族
主配置文件/etc/named.conf 设置一般的named参数,指向该服务器使用的域数据库的信息源
根域名服务器指向文件/var/named/named.ca指向根域名服务器,用于惟高速缓存服务器的初始配置
localhost区文件/var/name/localhost.zone用于将名字localhost转换为本地回送IP地址127.0.0.1转换为名字localhost
用户配置的区文件/var/named/name2ip.conf将主机名映射为IP地址的区文件 /var/named/ip2name.confIP地址映射为主机名的区文件
5.主配置文件named.conf配置语句/etc/named.conf
#cat /etc/named.conf
options{
    dierectory "/var/named";定义服务器区配置文件的工作目录
};
#定义rndc命令使用的控制通道
controls{
       inet 127.0.0.1 allow{localhost;}keys{rndckey;};
};
#定义根区声明
zone "." IN{
           type hint;
       file "named.ca"
       allow-update{none;};
};
#定义localhost反向解析区声明
zone "0.0.127.in-addr.arpa" IN {
       type master;
       file "named.local"
       allow-update {none;};
};
include "/etc/rndc.key"
6.查看根域指向区文件
#grep -v ";" /var/named/named.ca
7.查看本地域区文件
cat /var/named/localhost.zone
$TTL 86400定义RR默认使用的TTL=86400s=1
$ORIGIN .设置管辖源为.
@    1D   IN   SOA       rhl9.. root..(
                            42 ;serial本区信息文件的版本号
                            3H ;3小时,Refresh辅助域名服务器多长时间更新数据库
                            15M ;15分钟若辅助域名服务器更新数据失败,多长时间再试
                            1w ;1若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效
                            1D );1天即RRttl
       1D IN    NS   rhl9..
       1D   IN   A     127.0.0.1
rhl9        IN    A     192.168.1.57
www              IN   CNAME  rhl9..
的反向解析文件
$TTL 86400定义RR默认使用的TTL=86400s=1
$ORIGIN .设置管辖源为.
@    1D   IN   SOA       rhl9.. root..(
                            42 ;serial
                            3H ;3小时
                            15M ;15分钟
                            1w ;1
                            1D );1
       1D IN    NS   rhl9..
                1     IN    PTR       rhl9..
#service named restart
#rndc reload
8.资源记录:
RR中的字段 name域对象名 ttl寿命字段,它以s为单位定义该资源记录中的信息存放在高速缓存中的时间长度 IN将该记录标识为一个InternetDNS资源记录 type(A IP address用于将主机名转换IP地址,任何一个主机都只能有一个A记录 CNAME Canonical给定主机的别名,主机的规范名在A记录中给出 HINFO Hardware机器硬件名|Os-type操作系统名,描述主机的信息 MX,Mail Mailer-exchanger邮件服务器名字,eXchanger邮件交换记录,告诉邮件进程把邮件发送到另一个系统 NS Name-server域名服务器的名字,标识一个域的域名服务器 PTR Real-name主机的真实域名,将地址转换为主机名 SOA标识服务器所管理的起始地方,SOA记录后的所有信息是控制这个域的)
10.配置DNS作简单负载均衡:利用DNS轮询的方法,通过对单个FQDN设置多个IP地址实现的,例如HTTP服务器rhl9.2个主机,其IP地址分别是192.168.1.201192.168.1.202,客户首次对查询rhl9.的地址是192.168.1.201,对此主机进行访问,第二次查询是的IP地址是192.168.1.202,故对192.168.1.202主机进行访问.从而实现了负载均衡
vi /etc/named/.hosts
rhl9 IN A 192.168.1.201
rhl9 IN A 192.168.1.202
#rndc reload
#host rhl9.
11.配置辅助域名服务器:在要配置辅助域名服务器的Linux计算机上对主配置文件配置同名区域,注意指定辅助域名服务器的类型slave,区数据库文件将从主域名服务器自动获得,
zone ""{
       type slave;
       file ".hosts";
       masters{192.168.1.57;};
};
添加反向解析
zone "1.168.192.in-addr.arpa"{
       type slave;
       file "192.168.1.rev";
       masters {192.168.1.57};
};
#service named restart
#ifconfig eth0|grep inet
12.配置域转发:DNS客户端向指定的DNS服务器要求进行域名解析时,若此域名服务器无法解析,它将用缓存中的信息帮助定位能解析的其他服务器,通常仅仅找到一个根域服务器,若不希望直接定位到根域服务器,可以设置域名转发器(Forwarder),配置了域名转发清单的域名服务器会把不能直接从自己缓存响应的请求发送给转发器中定义的服务器,可以减少广域网中的通信量,实现需修改配置文件/etc/named.conf
options (
       forwarders{202.106.192.115;202.106.196.152}  
)
13.区域委派
可以将名称空间分割一个或多个区域的功能,可将这些区域存储、分配和复制到其他DNS服务器,父域对子域的DNS服务器进行委派.在父域的DNS服务器的正向解析文件中执行的步骤
定义子域的名称
命名负责该子域的DNS服务器
定义子域的DNS服务器的IP地址
但是,反向解析文件的配置相对复杂
IP地址看作4个独立的字节
IP地址看作32位二进制数
:基于字节界限的委派
     域名     域中主机所在的网段  域名服务器FQDN 域名服务器IP
主域 192.168.1.0 shrike. 192.168.1.200
子域osmond. 192.168.11.0 rh9.osmond. 192.168.11.200
shrike. /etc/named.conf
#vi /etc/named.conf
zone "168.192.in-addr.arpa"{
     type master;
     file "192.168.rev";
     };
#vi /var/named/.hosts
$TTL 86400定义RR默认使用的TTL=86400s=1
$ORIGIN .设置管辖源为.
@    1D   IN   SOA       shrike.. root..(
                            42 ;serial本区信息文件的版本号
                            3H ;3小时,Refresh辅助域名服务器多长时间更新数据库
                            15M ;15分钟若辅助域名服务器更新数据失败,多长时间再试
                            1w ;1若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效
                            1D );1天即RRttl
       1D IN    NS   shrike..
       1D   IN   MX  5    shrike..
shrike            IN    A     192.168.1.200
osmond          IN      NS      rh9.osmond..设置osmond.域的域名服务器
rh9.osmond      IN      A       192.168.11.200
#rndc reload
配置基于字节界限的委派的子域的主域名服务器
zone "osmond."{
     type master;
     file "osmond..hosts";
     };
zone "-addr-arpa"{
     type master;
     file "192.168.11.rev";
};
#vi /var/named/osmond..hosts
$TTL 86400定义RR默认使用的TTL=86400s=1
$ORIGIN .设置管辖源为.
@    1D   IN   SOA       rh9.osmond.. root.osmond..(
                            42 ;serial本区信息文件的版本号
                            3H ;3小时,Refresh辅助域名服务器多长时间更新数据库
                            15M ;15分钟若辅助域名服务器更新数据失败,多长时间再试
                            1w ;1若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效
                            1D );1天即RRttl
       1D IN    NS   rh9.osmond..
       1D   IN   MX  5    rh9.osmond..
rh9         IN    A     192.168.11.200
$TTL 86400定义RR默认使用的TTL=86400s=1
$ORIGIN .设置管辖源为.
@    1D   IN   SOA       shrike.. root..(
                            42 ;serial本区信息文件的版本号
                            3H ;3小时,Refresh辅助域名服务器多长时间更新数据库
                            15M ;15分钟若辅助域名服务器更新数据失败,多长时间再试
                            1w ;1若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效
                            1D );1天即RRttl
       1D IN    NS   shrike..
       1D   IN   MX  5    shrike..
shrike            IN    A     192.168.1.200
osmond          IN      NS      rh9.osmond..设置osmond.域的域名服务器
rh9.osmond      IN      A       192.168.11.200
14.DNS客户端:domain (对于2000而言即附加DNS后缀) nameserver 192.168.2.57