DNS名词
- Bind(Berkeley Internet Name Domain):搭建DNS服务的软件
- DNS(Domain Name System):域名系统
- Hostname:主机名
- FQDN(Fully Qualified Domain Name):完整主机名称(主机名+域名),可以准确表示出主机的位置
- NameServer(NS):DNS服务器
- A(Adress):位址
- Zone:每个需要解析的Domain(eg. www.baidu.com)
Hostname和Domain Name

<src=”https://github.com/jimmysc/jimmysc.github.io/raw/master/images/dns/HostnameAndDomainName.png” width = “300” height = “200” alt=”图片名称” align=center />
DNS出现
- 不同主机之间的数据包传送,需要知道双方的IP地址
- IP地址的格式:32bits的IPV4和128bits的IPV6,实在是无法记忆
- /ets/hosts局限性:IP的变更或域名的增加无法自动将所有Client端的hosts全部更新
DNS结构
- 树状目录架构(阶层架构),将主机名称的管理分配在不同层级的DNS服务器中,采购分层管理,所以每部DNS服务器存储的内容不会太多,修改IP也相对容易

- 顶层 root(.):跟域
- 第2层特殊领域:com(公司、企业);gov(政府);org(组织,机构);net(网络,通讯);edu(教育);mil(军事);cn(中国);tw(台湾);jp(日本)
DNS查询
协议:优先UDP协议,异常时TCP协议, port 53

DNS追踪(Dig trace)
DNS解析追踪
eg. dig +trace www.baidu.com

DNS架构:master/slave架构
- 实现容灾方案,不会因为DNS挂掉后,导致无法找到目标主机
- master/salve都是同事提供查询服务,没有查询优先权的设定
- master修改资料库后,并加大资料库序号,重启DNS服务,会主动告知slave更新
- salve也可以主动check资料库序号,来决定是否更新
DNS根服务器
- 总共13个DNS根服务器,其中唯一的一台主根服务器和9个副根服务器均设在美国(Inter-NIC,负责美国及其他地区),另外3个副根服务器分别设在欧洲的瑞典、荷兰(RIPE-NIC,负责欧洲地区)和亚洲的日本(APNIC ,负责亚太地区)
- 13个DNS根服务器指的是逻辑上,并非物理上的服务器个数
- 所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理
- 所有root DNS坐标: root坐标网址
DNS攻击
1.DNS劫持
- 在特定的网络(该网络可能是有预谋的网络环境)范围内劫持域名解析的请求,返回错误的IP或不返回IP
2.DNS欺骗
- 通过串改DNS服务器中域名和IP映射关系,返回假的目标IP地址,导致用户实际访问的是攻击者的IP地址
3.DNS缓存投毒
- 通过污染DNS Cache,用虚假的IP地址信息替换Cache中主机记录的真实IP地址信息来制造破坏
什么情况下导致域名对应的IP查找不到?
- 目标DNS服务器挂掉
- 目标DNS服务器中的A记录不存在
如何让自己的主机名称对应IP、且其他电脑可以查询到?
- 上层DNS授权查询权,让你自己设定DNS服务器
- 请上层DNS服务器帮你设定主机和IP对应
为什么建立中国自己的根DNS刻不容缓?
- 2013年7月6日,上海联通DNS设备发生故障,导致2G、3G的手机用户无法上网
- 2013年8月25日,.CN根域名服务器全线故障
- 2014年1月21日,国内通用顶级根域名服务器解析出现异常,部分国内用户无法访问.com等域名网站。据初步统计,全国有2/3的网站访问受到影响。故障发生后,中国用户在访问时,都会被跳转到一个IP地址(65.49.2.178),而这个地址指向的是位于美国北卡罗来纳州卡里镇的一家公司