DNS技术资料
DNS 技术资料 ,InternetDNS 域名系统DNS 系统作为Internet 的重要领域,起源于美国的ARPANET-host.txt 系统,当时ARPANET 拥
DNS 技术资料
,InternetDNS 域名系统
DNS 系统作为Internet 的重要领域,起源于美国的ARPANET-host.txt 系统,当时ARPANET 拥有80~100台机器,由一个组计表文件完成该系统机器名字与地址的对应工作。该系统由Stanford 数字网络中心通过SRI-NIC 集中管理对host 文件进行维护,每星期对文件更新1~2次。ARPANET 通过E-mail 把它们要求变更的主机文件发给SRI-NIC ,经更新后,各个网点用FTP 把文件取出去。通过该种手段保持ARPANET 主机表的一致性。
伴随网络的迅速增长,该系统出现了SRI-NIC 的网络流量和主机负载不堪重负、主机名和网络地址分配控权不能统一等问题,因此迫切需要有一个新的体制来取代单机独裁体制。
能够超越单机独裁体制的是分散管理体制,于是1984年提出了RFC822-823,由它们管理所有地址的转换,由各个本地的网络管理员定名,并在全网中查询。
有关的RFC 建议和组织
RFC822-823是早期应用于DNS 系统的工具,现在它们已被RFC1034和RFC1035代替。
,RFC1034规定了Domainname(域名) 的概念和它的一些使用中的基本原理,RFC1035规定了DNS 的运行、操作机制原理和一些说明。RFC1591讲解了域名系统的树形结构。
DNS(域名系统) 在运行中需要进行委派,这项工作由Internet 协会的授权委员会完成,并管理Internet 的地址和域名的登记。其下属有三个机构,分别管理全球的不同地区的域名和地址的分配。它们是欧洲信息网络中心,负责管理欧洲的域名分配;InterNIC ,负责管理南北美和非亚太所属区的域名;亚太地区的APNIC ,管理该地区域名和地址的分配。APNIC 分配地址有两种方式,对于有国家网络中心的四个国家和地区(日本、韩国、台湾地区、泰国) ,APNIC 向这些国家(或地区) 分配域名,该国(或地区) 内的机构向国家和当局申请和分配域名;对于没有成立国家网络中心的机构,如中国,APNIC 成立了ISP 机构负责该项工作,由APNIC 把地址分给ISP ,由大的ISP 分给小的ISP ,层层划分域名。
DNS 概要
DNS 的基本任务
DNS 的基本任务是一个分布形的数据库,包括提出数据的标准格式以使全世界DNS 采
,用统一标准格式。RFC1034中详细地描述了数据库的标准格式、数据库查询方法、本地(local)更新数据的标准方法。
DNS 的主要组成部分
在一个数据库中有PrimaryServer 和SecondaryServ-er 。PrimaryServer 是主服务器,它可更新自己数据库中分管的数据。本地数据库需要与它们取得一致。DNS 通过三个主要部分完成以上三项任务:即DomainNameSpace(域名的层次结构) 和ResourceRecords(数据的原始记录) ;NameServers(域名服务器) 即数据库的服务器;Resolvers(DNS的求答器) 。
DNS 的工作过程
DNS 是Client/Server结构型数据库,运作过程如下:
Client-Resolver:向Server 发询问。翻译Server 给出回答。而后把所得信息传给提出问题的程序(如E-mail) ,最后由Server-database 给出答案。DNS 在运行中通常会有如下问题:在以上三个主要部分中DomainNameSpace 是个树形结构,根在树下,表示逻辑连接而不是物理连接,在域名登记中只表示管理范围机构。如:北京大学要申请加入到教委网中,在edu 中分配给大学的是三级域名,各个系再向大学申请的是四级域名,而使用域名的机器可以连接到邮电部网上。诸如此类,一台申请进入co 或gov 网的机器物理连接可以在邮电部网下进行。域在使用中要注意与Host 及Zone 的区别,它是DNS 数据库的一个索引(indexes),它包含该域内所有主机的信息;Host 只是有关某台具体主机信息的一个域名,而Domain 和Zone 的区别主要体现在权利和分派上,Zone 包含了域名以及未来被委派出去的那些域的数据。
在DNS 系统中另一个需要澄清的内容就是PrimaryServer 和SecondaryServer ,两者的区别在于SecondaryServer 从PrimaryServer 中提取文件和数据,或从其它的Server 中拿过来所要的文件。
在DNS 系统中我们常会考虑域名服务器的设置数量,在哪儿设置自己的域名服务器和对域名服务器的能力设置等问题。设置域名服务器取决于用户网络有多大。域名服务器最少
,要设置2个,通常会有5~7个。
在域名服务器设置过程中可以考虑以下内容确定设置数量:
在每个网或子网上至少运行一个域名服务器;在用户个人网络外运行一个服务器;如有文件服务器或diskless 的节点,应在文件服务器上运行一个域名服务器;在大型分时系统机器上运行一个域名服务器。
在为自己的域名服务器选址时,连接最好选择与In-ternet 连接且速度最快的机器作为个人的域名服务器,并要尽量接近Hub 出口。软件选用厂商直接支持的产品,机器选型最好选用同一系列的机型和操作系统,以便在同一平台上操作和管理,在域名服务器的能力选择上随着网络的增长和各种应用的增长,域名服务器的负载也随之增长,必须选择能力足够强的服务器来为各种查询服务。可以通过BIND 统计来检查域名服务器的统计特性以了解DNS 的交通量。
查找故障的工具
DNS 系统提供了如下排故工具:
1. nslookup 是仿照ResolverRouting 做的路由,通过nslookap 我们可以向域名服
务器发出询问。nslookap 和Resolver 的区别是它一次只和一个域名服务器交谈。
2. BIND 域名服务器的Debugging 可以得到一个接一个的询问,这个报告可包含11
个层次。
3. named-xfer 主要用来检查Secondary 是否及时地更新。
4. 域名服务器数据库垃圾清理。
通过以上四种方式我们大致可以排除DNS 系统中的常见故障。RFC1537中列出了DNS 中常见的错误。
我国的DNS 系统
我国的Internet 发展有两个阶段,1994年中国的DNS 系统借用德国的电子邮件域名
,系统,高能所、电子所、清华大学借用加拿大的域名系统。1990年9月由CANET 正式在DDN 、NIC 登记我国的最高域名———CN ,此时中国和Internet 电子邮件连接,主服务器设在德国。1994年5月4日,把CN 的主服务器从德国移回中国,设在中科院网络中心,由中科院网络中心登记CN 网络域名。该网络包括商业、军事、教育、科研、国际网等系统,在大的省市如上海,江苏,广东设有二级域名,二级域名的分配保留权设在中科院网络中心,目前该系统中有:
Primaryns.cnc.ac.cn 159.226.1.1
Secondaryns.secqui.net. 128.241.0.84
ns.ull.net
ns.ell.net
137.39.1.3 192.16.202.11 129.13.10.90 iraun1.ira.uka.de
Solaris 的域名系统(DNS)配置
配置域名服务器(DOMAINNAMESERVER)是直接连入Internet 不可缺少的步骤。
主要包括两个方面:修改或建立/etc目录下nsswitch.conf 、resolv.conf 、
,named.conf 以及相应目录下named.local 等文件。
建立文件/etc/resolv.conf
建立resolv.conf 的目的是通过解析程序(RESOL.VERPROGRAM)来和域名建立联系的同时寻找名字服务器的IP 地址。
格式为:
domain 域名 ; 注解
; 注解 nameserver 名字服务器IP 地址
本次工程中,内容为:
domain cq.chinamobile.com
nameserver 218.201.4.3
nameserver 218.201.17.2
修改/etc/nsswitch.conf文件
找到下行:
hosts: files
改为:
hosts: files dns
关键字DNS 的目的是通过解析程序去查找主机信息。
建立文件/etc/named.conf
/etc/named.conf是BIND 8和BIND 9主程序named 缺省的配置文件,除非有必要,可以在编译的时候另外指定其它的文件名。named 程序在启动的时候,会自动寻找该文件,解读其中的配置信息,从而装载正确的域名数据。下面以本次青海移动互联网一期工程的配置为例,说明一个典型的named.conf 文件至少应包括的部分:
options {
,directory "/var/named/Sec";
forwarders { 211.136.17.107; 211.136.18.171; };
allow-transfer { 218.201.4.3; };
version "null";
};
说明:
定义DNS 的一些基本的设置
directory 指定数据文件所在的目录:/var/named/Sec
forwarders { 211.136.17.107; 211.136.18.171; };
指定转发服务器
allow-transfer { 218.201.4.3; }; 指定只允许备份服务器可以获取整个域的数据
version
logging {
channel "default_channel" {
file "/var/adm/dns.log" size 200m;
print-time yes;
severity warning;
};
category "default" {
"default_channel";
};
};
说明:
定义DNS 的日志功能
channel "default_channel" 定义一个日志通道
指定文件名和大小 指定客户端查询本服务器DNS 版本时,显示的版本信息 file "/var/adm/dns.log" size 200m;
print-time yes;
severity warning; 日志文件中记录日期和时间 日志记录级别为warning
,category "default"
default_channel
key "rndc-key-cq" { 指定使用的日志通道为
algorithm hmac-md5;
secret "sJXVVrbZ/ExzzsfGj9psxQ==";
};
controls {
inet 127.0.0.1 port 1953
allow { 127.0.0.1; } keys { "rndc-key-cq"; }; 说明:
定义DNS 的远程控制的属性
key "rndc-key-cq"
定义一个验证密匙 加密算法为MD5 algorithm hmac-md5;
secret "sJXVVrbZ/ExzzsfGj9psxQ==";
controls
设定密码 对远程控制做限制 inet 127.0.0.1 port 1953 定义本机控制端口
allow { 127.0.0.1; } keys { "rndc-key-cq"; }; 指定使用的密匙
zone "0.0.127.in-addr.arpa" {
type slave;
file "localhost.rev";
masters { 218.201.4.3; };
};
说明:反向解析127.0.0.1
zone "cq.chinamobile.com." {
type slave;
file "cq.chinamobile.com.zone";
,masters { 218.201.4.3; };
};
说明:解析主域名
cq.chinamobile.com.zone
zone "4.201.218.in-addr.arpa" {
type slave;
file "4.rev";
masters { 218.201.4.3; };
};
说明:反向解析本机IP 地址218.201.4.3,对应的数据文件名为4.rev
zone "." in {
type hint;
file "named.ca";
};
说明:设定顶级域名服务器的查询地址。 cq.chinamobile.com, 对应的数据文件名为
建立文件cq.chinamobile.com.zone
格式为:
$TTL 秒数
@
IN SOA 主机名 EMAIL ( 数据文件串号DEFAULT 值) ;对域名服务器授权 NS 主机名;增加一个主机名
反序IP 地址INPTR 主机名; 增加一个有关目标存储信息的指针, 注意:IP地址反序, 如:21.19.112.102
$ORIGIN域名;建立数据文件的数据源
主机名INAIP 地址;主机名和IP 地址映射
综合以上各项, 本处内容为:
$TTL 180
@ SOA ns0.cq.chinamobile.com. root.ns0.cq.chinamobile.com. (