标签:Linux学习
DNS: domain name server 协议(C/S 53/UDP 53/TCP);
应用层协议; BIND bekerley internet name domain -> ISC
TCP:面向连接的协议
UDP:无连接的协议
本地名称解析文件:hosts(主机有限时候可用)
/etc/hosts
%WINDOWS%/system32/drivers/etc/hosts
DNS的树状结构(namespace)
Top:
com cn net org int mil gov……
三类: 组织域,国家域(.cn .hk .tw ),反向域
查找顺序:
自顶向下
但是互联网上的任何一台主机都不会去依次查找主机,会先去找dns服务器,这台服务器去替
客户端主机查找。
查询类型:
一台客户端主机仅发送一次请求就获得最终结果的称为递归查询;
服务器主机多次发出查询请求获取最终结果的称为迭代查询
名称服务器:负责解析本域内的名称的主机(ns)
根服务器:异地多活;13组服务器
解析类型:
Name --> IP
Ip <-- Name
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树;
DNS服务器类型
主DNS
维护所负责解析的域内解析库服务器,由管理员维护
辅助DNS
从DNS服务器要从主DNS或者其他从DNS服务器那里复制(区域传送)一份解析库;
序列号,解析库的版本号,前提任何时候主服务器解析库内容发生变化,其序列号递增
刷新时间:从服务器从主服务器请求同步解析库的时间间隔,
重试时间:从服务器请求同步失败时候再试的时间间隔
重试时间小于刷新时间
“通知”机制:主服务器在发生改变之后会主动通知从服务器进行同步
过期时长:从服务器始终联系不到主服务器时候,多久放弃从服务器角色,停止提供服务
区域传送:
全量传送:传送整个解析库
增量传送:传递解析库变化的那份内容
缓存DNS 不负责解析任何域,不注册任何域名,但是它可以帮助本地主机解析域名,做缓存
转发器
DNS:domain
正向:FQDN--> IP
反向:IP-->FQDN
正向反向各个都需要一个解析库负责本地的正向 反向解析
正向区域
反向区域
FQDN: 完全合格域名(full qualified name)
www.magedu.com.(点不能被省略)
一次完整的查询请求经过的流程
Client --> hosts file --> dns service
Local cache --> DNS server(recursion) --> server cache --> iteration(迭代) -->
解析答案:
肯定答案:正确解析了请求的结果
否定答案:请求条目不存在等原因导致无法返回结果。
权威答案:负责该域的服务器直接给出的答案
非权威答案:非负责该域的服务器给出的答案
资源记录:resource record, RR
记录类型:A,AAAA(ipv6),PTR,SOA,NS,CNAME,MX
SOA: start authority;起始授权记录,一个区域解析库有且只能有一个SOA记录,必须为解析库的第一条记录
A:inernet address 作用:FQDN-->IP
AAAA:FQDN -->ipv6
PTR:pointTER IP--> FQDN
NS:name server :专门用于标明当前区域的DNS服务器
CNAME:canonical name: 别名记录
MX:mail exchanger 邮件交换器
资源记录定义的格式
语法:name [TTL] IN Rr_type value
注意:
(1)TTL可以从全局继承
(2)@可以用于引用当前区域的名字
(3)同一个名字可以通过多条记录来定义多个不同的值;此时DNS服务器会轮询方式响应
(4)同一个值有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅仅表示
通过多个不同的名字可以找到同一个主机而已
SOA
Name:当前区域的名字 例如:Douma.com
value:有多部分组成
(1)当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
(2)当前区域管理员的邮箱地址,但是地址中不能使用@符号,一般用.替换,
例如:linuxedu.magedu.com;
(3)(主从服务协调属性的定义以及否定的答案的统一TTL)
Ps:
Magedu.com 86400 IN SOA ns.Douma.com. nsadmin.Douma.com.
2015042201 序列号
2H 刷新时间
10M 重试时间
1W 过期时间
1D 否定答案的TTL值
)
NS
Name : 当前区域的名字
value: 当前区域的某DNS服务器的名字 ps: ns.Douma.com.;
注意:一个区域可以有多个NS记录
ps:
Douma.com IN NS ns1.Douma.com.
Douma.com IN NS ns2.Douma.com.
注意:
(1)相邻的两个资源记录的name相同时,后续可以省略
(2)对NS记录而言,任何一个ns记录后面的FQDN,都应该在后面有一个A记录
MX记录
name:当前区域的名字
value:当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,NS记录可以有多个;但是每个记录的value之前应该有一个数字(0-99),
表示此服务器的优先级;数字越小,优先级越高。
例如:
douma.com. IN MX 10 mx1.Douma.com.
IN MX 20 mx2.Douma.com.
注意:
(1)对MX记录而言,任何一个MX记录后面的FQDN,都应该在后面有一个A记录
A:
name:某主机的FQDN,例如:www.Douma.com.
value:主机名对应主机的IP地址
例如:
www.Douma.com. IN A 1.1.1.1
www.Douma.com. IN A 1.1.1.2
mx1.douma.com. IN A 1.1.1.3
mx2.douma.com. IN A 1.1.1.3
注意:
*.douma.com. IN A 1.1.1.4
douma.com. IN A 1.1.1.4
避免用户写错名称时候给错误答案,可以通过泛域名解析至特定地址;
AAAA:
name:FQDN
value:IPV6
PTR:
name:IP 有特定格式,把IP地址反过来写,1.2.3.4;要写成4.3.2.1;
有特定后缀: in-addr.arpa. 完整写法为:4.3.2.1.in-addr.arpa.
value: FQDN
例如:
4.3.2.1.in-addr.arpa. IN PTR www.Douma.com.
若1.2.3为网络地址,则可以简写为
4 IN PTR www.Douma.com.
注意:网络地址以及后缀可以省略,但是主机地址仍然需要反着写;
CNAME
name:别名的FQDN
value:正式名字的FQDN
例如
web.Douma.com. IN CNAME www.Douma.com.
BIND:
RR类型: A PTR NS MX CNAME SOA AAAA
子域授权:每个域的名称服务器都是由其上级名称服务器在解析库进行授权
类似根域授权tld:
.com. IN NS ns1.com.
.com. IN NS ns2.com.
ns1.com. IN A 2.2.2.1
ns2.com. IN A 2.2.2.2
Douma.com.在.com的名称服务器上,解析库中添加资源记录
Douma.com. IN NS ns1.Douma.com.
Douma.com IN NS ns2.Douma.com.
Douma.com. IN NS ns3.Douma.com.
ns1.Douma.com. IN A 3.3.3.1
ns2.Douma.com. IN A 3.3.3.2
ns3.Douma.com. IN A 3.3.3.3
Glue record :粘合记录
域名注册:
代理商;万网,新网;godaddy
注册完成之后,想自己用专用服务器来解析?
(1)管理后台,把NS记录指向的服务器名称,和A记录指向的服务器地址;
BIND安装配置:
dns服务,程序包名bind ,程序名named
程序包:
bind-libs
bind-utils(提供了4个测试工具dig nslookup nsupdate host)
bind
bind-chroot /var/named/chroot/
BIND
服务脚本:/etc/rc.d/init.d/named
主配置文件: /etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
解析库文件:/etc/named/ZONE_NAME
注意:
(1)一台物理服务器可以同时为多个区域提供解析;
(2)必须要有根区域文件;named.ca
(3)应该有两个甚至更多实现localhost和本地回环地址的解析库;
named.localhost / named.loopback
Rndc: remote name domain controller ,默认与bind安装在同一主机,
且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能;953/tcp
BIND的安装:
yum install -y bind
rndc
rndc --> rndc (953/tcp)
rndc COMMAND
reload :重新载入主配置文件和区域解析库文件
reload zone 重载区域解析库文件
retransfer zone 手动启动区域传送过程,而不管序列是否增加
notify zone 重新对区域传送发通知
reconfig 重载主配置文件
querylog 开启或者关闭查询日志(会直接写入磁盘 磁盘压力大)
status 查看状态
trace [num]递增调试等级(直接调到多少等级)
标签:Linux学习
原文地址:http://blog.51cto.com/11010461/2105534