DNS服务基础 、 特殊解析 、 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小时

评论