DNS服务基础 、 特殊解析 、 DNS子域授权 、 DNS主从架构
DNS服务器的分类
. 根域名DNS服务器 1级:专门维护1级域名 2级:专门维护2级域名 3级:专门维护3级域名
域名体系
根. 根域名DNS服务器 - 1级域名: .com .net .edu .cn .org - 2级域名: .net.cn .com.cn .edu.cn - 3级域名: .sina.com.cn .tedu.com.cn - tedu.com.cn tts7 tts6 mail www
FQDN 完全合格主机名
BIND域名服务
BIND服务器端程序 主要执行程序:/usr/sbin/named 系统服务:named 默认端口:DNS协议(TCP/UDP)53 运行时的虚拟根环境:/var/named/chroot
主配置文件
/etc/named.conf 设置DNS服务器负责解析的域名
地址库文件
/var/named/ 完整的主机名与IP地址的对应关系
架设DNS服务器 虚拟机A
- 1、虚拟机A装包 bind-chroot 虚拟根支持,牢笼政策 bind 域名服务包 yum -y install bind-chroot bind - 2、修改主配置文件 先备份 cp /etc/named.conf named.bak 修改成这个样子 其余全部干掉
options { directory "/var/named"; }; zone "tedu.cn" IN { type master; file "tedu.cn.zone"; }; zone "负责以此结尾的域名" IN { type 主dns; file "地址库文件"; }; 主dns master
- 3、建立地址库文件 1、必须保证named用户对于地址库文件有读取权限 2、域名必须以点结束,如果不以点作为结尾,则默认补全本地址库文件负责的域名
/var/named/tedu.cn.zone 例子:/var/named/named.localhost cp /var/named/named.localhost /var/named/tedu.cn.zone 权限:所属组改成named ls -l /var/named/tedu.cn.zone cp -p复制时继承 copy对象的权限关系 cp -p /var/named/named.localhost /var/named/tedu.cn.zone
tedu.cn. NS a.tedu.cn. a.tedu.cn. A 192.168.4.7 www.tedu.cn. A 1.1.1.1 ftp.tedu.cn. A 2.2.2.2 或者 tedu.cn. NS a a A 192.168.4.7 www A 1.1.1.1 ftp A 2.2.2.2 NS记录 申明 DNS服务器是a.tedu.cn. A记录申明a.tedu.cn.的IP是 192.168.4.7 AAAA ::1 ipv6 干掉
虚拟机B
- 1、指定DNS服务器的位置(A机器也指定一次) echo nameserver 192.168.4.7 > /etc/resolv.conf 专门查看DNS解析 nslookup www.tedu.cn ## 搭建一个DNS1的解析服务器
特殊解析
nslookup
DNS的轮询
基于DNS的站点负载均衡--轮询 一个域名--》多个IP地址 每个IP提供镜像服务内容 tedu.cn. NS a a A 192.168.4.7 www A 1.1.1.1 www A 2.2.2.2
DNS的泛域名解析
tedu.cn. NS a a A 192.168.4.7 * A 1.1.1.1
解析记录的别名
tedu.cn. NS a a A 192.168.4.7 * A 1.1.1.1 www A 2.2.2.2 tts CNAME www tts 解析结果 和www 是一样的
DNS服务器资源解析记录的类型有哪些
NS解析记录:声明DNS服务器 A解析记录:正向解析记录 CNAME:解析记录的别名
DNS子域授权
虚拟主机A 是一台DNS服务器 虚拟主机B 是一台DNS服务器 让A知道B也是一台DNS服务器,以及B负责的域名是什么 父域:tedu.cn 子域:bj.tedu.cn
子域授权
递归查询 迭代查询 - 虚拟机B 构建DNS服务器 负责解析 bj.tedu.cn yum -y install bind bind-chroot cp /etc/named.conf /etc/named.bak vim /etc/named.conf zone "bj.tedu.cn" in { type master; file bj.tedu.cn.zone; } cp -p /var/named/named.localhost /var/named/bj.tedu.cn.zone bj.tedu.cn. NS b b A 192.168.4.207 www A 3.3.3.3 * A 4.4.4.4 systemctl restart named - 查询DNS nslookup www.bj.tedu.cn 192.168.4.207 如果不指定IP,他就会去询问 /etc/resolv.conf (nameserver 192.168.4.7),即询问A 但A不负责 www.bj.tedu.cn - 虚拟机A上配置子域授权 让虚拟机A知道B的存在,并且知道虚拟机B负责的域名 【修改A地址库文件】 vim /var/named/tedu.cn.zone
tedu.cn. NS a bj.tedu.cn. NS b a A 192.168.4.7 b A 192.168.4.207 www A 1.1.1.1 ftp A 2.2.2.2 tts CNAME ftp * A 3.3.3.3
递归解析
客户端将解析请求,给首选DNS服务器,首选DNS服务器与其它DNS服务器交互,最终将解析结果带回来的过程
迭代解析
客户端将解析请求,给首选DNS服务器,首选DNS服务器告知下一个DNS地址
虚拟机A:关闭递归解析 vim /etc/named.conf
options { directory "/var/named"; recursion no; # 是否启用递归解析 默认yes }
总结: 客户端将解析请求给首选DNS服务器,首选DNS服务器开始递归解析,然后在于根域名服务器依次进行迭代查询,最终将解析结果带回来
DNS主从架构
DNS主从架构
作用:高可用、可靠性 能在主挂掉了。从可以进行解析域名;并且从服务器备份主服务器数据(主要备份地址库文件)
zone "360.com" IN { type master; file 360.com.zone; }
360.com. NS a a A 192.168.4.7 www A 192.168.4.7
虚拟机A配置主从
1、授权从服务器IP地址 vim /etc/named.conf
添加一句话 man named.conf options { directory "/var/named"; allow-transfer { 192.168.4.207; }; # 指定从服务器B可以传输数据 }
2、申明从服务器 vim /var/named/360.com.zone
360.com. NS a 360.com. NS b a A 192.168.4.7 b A 192.168.4.207 www A 4.4.4.4
虚拟机B配置
yum -y install bind bind-chroot
options { directory "/var/named"; }; zone "360.com" IN { type slave; file "/var/named/slaves/360.com.slave"; masters { 192.168.4.7; }; }; zone "360.com" IN { type slave; file "从主服务器要来的配置文件存放到哪里,保证named有写入权限"; };
虚拟机C
主DNS echo 'nameserver 192.168.4.7' > /etc/resolv.conf 从DNS(备用DNS) echo 'nameserver 192.168.4.207' >> /etc/resolv.conf
主从DNS的数据同步
比如 主A解析发生变化
$TTL 1D @ IN SOA @ rname.invalid. ( 2020031601 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum 360.com. NS a 360.com. NS b a A 192.168.4.7 b A 192.168.4.207 www A 5.5.5.5 0 ; serial # 数据版本号 由10个数字组成,越大版本越新 1D ; refresh # 默认每隔一天数据同步一次 1H ; retry # 重试频率 1W ; expire # 失效时间 3H ) ; minimum # 失败的记录。记忆3小时
点赞
评论