DNS
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
DNS功能和作用
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
作用:用于实现域名和IP地址的相互转换。
DNS的结构
在DNS中,域名采用分层结构,包括:根域、顶级域、二级域和主机名称。
在域名层次结构中,每一层称作一个域,每个域用一个“.”分开。域又可以进一步分成子域,每个域都有一个域名。
域名空间层次结构图:
根域:就是一个“.”号,由Internet名字注册授权机构管理。全世界共有13台根域服务器。
顶级域:由Internet名字授权机构管理。共有3种类型的顶级域:
二级域:注册到个人、组织或公司的名称。二级域下还可以创建子域。
组织域:采用3个字符的代号,如edu、com、gov等。
地理域:采用2个字符的国家/地区代号,如cn、jp、hk等。
反向域:这是一个特殊域,名称为in-addr.arpa,用于将IP映射到域名。
子域:从纯逻辑的角度来说,所有在根域以下的域都可称为子域,因为它们确实都在根域之下。但这样使用术语的对象太广,也不适于区分上层域和非上层域。通常,管理员称二级域以下的域为子域。从更实际的角度来看,根域、顶级域和二级域为域名树的上层固定组成,而子域是指二级域以下的各个域。
主机名:就是FQDN最左边的部分。使用“hostname”命令可以显示当前主机名。
FQDN(Fully Qualified Domain Name 完全合格域名)
主机名 . 主DNS后缀
例:www.sohu.com
一般域名后缀的表示:
com:商业机构,如商店
edu:教育、学术研究机构,如大学和学院
gov:政府组织
int:国际组织
mil:军事,如陆军、海军组织
net:网络组织,如ISP
org:非盈利性组织,如IEEE标准化组织
aero:限定于航空产业
biz:商业
coop:限定于合作机构或合作服务
info:信息型站点
museum:限定于博物馆
name:个人姓名
pro:限定于专业人士,如会计、律师、医生
域名查询
域名查询从查询方式上来分,可以分为递归查询和迭代查询两种类型。
递归查询(Recursive Query):递归查询是最常见的发送到本地域名服务器的请求。客户机送出查询请求后,DNS服务器必须告诉客户机正确的数据(IP地址)或通知客户机找不到其所需数据。如果DNS服务器内没有所需要的数据,则DNS服务器会代替客户机向其他的DNS服务器查询。客户机只需接触一次DNS服务器系统,就可得到所需的节点地址。
迭代查询(Iterative Query):迭代查询的最好例子是一台本地域名服务器发送请求到根服务器。客户机送出查询请求后,若该DNS服务器中不包含所需数据,它会告诉客户机另外一台DNS服务器的IP地址,使客户机自动转向另外一台DNS服务器查询,依次类推,直到查到数据,否则由最后一台DNS服务器通知客户机查询失败。
域名查询从查询内容上来分,可以分为正向搜索查询和反向搜索查询两种类型。
正向搜索查询:将域名映射成IP地址,通过域名来查找IP。
反向搜索查询:将IP地址映射成域名,通过IP来查找域名。in-addr.arpa特殊域。
DNS配置文件
库文件简介:
区域解析库:
资源记录:rr(resource record)
有类型的概念:用于此记录解析的属性
SOA::Start Of Authority, 起始授权记录,一个区域文件只能有一个;
NS:Name Server
MX::Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99);
A:FQDN --> IP,专用于正向解析库
PTR::IP --> FQDN,专用于反向解析库
AAAA:FQDN --> IPv6,专用于正向解析库
CNAME:Canonical Name,正式名称
解析库文件同步的过程:区域传送(单方向传送)
完全区域传送:axfr 第一次传送时将所有库里面的内容全部传送
增量区域传送: ixfr 传送时,只传送除了上一次传送的(中间的差)
客户端测试工具:
1、host -t RRType NAME [SERVER]
例如:host -t NS ky.com 192.168.0.2
2、nslookup
nslookup>
server IP:
set type={A|SOA|NS|MX}
name
也可以是nslookup domain name或nslookup IP
3、dig
dig -t TYPE name @server
类型可使用:AXFR
例如: dig -t AXFR ky.com @192.168.0.2
测试反解不使用-t PTR,而使用-x选项