一、DNS系统的作用
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名
DNS系统的分布式数据结构
根. | 根域 | ||||||
.com | .net | .org | .edu | .cn | .uk | …… | 顶级域 |
.com.cn | .net.cn | .edu.cn | …… | 二级域 | |||
.zol.com.cn | .sina.com.cn | …… | 子域 | ||||
www | news | …… | 主机名或三级域 |
二、分布式互联网解析库
大型、分布式的互联网DNS解析库
根. 根域名DNS服务器:专门负责根域名
一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
.com(工商 企业)
.net(网络供应商)
.edu(教育机构)
.cn(中国国家域名)
.orq(团体组织)
.gov(政府部门)二级DNS服务器:专门负责二级域名的解
.net.cn
.edu.cn
.com.cn
子域名DNS服务器:专门负责子域名的解析
.sina.com.cn
.pku.edu.cn
主机站点
mail
WWW
域名代理/注册/购买服务商
新网,http://www.xinnet.com
万网,http://www.net.cn
-国互联,http://hulian.top
DNS 正向解析:域名---IP
依据:就近原则
递归
迭代
2.1 服务器找寻IP —域名映射关系
1、优先找缓存
2、看看DNS配置 ---
/etc/reolv.conf
/etc/hosts
ifcfg-ens33 "DNS1"
3、找就近的DNS服务器(外部)
4、迭代和递归过程
①先找就近的根域服务器 .
②根据迭代和递归的方式,然后找顶级域DNS服务器 .cn
③找二级域DNS服务器 .com
④找子域DNS服务器 .sina.com.cn
⑤找主机名DNS服务器 www.sina.com.cn. 12.12.12.12
⑥得到解析结果,返回给客户端
5、将解析记录保存在该缓存中
---获取到域名 ---IP解析内容
www.baidu.com.cn. DNS解析
原则:就近/快
解析方式:
2.2 服务器找寻IP —域名映射关系
1、优先找缓存
2、看看DNS配置 —
① /etc/reolv.conf nameserver 114.114.114.114
② /etc/hosts 优先级最高
③ ifcfg-ens33 “DNS1”
3、找就近的DNS服务器(外部—根(区)域服务器)
4、迭代和递归过程
①先找就近的根域服务器
②根据迭代和递归的方式,然后找顶级域DNS服务器 .cn
③找二级域DNS服务器 .com.cn
④找子域DNS服务器 .sina.com.cn
⑤找主机名DNS服务器 www.sina.com.sn 12.12.12.12
⑥得到解析结果,返回给客户端
五、将解析记录保存在缓存中
===》获取到域名—IP解析内容
以上是DNS解析过程
然后是DNS类型
① 缓存DNS服务器(引导/索引 + 缓存)
三、DNS系统类型
3.1 缓存域名服务器
- 也称为DNS高速缓存服务器
- 通过向其他域名服务器查询获得域名 ->IP地址记录
- 将域名查询结果缓存到本地,提高重复查询时的速度
3.2 主域名服务器
- 特定DNS区域的权威服务器,具有唯一性
- 负责维护该区域内所有域名 —IP地址的映射记录
- 需要自行建立所负责区域的地址数据文件
3.3 从域名服务器
- 也称为辅助域名服务器,是对主域名服务器的热备份
- 其维护的域名 —IP地址记录来源于主域名服务器
- 需要从主域名服务器自动同步区域地址数据库
非权威解析:缓存里拿的
四、BIND软件安装
BIND(BerkeleyInternet Name Daemon)
- BIND是应用最广泛的DNS服务程序
- 官方站点:https://www.isc.org/
相关软件包
- bind-9.9.4-37.el7.x86 64.rpm
- bind-utils-9.9.4-37.el7.x86 64.rpm
- ebind-libs-9.9.4-37.el7.x86 64.rpm
- bind-chroot-9.9.4-37.el7.x86 64.rpm
4.1 域名体系结构
所有的域名必须以点结尾
www.gg.com.cn. www.baidu.com.cn
根域名(.)
级域名:.cn(中国).us .tw .kr(韩国).jp(日本).hk(香港)uk(英国)
二级域名:.com.cn(中国商业组织)edu.cn(教育机构).org.cn(非盈利).net.cn(中国运营商)
三级域名:sina.com.cn nb.com.cn haixi.com.cn
组织域:.com .orq .net.CC
国家域:.cn .tw(台湾).hk(香港) .iq .ir .jp(日本)
反向域:114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。
4.1.1 常用域名
8.8.8.8 是GOOGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用
223.5.5.5 和 223.6.6.6:阿里云DNS
IPV6 2400:3200::1 和 2400:3200:baba::1
江苏省南京市(中国电信)
首选DNS为:218.2.135.1 备用DNS为:61.147.37.1
DNS使用端口:DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS
DNS域名长度限制:每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符
4.1.2 DNS作用
正向解析:根据域名查找对应的IP地址;
反向解析:根据IP地址查找对应的域名
五、DNS域名结构
DNS的域名结构
DNS系统的结构为分布式数据结构
1、根域:位于树状结构最顶层,用"."表示
2、顶级域:一般代表一种类型的组织机构或国家地区
如 .net(网络供应商)、.com(工商企业)、.org(团体组织).edu(教育结构)、.gov(政府部门)、.cn(中国国家域名)
3、二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理
4、子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
5、主机:主机位于域名空间最下层,就是一台具体的计算机
域名与IP地址之间是多对一的关系,一个!P地址不一定只对应一个域名,且一个域名只可以对应一个IP地址
CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络
5.1 DNS服务器类型
缓存域名服务器:只提供域名解析结果的缓存功能
目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。
构建缓存域名服务器时,必须设置根域或指定 其他 DNS 服务器作为解析来源。
主域名服务器:管理和维护所负责解析的域内解析库的服务器
从域名服务器:从主服务器或从服务器"复制"(区域传输)解析库副本
序列号:解析库版本号,主服务器解析库变化时,其序列递增
刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
过期时长:从服务器联系不到主服务器时,多久后停止服务
通知机制:主服务器解析库发生变化时,会主动通知从服务器
IPv4的根名称服务器:全球共13个负责解析根域的DNS服务器,美国10个,英国1,瑞典1,日本1
IPv6的根名称服务器:全球共25个,中国1主3从,美国1主2从
5.2 查询原理过程
5.2.1 正向解析查询过程
①先查本机的缓存记录
②查询hosts文件(优先级最高)
③査询dns域名服务器,交给dns域名服务器处理以上过程成为递归査询:我要一个答案你直接会给我结果
④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步
⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器
⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器
⑦求助二级域服务器,二级域服务器査询发现是我的主机,把査询到的ip地址返回给本地域名服务器
⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端
5.3 DNS映射文件
5.3.1 本地主机有关DNS映射文件(hosts)
hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。
默认情况下,系统首先从hosts文件查找解析记录
hosts 文件的优先级高于DNS服务器,这是由 /etc/nsswitch.conf 文件规定的
hosts 文件只对当前的主机有效
hosts 文件可减少DNS查询过程,从而加快访问速度
Linux中有关DNS的映射文件
vim /etc/hosts
windos系统中有关DNS的映射文件
Windows\System32\drivers\etc\hosts
5.4 构建DNS域名解析器的目的
- bind是开源软件,用于内网划分DNS,不同于外网,内网的DNS是不需要注册
- 是方便内部进行使用和访问的有效手段
5.4.1 环境
centos7 192.168.110.128
windows 192.168.110.140 了实验方便,windows网关设置为centos7 lP
5.4.2 正向解析
安装bind软件包
[root@192 yum.repos.d]# yum -y install bind
bind服务程序介绍
bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置
在这个文件中,定义了域名与!P地址解析规则保存的文件位置以及服务类型等内容
而没有包含具体的域名、IP地址对应关系等信息。
服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域)
其中常用的master和slave指的就是主服务器和从服务器。
5.4.3 配置信息
[root@localhost ~]# rpm -qc bind //#査询bind软件配置文件所在路径
/etc/logrotate.d/named //主配置文件 控制系统全局
/etc/named.rfc1912.zones //区域配置文件 控制具体单个区域
/var/named/named.localhost //区域数据配置文件 区域信息
安装bind软件包
yum install bind -y(必须网络源或光盘挂载)或rpm -ivh 前提挂载光盘(系统盘ISO镜像)
修改主要配置文件
vim /etc/named.conf
options {
listen-on port 53{192.168.110.128:}; 监听53端口,ip地址使用提供服务的本地IP,也可用anv表示所有
#listen-on-v6 port 53{∷1;}; #ipv6行如不使用可以注释掉或者删除
directory "/var/named"; #区域数据文件的默认存放位置
dump- file "/var/named/data/cache dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt"; #状态统计文件的位置
memstatistics-file "/var/named/data/named mem stats.txt"; # 内存统计文件的位置
allow-query{192.168.80.0/24; 172.16.100.0/24;};允许使用本DNS解析服务的网段,也可用any代表所有
}
5.4.4 修改
修改区域配置文件,添加正向区域配置
vim /etc/named.rfc1912.zones
#文件里有模版,可复制粘贴后修改
zone "benet.com."lN {●正向解析"benet.com"区域
type master;#类型为主区域
file "benet.com.zone."; ●指定区域数据文件为benet.com.zone
allow-update { none; };
};
配置正向区域数据文件
cd /var/ named/
cp -p named.localhost benet.com.zone #保留源文件的权限和属主的属性复制
vim /var/named/benet.com.zone
$TTL 1D #有效解析记录的生存周期
@ in SOA benet.com. admin.benet.com. ( #“@"符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃#
3H) ; minimum #无效解析记录的生存周期,
NS benet.com. #记录当前区域的DNS服务器的名称
A 192.168.100.80 #记录主机IP地址
IN MX 10 mail.benet.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.100.80 #记录正向解析www.benet.com对应的IP
mail IN A 192.168.100.81 #MX为邮件交换记录,数字越大优先级低
ftp IN CNAME www #CNAME使用别名,ftp 是www的别名
* IN A 192.168.100.200 #泛域名解析,“*"代表任意主机名
六、小结
先从DNS的作用来了解是根据域名查找对应的IP地址,还是反向解析根据IP地址查找对应的域名,找出其对应的映射关系,几个系统类型能帮助我们更快的认识DNS的拓展性作用,详细学习了正向解析查询的过程和构建DNS域名解析器的目的,使得域名查找更加方便。