Day-4 DNS

DNS(Domain Name Server,域名服务系统)

DNS服务实现IP地址和域名之间的解析服务,属于应用层协议,C/S架构。主要软件名bind 进程名named,DNS既可以基于TCP协议也可以基于UDP协议,端口号为53端口。

区域只是逻辑概念,区域的负责做域名解析的服务器为名称/DNS服务器NS。根区域,全球13台DNS根域名称服务器
查询方式:
	递归查询:一次请求,即获得最终答案
	迭代查询:需要通过层层迭代,多次查询才能获得最终答案

DNS名称服务的类型
DNS权威服务器:负责某个特定的区域 
DNS缓存服务器 :不负责任何区域,但是可以帮助客户机实现递归查询(找根),一般只负责运营商某个地区的DNS客户机的解析
DNS转发器 :不负责任何区域,也不负责递归,只能做查询转发
	注意:若客户机直接指向DNS权威服务器,解析DNS权威服务器本区域内的结果,获得的答案为权威应答(直接通过区域解析库获得的答案为权威答案)
非权威答案:通过递归查询得到的答案,一般缓存DNS服务器获取的答案为非权威答案

DNS解析优先级
	/etc/hosts  本地DNS缓存   缓存DNS服务器   权威DNS服务器

一、资源记录(RR)

SOA:一个区域解析库的授权记录,第一条必须是
A记录:FQDN ----> IP
AAAA:FQDN ----> IPV6
PTR:IP ----> FQDN
NS:规定当前区域内名称服务器,必须对应一条A记录
CNAME:别名记录
		例如:	web.xiaok.com.N CNAME wwwweb.baidu.com  
MX:邮件交换器 任何一个MX记录后面的服务器名字,都有一个A记录
		例如:xiaok.com   IN   MX   10   mx1.xxh

二、命令dig

格式:dig [-t type] name [@server]
	 dig -t A www.xxhf.com @172.20.10.4    #查询此子域名A记录

三、详细实验过程

1. 实验一、缓存DNS服务器搭建

yum -y install bind
		#/etc/named.conf 			# bind主配置文件
		#/etc/named.rfc1912.zones	#第一辅助配置文件
cp -p /etc/named.conf{,.bak}	#备份主配置文件
vim /etc/named.conf				#然后编写主配置文件

在这里插入图片描述
在这里插入图片描述

named-checkconf			#检查语法
systemctl restart named	#重启服务

在win10进行验证,设置win10的ip网关、dns
在这里插入图片描述
打开终端进行验证 nslookup www.baidu.com
在这里插入图片描述

2. 实验二、主DNS服务器搭建和管理

先买一个没有注册的域名,在安装了服务的基础上实现以下配置
需要在主配置文件内增加域(zone)相关配置;编辑/etc/named.rfc1912.zones(被主配置文件include)区域

vim /etc/named.rfc1912.zones
named-checkconf		#检查语法

在这里插入图片描述
写区域解析库 配置区域配置文件

cp -p /var/named/named.localhost xxhf123.com.zone  #注意权限的问题
vim xxhf123.com.zone	#内容如下
named-checkzone “xxhf.com” xxhf.com.zone
rndc reload   //重启状态

在这里插入图片描述
在客户端进行验证
在这里插入图片描述

3. 实验三、搭建从DNS服务器实现主从复制

注意事项
1.主从为一台独立的名称服务器
2.主服务器的区域解析库文件中必须有一条NS记录是指向从服务器;
3.从服务器只需要定义区域,而无需提供解析库文件,解析库文件通过TCP的53号端口完全从Master同步过来,同步到/var/named/slaves目录中,它是一个二进制数据流文件(data) 同步有两种:全量传送(基于AXFR)、增量传送(要求必须识别序列号或者将序列号重载)
4.主从服务器时间应该同步,可通过ntp(低版本)进行;做一主多从时要保证时间一致(chrony时间服务器)
5.bind程序的版本应该保持一致(或者从服务器版本高于主服务器)
  //查看版本
6.如果主DNS服务器的区域解析库内容发生修改,需修改其序列号(一般往后+1)!
7.可以通过/var/log/message查看主从DNS同步相关数据信息
实验环境
node-1:主DNS 192.168.10.100/24
node-2:从DNS 192.168.10.110/24
实验步骤

搭建缓存dns

