DNS:Domain Name System
主要解决域名和IP转换,而早期主要是手动配置IP和域名的对应关系--hosts
相关概念:
名称空间:他制定用于组织名称的域的层次结构
资源记录Resouce Record:它将DNS域名映射到特定的类型的资源信息,供名称空间中注册或解析名称使用。在linux系统中,叫做“名称解析库”,在/var/named每一行是一个资源记录
DNS服务器:它存储和应答资源记录的名称查询
DNS客户端:解析程序,它查询从服务器返回的搜索将名称解析为查询中指定的记录类型。
DNS系统的作用:
正向解析:根据主机名称查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名
DNS系统的分布式数据结构:
根就是 ‘.’:一个域名访问他的根服务器可以这样:www.magedu.com.一般来说浏览器会自动补全这个.
全球一共有13台根服务器:如图
解析过程:www.magedu.com.
倒置,先查找本地DNS记录,没有就去找根
.----.com----.magedu----www
递归:只关注结果
迭代:也关注过程
DNS服务器类型:
住域名服务器:
特定DNS区域的官方服务器,具有惟一性
负责维护该区域内所有的域名到IP的映射记录
对区域的所有更新都通过此服务器进行
从域名服务器
也叫做辅助域名服务器
其维护的域名到IP的记录来源于住域名服务器
只从同一个区域的主服务器或其他从服务器同步区域数据文件
缓存域名服务器
也叫 唯高速缓存服务器
通过向其他域名服务器查询来获得域名到Ip的记录
将查询结果缓存到本地,提高重复查询时的速度
主从协调过程:
起始授权记录:
区域数据文件有版本号(序列号):serial
刷新时间(检查周期):refresh
重试事件(重试周期):retry
过期时间(失效时长):expire
否定应答TTL值(缓存时间)
从服务区在间隔达到refresh指定的时长后发起同步请求至主服务器;主服务器响应serial,从服务器与本地的serial进行比较,如果主服务器的serial大于本地,以为主服务器的区域数据文件更新了,请求同步。
资源记录:
SOA:Start Of Authority,其实授权记录,一个区域文件有且只能有一个SOA记录
NS:Name Server,名称服务器
magedu.com IN NS dns1.magedu.com. //注意最后得有.
@ IN NS dns1….. //name一样可以省略
MX:Mail eXchanger,邮件交换器
@ IN MX 10 mx1.magedu.com. //中间数字是优先级
A:Address:FQDN—>IPv4
www.magedu.com. IN A 1.1.1.1
//同一条记录出现不同IP可以实现简单的负载均衡
AAAA:Address:FQDN—>IPv6
PTR:Pointer,指针:IP—>FQDN
反向解析:
name:IP地址的逆向格式,并附加 in-addr.arpa.后缀
value:FQDN
1.1.168.192.in-addr.arpa IN PTR www.magedu.com.
CNAME:Cononical Name,正式名称,别名
web.magedu.com. IN CNAME www.magedu.com //不用额外的A记录了
具体实现:BIND,其进程叫named
yum install bind 安装
在sample里面有样例
/usr/sbin/named:主要执行程序
/etc/init.d/named:服务脚本
默认监听端口53
/etc/named.conf:主配置文件
可以精简成这样
listen-on 监听地址和端口:分为TCP和UDP,UDP是查询用的,TCP是主从传输用的
directory:工作目录
allow-query:允许什么机器过来坐解析,可以改成any
recursion:是否开启递归
logging是日志记录,所有的路径都是以directory为基路径
severity实现动态打印,每个访问都回大×××来一个
zone “.” IN 根域:
type类型就是hint;
file是根域的解析文件
/var/named是其主工作目录,用于保存DNS解析记录的数据文件
没有/etc/init.d/named,进行不下去了,查询资料后更正
转载于:https://blog.51cto.com/korekara/1700713