本章内容
• 名字解析
• DNS服务
• 实现主从服务器
• 实现子域
• 实现view
• 编译安装
• 压力测试
• DNS排错
DNS服务
• DNS:Domain Name Service 应用层协议 C/S,53/udp, 53/tcp
• BIND :Bekerley Internat Name Domain ISC (www.isc.org )
• 本地名称解析配置文件:hosts /etc/hosts %WINDIR%/system32/drivers/etc/hosts
122.10.117.2 www.magedu.com
93.46.8.89 www.google.com
DNS域名
• 根域
• 一级域名:Top Level Domain: tld com, edu, mil, gov, net, org, int,arpa 三类:组织域、国家域(.cn, .jp)地区域(.hk, .tw)、反向域
• 二级域名
• 三级域名
• 最多127级域名
• ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分 配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系 统的管理、以及根服务器系统的管理
DNS解析
• DNS查询类型: 递归查询
迭代查询
• 名称服务器:域内负责解析本域内的名称的主机 根服务器:13组服务器,1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美 国,欧洲2个,位于英国和瑞典,亚洲1个位于日本
• 解析类型: FQDN --> IP
IP --> FQDN
• 注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
DNS服务器类型
• DNS服务器的类型: 主DNS服务器 从DNS服务器 缓存DNS服务器(转发器)
• 主DNS服务器:管理和维护所负责解析的域内解析库的服务器
• 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本 序列号:
解析库版本号,主服务器解析库变化时,其序列递增 刷新时间间隔:
从服务器从主服务器请求同步解析的时间间隔 重试时间间隔:
从服务器请求同步失败时,再次尝试时间间隔 过期时长:
从服务器联系不到主服务器时,多久后停止服务
• “通知”机制:主服务器解析库发生变化时,会主动通知从服务器
区域传输
• 区域传输: 完全传输:传送整个解析库 增量传输:传递解析库变化的那部分内容
• Domain: Fully Qualified Domain Name
正向:FQDN --> IP
反向: IP --> FQDN
• 负责本地域名的正向和反向解析库
正向区域
反向区域
DNS解析
• 一次完整的查询请求经过的流程: Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-- >二级域名DNS…
• 解析答案: 肯定答案:
否定答案:请求的条目不存在等原因导致无法返回结果
权威答案:
非权威答案:
资源记录
• 区域解析库:由众多RR组成:
资源记录:Resource Record, RR
记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
• SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解 析库的第一条记录
• A:internet Address,作用,FQDN --> IP
• AAAA: 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) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
• (4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表 示通过多个不同的名字可以找到同一个主机
SOA记录
• name: 当前区域的名字,例如“magedu.com.”
• value: 有多部分组成
• (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
• (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如 linuxedu.magedu.com
• (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
• 例如: magedu.com. 86400 IN SOA ns.magedu.com.
nsadmin.magedu.com. (
2015042201 ;序列号
2H ;刷新时间
10M ;重试时间
1W ;过期时间
1D ;否定答案的TTL值
NS记录
• name: 当前区域的名字
• value: 当前区域的某DNS服务器的名字,例如ns.magedu.com.
• 注意:一个区域可以有多个NS记录
例如: magedu.com. IN NS ns1.magedu.com.
magedu.com. IN NS ns2.magedu.com.
• 注意: (1) 相邻的两个资源记录的name相同时,后续的可省略 (2) 对NS记录而言,任何一个ns 记录后面的服务器名字,都应该在后续有一个A记录
MX记录
• name: 当前区域的名字
• value: 当前区域的某邮件服务器(smtp服务器)的主机名
• 一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的 优先级;数字越小优先级越高
• 例如: magedu.com.
IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
• 注意: (1) 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录
A记录
• name: 某主机的FQDN,例如www.magedu.com.
• value: 主机名对应主机的IP地址
• 例如: www.magedu.com. IN A 1.1.1.1
www.magedu.com. IN A 2.2.2.2
mx1.magedu.com. IN A 3.3.3.3
mx2.magedu.com. IN A 4.4.4.4
$GENERATE 1-254 HOST$ A 1.2.3.
$ *.magedu.com. IN A 5.5.5.5 magedu.com. IN A 6.6.6.6
• 避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址
其它记录
• AAAA: name: FQDN value: IPv6
• PTR: name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:inaddr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa. value: FQDN • 例如: 4.3.2.1.in-addr.arpa. IN PTR www.magedu.com. 如1.2.3为网络地址,可简写成: 4 IN PTR www.magedu.com.
• 注意:网络地址及后缀可省略;主机地址依然需要反着写
别名记录
• CNAME: name: 别名的FQDN value: 真正名字的FQDN
• 例如: www.magedu.com. IN CNAME websrv.magedu.com.