DNS & BIND(1)php
what-DNS& BINDweb
DNS: 数据库
Domain Name Service缓存
已于C/S架构的协议安全
53/udp: 域名解析服务器
53/tcp : 区域传输 网络
BIND: 架构
Bekerley Internet Name Domaintcp
BIND对DNS协议的开源实现,包含对域名的查询和响应所需的全部软件分布式
BIND是互联网上最普遍使用的一种DNS服务器
传输方式
1)区域传输 的时候使用TCP协议 :
主DNS服务器: 从本身本机的数据文件中读取该区的DNS数据信息。
辅助服务器: 从主 DNS 服务器获取信息,也就是区域传输( 通常三小时一次 )
区域传送将使用TCP而不是UDP,由于数据同步传送的数据量比一个请求和应答的数据量要多得多。
*)UDP报文的最大长度为512字节,而TCP则容许报文长度超过512字节。
当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。
2)域名解析时使用UDP协议:
客户端向DNS服务器查询域名,通常返回的内容都不超过512字节,用UDP传输便可。
由于不用通过TCP三次握手,这样DNS服务器负载更低,响应更快。
虽然从理论上说,客户端也能够指定向DNS服务器查询的时候使用TCP,但事实上,不少DNS服务器进行配置的时候,仅支持UDP查询包。
解析的发展
主机数量很少: 用本身的hosts文件
主机数量千余台:
IANA 推出ftp服务器(本质仍是hosts文件)
任何主机访问都须要申请ftp服务器
每一个人更新本身的hosts文件(每隔一个小时更新一次)
主机数量上万台:
把主机和IP hash化,保存在内存中
* hash : 特征码,hash barket(桶)
DNS服务器
主机数量百万台: 分层的DNS分布式服务器
DNS服务器每层中都存储了什么
域名(最多127个域)
顶级域名(一级域名)Top Level Domain:TLD
三类:
组织类(com,edu,mil,gov,net,org,int-国际域)
国家类(.cn, .iq-伊拉克, .hk , .tw)
反向域
任何一个组织,公司拿到的都是二级域名
注意的问题:
1)DNS数据库系统和文件系统的区别
命名规则
dns自底向上命名(www.baidu.com.)
文件系统,自上而下,从/开始
2)DNS查询方式:自顶向下
递归查询:客户端 请求一次就得到最终结果
迭代查询:服务器 请求屡次 才能得到最终结果
服务器在查询时,有可能获得的是参考答案或最终答案
离用户最近的,本地DNS服务器为当地运营商,电信联通之流
使用该种查询方式的DNS服务器有不少种
3)DNS服务器类型:
主DNS服务器(master)
辅助DNS 服务器(slave)
缓存服务器
转发器
主DNS服务器:维护所负责域内解析库服务器
解析库文件由管理员维护
从DNS服务器:区域传送(TCP)
解析库文件 是从主DNS服务器或其余从 DNS服务器那“复制”来的
主从服务器协调属性(SOA):
序列号:解析库的版本号
刷新时间: 从服务器同主服务器请求同步解析库的时间间隔
重试时长:从服务器同主服务器请求同步解析库失败时,再次尝试的时间间
过时时长:从服务器始终联系不到主服务器,多久后放弃从服务器角色,中止提供服务。居然不接管。。。。无语。。。。。
通知机制:主服务器主动通知从服务器
全量传送:传送整个解析库
增量传送:传送解析库变化的部分内容
缓存DNS服务器(递归)
不解析任何域,不注册任何域名
4)解析类型:
正向解析:FQDN --> IP
反向解析 :IP --> FQDN
FQDN : Full Qualified Domain Name 彻底合格域名
www.baidu.com. .不能省略
www.baidu.com
方法:根据网段,子网
用途:反向解析是邮件服务器检验对方是否是垃圾邮件服务器重要手段
例子:
-n numeric
不指定 -n ,须要将IP反向解析成地址
route -n
注意: 正反解析
是两个不一样的名称空间(namespace)
是两棵不一样的解析树
各须要一个解析库,来分别负责本地域名的正向反向解析,即
正向区域
反向区域
5)专业名词
名称服务器:域内负责解析本域内的名称的主机
根服务器:13组服务器(戒备森严,安全等级高)
解析答案
确定答案
否认答案:请求的条目不存在等缘由,致使没法返回结果.
权威答案:负责这个域的服务器给的答案
非权威答案
6)资源记录:Resource Record ,RR
记录类型
SOA
Start of Authority,起始受权记录
一个区域解析库有且仅能有一个SOA记录
并且必须位于解析库第一条
A
internet Address: FQDN -->IP
AAAA
internet Address: FQDN -->IPv6
PTR
pointer: IP-->FQDN
NS
name server,专门用于标明当前区域的Dns服务器
CNAME
Canonical Name,别名记录
MX
Mail eXchanger,邮件交换器
资源记录定义的格式:
语法: name [TTL] IN rr_type value
注意:
1.TTL能够从全局继承
2.@用于引用当前区域的名字
3.同一个名字能够经过多条记录定义多个不一样的值(rr);
4.同一个值也可有多个不一样的名字
5.经过多个不一样的名字能够找到同一个主机
资源记录详解
SOA:(Start of Authority)
name:
当前区域的名字
value:
当前区域内的主DNS服务器FDQN,也可使用当前区域的名字
当前区域中管理员邮箱地址;但地址中不能使用@,用点替换
主从服务器协调属性的定义以及否认的答案统一的TTL
例如
lalala.com. 86400 IN SOA ns.lalala.com. nsadmin.lalala.com. (
2015042201;序列号
2H ;刷新时间
10M ;重试时间
1W ;过时时间
1D ;否认答案的缓存时间(TTL值)
)
H(hour),D(day),M(min),W(week)
NS:(Name Server):是域名服务器记录,用来指定该域名由哪一个DNS服务器来进行解析
name
value:当前区域的某DNS服务器的名字,例如ns.lalala.com
一个区域能够有多个NS服务器
例如:
FQDN
lalala.com. IN NS ns1.lalala.com.
lalala.com. IN NS ns2.lalala.com.
注意
两个相邻的资源记录(rr)的name相同时,后续的能够省略;
对NS记录而言,任何一个NS记录后面的服务器名字(FQDN),都应该在后续有一个A记录
MX:
name:当前区域名字
value:当前区域某邮件服务器(smtp服务器)的主机名
一个区域内,MX记录可有多个;
优先级:但每一个记录的value以前应该有一个数字(0~99)
数字越小优先级越高
例如
lalala.com. IN MX 10 ns1.lalala.com.
IN MX 20 ns2.lalala.com.
注意
对于MX记录而言,任何一个MX记录服务器后面的名字,都应该在后续有一个A记录
A记录:
name: 某主机的FQDN,例如www.lalala.com
value: 主机名对应主机的IP地址
例如
同一个名字能够定义多条记录(值) rr
www.lalala.com. IN A 1.1.1.1
www.lalala.com. IN A 1.1.1.2
经过不一样名字找到一个主机
mx1.lalala.com. IN A 1.1.1.3
mx2.lalala.com. IN A 1.1.1.3
注意
*.lalala.com. IN A 1.1.1.4
lalala.com. IN A 1.1.1.4
避免用户写错名称时,可经过泛域名解析进行解析至某特定地址
AAAA记录:
name: 某主机的FQDN
value: 主机名对应主机的IPv6地址
PTR:
name: 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.lalala.com
简写:
若是网络地址是1.2.0.0
4 IN PTR www.lalala.com.
若是网络地址是1.2.3.0
4.3 IN PTR www.lalala.com.
注意:
网络地址及后缀可省略,主机地址依然须要反着写
CNAME:
name: 别名的FQDN
value: 正式名字的FQDN
例如:
正式名字 别名 web.lalala.com. IN CNAME www.lalala.com.