[root@node-1 ~]# yum -y install bind
[root@node-1 ~]# cp -p /etc/named.conf{,.bak}
[root@node-1 ~]# vim /etc/named.conf
				 10 options {
				 11 //      listen-on port 53 { 127.0.0.1; };
				 12         listen-on-v6 port 53 { none; };
				 13         directory       "/var/named";
				 14 //      dump-file       "/var/named/data/cache_dump.db";
				 15 //      statistics-file "/var/named/data/named_stats.txt";
				 16 //      memstatistics-file "/var/named/data/named_mem_stats.txt";
				 17 //      secroots-file   "/var/named/data/named.secroots";
				 18 //      recursing-file  "/var/named/data/named.recursing";
				 19 //      allow-query     { localhost; };
				 31         recursion yes;
				 32 
				 33         dnssec-validation no;

[root@node-1 ~]# systemctl enable --now named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
[root@node-1 ~]# ss -unl
[root@node-1 ~]# dig -t A www.baidu.com @127.0.0.1

搭建主dns

[root@node-1 ~]# vim /etc/named.rfc1912.zones 
			 17 zone "xxhf123.com" IN {
			 18         type master;
			 19         file "xxhf123.com.zone";
			 20 };
[root@node-1 ~]# named-checkconf 	
[root@node-1 ~]# cd /var/named/	#所以区域解析库所在的路径
[root@node-1 named]# cp -p named.localhost xxhf123.com.zone
[root@node-1 named]# vim xxhf123.com.zone 
				$TTL 1D
				@       IN SOA  @ mx1.xxhf123.com. (
				                                        2021031501      ; serial
				                                        1D      ; refresh
				                                        1H      ; retry
				                                        1W      ; expire
				                                        3H )    ; minimum
				        NS      ns1
				        NS      mx1
				ns1     A       192.168.10.100
				mx1     A       192.168.10.130
				www     A       192.168.10.110                                    
[root@node-1 named]# named-checkzone "xxhf123.com.zone" xxhf123.com.zone 
zone xxhf123.com.zone/IN: loaded serial 2021031501
OK
[root@node-1 named]# rndc reload
server reload successful
[root@node-1 named]# systemctl restart named
[root@node-1 named]# dig -t A www.xxhf123.com @192.168.10.100

搭建从dns

[root@node-2 ~]# yum -y install bind
[root@node-2 ~]# vim /etc/named.conf 
			 10 options {
			 11 //      listen-on port 53 { 127.0.0.1; };
			 12         listen-on-v6 port 53 { none; };
			 13         directory       "/var/named";
			 14 //      dump-file       "/var/named/data/cache_dump.db";
			 15 //      statistics-file "/var/named/data/named_stats.txt";
			 16 //      memstatistics-file "/var/named/data/named_mem_stats.txt";
			 17 //      secroots-file   "/var/named/data/named.secroots";
			 18 //      recursing-file  "/var/named/data/named.recursing";
			 19 //      allow-query     { localhost; };
			 31         recursion no;
			 32 
			 33         dnssec-validation no;
[root@node-2 ~]# named-checkconf 
[root@node-2 ~]# vim /etc/named.rfc1912.zones 
			 17 zone "xxhf123.com" IN {
			 18         type slave;
			 19         masters { 192.168.10.100; };
			 20         file "slaves/xxhf123.com.zone";
			 21 };      
[root@node-2 ~]# named-checkconf 
[root@node-2 ~]# systemctl enable --now named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.

node1 测试
[root@node-1 named]# dig -t A www.xxhf123.com @192.168.10.110
; <<>> DiG 9.16.23-RH <<>> -t A www.xxhf123.com @192.168.10.110
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17543
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 47fc9dafc90792900100000065e2efcebd0ffe1b29bd6124 (good)
;; QUESTION SECTION:
;www.xxhf123.com.               IN      A

;; ANSWER SECTION:
www.xxhf123.com.        86400   IN      A       192.168.10.110

;; Query time: 2 msec
;; SERVER: 192.168.10.110#53(192.168.10.110)
;; WHEN: Sat Mar 02 17:22:22 CST 2024
;; MSG SIZE  rcvd: 88

4. 实验四、DNS转发器

实验步骤

两种转发器
first:非本区域内的解析先尝试自己解析,不成功情况下再迭代
only :非本区域内的解析直接做迭代

[root@node-2 ~]# vim /etc/named.conf
			 20    forward only;                   //定义转发器
			 21    forwarders { 223.6.6.6; };       //非权威应答让223.6.6.6帮忙递归查询
			 32    recursion yes;
[root@node-2 ~]# named-checkconf
[root@node-2 ~]# rndc reload
[root@node-2 ~]# dig -t A www.youku.com @127.0.0.1

5. 实验五、子域授权

实验环境
node-1:主DNS 192.168.10.100/24
node-3:子DNS 192.168.10.120/24
实验步骤

规定区域ops.xxhf123.com,node-3做子域服务器

[root@node-3 ~]# yum -y install bind
[root@node-3 ~]# vim /etc/named.conf
			 10 options {
			 11 //      listen-on port 53 { 127.0.0.1; };
			 12         listen-on-v6 port 53 { none; };
			 13         directory       "/var/named";
			 14 //      dump-file       "/var/named/data/cache_dump.db";
			 15 //      statistics-file "/var/named/data/named_stats.txt";
			 16 //      memstatistics-file "/var/named/data/named_mem_stats.txt";
			 17 //      secroots-file   "/var/named/data/named.secroots";
			 18 //      recursing-file  "/var/named/data/named.recursing";
			 19 //      allow-query     { localhost; };
			 31         recursion yes;
			 32		    dnssec-validation no;
[root@node-3 ~]# vim /etc/named.rfc1912.zones
				zone "ops.xxhf123.com" IN {
								type master;
								file "ops.xxhf123.com.zone";
				}
[root@node-3 ~]# cp -p /var/named/named.localhost /var/named/ops.xxhf123.com.zone
[root@node-3 ~]# cd /var/named/
[root@node-3 named]# vim ops.xxhf123.com.zone
[root@node-3 named]#named-checkzone "ops.xxhf123.com.zone" ops.xxhf123.com.zone

在这里插入图片描述
和主DNS建立串联关系,在主DNS的配置文件写一条记录授权

[root@node-1 named]# vim xxhf123.com.zone

在这里插入图片描述

[root@node-1 named]#named-checkzone "xxhf123.com.zone"  xxhf123.com.zone
[root@node-1 ~]#systemctl restart named
[root@node-3 ~]#systemctl restart named
[root@node-3 ~]#dig -t A www.ops.xxhf123.com @127.0.0.1

在这里插入图片描述

6. 实验六、解析父域

实验环境
node-1:主DNS 192.168.10.100/24
node-3:子DNS 192.168.10.120/24
实验步骤

node-3无法解析www.xxhf123.com
//默认情况下只能父域解析子域,子域无法解析父域,若想解析只能找根
在这里插入图片描述
编辑配置文件,在子域定义一个转发器

[root@node-3 ~]# vim /etc/named.rfc1912.zones
				zone "xxhf123.com`" IN {
				        type forward;
				        forward only;
				        forwarders { 192.168.10.100; };
				};
[root@node-3 ~]#rndc reload
[root@node-3 ~]#dig -t A www.xxhf123.com @127.0.0.1

7. 实验七、DNS访问控制

allow-query {}:允许查询的主机(白名单)

//允许谁指向我

[root@node-1 ~]# vim /etc/named.conf

在这里插入图片描述

[root@node-1 ~]#systemctl restart named

在这里插入图片描述

2、allow-transfer {}:允许区域传送的主机(白名单)

将配置文件/etc/named.conf改回来
在这里插入图片描述

[root@node-1 ~]# vim /etc/named.rfc1912.zones

在这里插入图片描述

[root@node-1 ~]# named-checkconf
[root@node-1 ~]# vim /var/named/xxhf123.com.zone

在这里插入图片描述

[root@node-1 named]#named-checkzone "xxhf123.com.zone"  xxhf123.com.zone
[root@node-1 ~]# systemctl restart named

node-2验证
在这里插入图片描述
再修改辅助配置文件

[root@node-1 ~]# vim /etc/named.rfc1912.zones

在这里插入图片描述

[root@node-1 ~]# vim /var/named/xxhf123.com.zone

在这里插入图片描述

[root@node-1 ~]# rndc reload
[root@node-1 ~]# systemctl restart named

在这里插入图片描述
在这里插入图片描述

allow-recursion {}:允许递归的主机

必须要定义在named.conf里面,其他的定义在/etc/named.rfc1912.zones或者/etc/named.conf里面都可,如果都定义,优先级以小范围说了算
编辑配置文件,只允许给自己同网段的人做递归

[root@node-1 ~]# vim /etc/named.conf

在这里插入图片描述

node-2添加一块网卡(仅主机)
添加网卡ip,开启路由转发功能
在这里插入图片描述
node-1 添加路由条目,测试路由功能在这里插入图片描述
Win10改为仅主机模式,静态ip 网关为双网卡主机的vm1网卡所在ip
在这里插入图片描述

[root@node-1 ~]# systemctl restart named

在这里插入图片描述
主DNS定义ACL

[root@node-1 ~]# vim /etc/named.conf

在这里插入图片描述
在这里插入图片描述
测试
在这里插入图片描述
在这里插入图片描述

4、allow-update {}:允许更新的主机,通常为none

8. 实验八、DNS访问控制——bind vinw视图

实验环境
node-1:服务器
node-2:内网测试机
win10:外网测试
实验步骤
[root@node-1 ~]# vim /etc/named.conf

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

[root@node-1 ~]# vim /etc/named.rfc1912.zone

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值