目录
10、切换到区域数据文件所在目录,将模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名
2、切换到区域数据文件所在目录,将反向模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名
6、此时进入/var/named/slaves/目录下可以看到出现了刚才设置的文件(加密的文件)
一、DNS
1、DNS简介
DNS(Domain Name Systern) 域名系统,应用层协议,是互联网的一项服务,是将域名转换成网络可以识别的IP地址,再通过IP地址访问主机。这种由文字组成的名称,显而易见更容易记忆
它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构服务器端:53/udp, 53/tcp。实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为zone(区域〉。根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。
简单来说DNS服务是ip地址与域名一一对应的解析服务。
2、DNS系统的分布式数据结构
2.1 域名结构解析(简版)
- 根域:一般用”.”表示,可省略不写
- 一级(顶级)DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
- 二级DNS服务器:专门负责二级域名的解析
- 子域名(三级域名)DNS服务器:专门负责子域名的解析
例如:http://www .baidu.com. cn. /
2.2 域名结构解析(详细)
大型、分布式的互联网DNS解析库
(1)
根.根域名
DNS服务器:专门负责根域名;处于域名结构的最顶端,一般用一个“ . ” 表示;
(2)
顶级域(一级)
DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)
- .com(工商企业)
- .net(网络供应商)
- .org(团体组织)
- .edu(教育机构)
- .gov(政府部门)
- .cn(中国国家域名)
- . jp (日本)
- . hk (香港)
- .uk (英国)
(3)
二级域
:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,顶级域名下面设置的是二级域名,如:
- .com.cn
- .net.cn
- .edu.cn
(4)
子域
:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名;
(5)
主机
:主机位于域名结构的最下层,就是一台具体的计算机,如:www、mail都是具体的计算机名字,可以用www.baidu.com.cn.来表示,这种方式称为FQDN(完全合格域名),也是这台主机在域名中的全名
3、DNS系统的作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的域名
- DNS系统的分布式数据结构
4、DNS完整过程
当用户输入www.baidu.com 去访问网页
第一步
:先看你本机的hosts文件,如果有直接访问,没有会先去找缓存服务器(电信运营商)
第二步
:缓存服务器,先看缓存,缓存有,直接反馈结果给用户,缓存没有,直接去找根
第三步
:根只知道自己下一级的服务位置,不会反馈给你直接结果,会透露有一个信息有可能顶级域知道,让你去找顶级域(一级域)试试看。
第四步
:缓存服务器会再去找顶级域(一级域)服务器
第五步
:顶级也不知道,不会反馈给你直接结果,会透露有一个信息,有可能二级域知道,让你去找二级域试试看。
第六步
:缓存服务器收到这个消息,会再去找二级域,二级域知道会反馈结果给缓存服务器
第七步
:缓存服务器收到结果会直接交给用户
5、查询方式
- 迭代:不给你结果,只给你相关信息 (需要自己动手)
- 递归:直接反馈给你结果 (不需要自己动手)
6、打开一个网页中间过程
输入www.baidu.com 打开网页中间经历了那些过程?
- 三次握手
- 四次挥手
- dns解析过程
- http
- 域名解析(看一下浏览器要和哪个服务器的哪个接口建立连接)
- 浏览器与域名地址建立TCP连接,三次握手
- http访问
- 断开TCP连接,四次挥手
7、DNS系统类型
7.1 缓存域名服务器
- 也称为DNS高速缓存服务器
- 通过向其他域名服务器查询获得域名–>IP地址记录
- 将域名查询结果缓存到本地,提高重复查询时的速度
7.2 主域名服务器
- 特定DNS区域的权威服务器,具有唯一性
- 负责维护该区域内所有域名–>IP地址的映射记录
- 需要自行建立所负责区域的地址数据文件
7.3 从域名服务器
- 也称为辅助域名服务器,是对主域名服务器的热备份
- 其维护的域名–>IP地址记录来源于主域名服务器
- 需要从主域名服务器自动同步区域地址数据库
二、DNS软件bind
DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns
- bind:服务器
- bind-libs:相关库
- bind-utils: 客户端
- bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/
三、本地解析配置文件——hosts
文件位置
- Linux hosts文件位置:/etc/hosts
- windows hosts文件位置 : c/windows/system32/drivers/etc/hosts
编辑host文件
四、正向解析
1、用命令去仓库里看有哪些bind没有装
[root@localhost ~]# yum list bind*
2、安装bind相关软件包
可以查看bind的配置文件列表
扩:
- 主配置文件 : /etc/named.conf
- 域名区域 : /etc/named.rfc1912.zones (想解析的域名卸载这个文件中)
- 数据库文件 text 记录 ip地址和域名对应关系 /var/named/某某文件(你自定义的)
- 为什么大家都知道根,写进了配置文件 /var/named/named.ca 这个文件存了地址
- bind它的服务名是named
3、关闭防火墙和
临时关闭
selinux防火墙,开启服务
4、查看53端口是否开启
5、去修改网卡的dns指向自己搭建的dns服务器 ip地址
6、重启服务
7、修改主配置文件
8、重新加载服务
9、 编辑域名区域
10、切换到区域数据文件所在目录,将模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名
11、编辑数据库文件,解析记录对应关系
12、测试
五、反向解析
1、修改区域配置文件
2、切换到区域数据文件所在目录,将反向模板文件复制保留权限,并命名为刚才在区域配置文件中设置的文件名
3、编辑数据库文件,解析记录对应关系
4、重新加载服务
5、测试
六、主从复制
实验环境:
主服务器地址:192.168.157.50
从服务器地址:192.168.157.10
1、关闭防火墙和selinux防火墙
2、 安装bind相关软件包
3、修改主配置文件
4、编辑域名区域
5、开启bind服务
6、此时进入/var/named/slaves/目录下可以看到出现了刚才设置的文件(加密的文件)
7、在主服务器中设置网卡信息,将从服务器地址加入
8、重启服务,并查看是否生效
9、在从服务器中也要编写网卡信息,将主服务器的ip加入
10、测试,将主服务器中的服务关闭,依旧能解析