DNS(6) -- DNS子域实现
1. DNS子域
子域即为主域下的一个子域名,当一个子域的流量过大时,主域的DNS服务器可以把一个子域的查询授权给一台专门的子域服务器,称为子域授权或子域委派。
1.1 子域授权环境说明
- 父域:xuzhichao.com
- 主DNS服务器:主机名:dns01;地址:192.168.20.70;
- 从DNS服务器:主机名:dns02;地址:192.168.20.71;
- 子域:linux.xuzhichao.com
- DNS服务器:主机名:dns-son;地址:192.168.20.72;
1.2 子域授权实现
1.2.1 主域DNS服务器配置
主域的主从DNS数据解析文件保持一致,以主DNS配置文件进行说明:
[root@dns01 named]# cat /etc/named.conf
options {
listen-on port 53 { localhost; };
listen-on-v6 port 53 { localhost; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
recursion yes;
allow-recursion { 192.168.20.0/24; 192.168.50.0/24; }; allow-transfer {192.168.20.71;};
also-notify {192.168.20.71;}; dnssec-enable yes;
dnssec-validation yes;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
}; logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN {
type hint;
file "named.ca";
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named.xuzhichao.com.zone"; #区域配置文件
[root@dns01 named]# cat /etc/named.xuzhichao.com.zone
zone "xuzhichao.com" IN {
type master;
file "xuzhichao.com.zone";
notify yes; <==允许本区域数据解析文件进行通告
}; zone "20.168.192.in-addr.arpa" IN {
type master;
file "20.168.192.in-addr.arpa.zone";
notify yes; <==允许本区域数据解析文件进行通告
};
主DNS的区域数据库解析文件如下:
[root@dns01 named]# cat /var/named/xuzhichao.com.zone
$TTL 86400 xuzhichao.com. IN SOA ns1.xuzhichao.com. mail.xuzhichao.com. (
2021071603
10800
900
604800
86400
) xuzhichao.com. IN NS ns1.xuzhichao.com.
xuzhichao.com. IN NS ns2.xuzhichao.com. ns1 IN A 192.168.20.70
ns2 IN A 192.168.20.71 ;业务域 xuzhichao.com. IN MX 10 mx1.xuzhichao.com.
mx1 IN A 192.168.20.11 www.xuzhichao.com. IN A 192.168.20.31
www.xuzhichao.com. IN A 192.168.20.32 web.xuzhichao.com. IN CNAME www.xuzhichao.com. ;主机域 nginx02.xuzhichao.com. IN A 192.168.20.22
ngxin03.xuzhichao.com. IN A 192.168.20.23 nginx-lb01.xuzhichao.com. IN A 192.168.20.19
nginx-lb02.xuzhichao.com. IN A 192.168.20.20 apache01.xuzhichao.com. IN A 192.168.20.21 lvs01.xuzhichao.com. IN A 192.168.20.31
lvs02.xuzhichao.com. IN A 192.168.20.32 mysql01.xuzhichao.com. IN A 192.168.20.50 redis01.xuzhichao.com. IN A 192.168.20.61 nfs01.xuzhichao.com. IN A 192.168.20.30 dns01.xuzhichao.com. IN A 192.168.20.70
dns02.xuzhichao.com. IN A 192.168.20.71 #子域授权相关配置,如果子域也存在主从DNS服务器,则需要写两条ns记录,指向子域的主从DNS。
;子域授权
linux.xuzhichao.com. IN NS ns1.linux.xuzhichao.com.
;linux.xuzhichao.com. IN NS ns2.linux.xuzhichao.com. ns1.linux.xuzhichao.com. IN A 192.168.20.72
;ns2.linux.xuzhichao.com. IN A 192.168.20.73
重启bind服务:
#检查配置文件:
[root@dns01 named]# named-checkconf
[root@dns01 named]# named-checkzone xuzhichao.com /var/named/xuzhichao.com.zone
zone xuzhichao.com/IN: linux.xuzhichao.com/NS 'ns1.linux.xuzhichao.com' (out of zone) has no addresses records (A or AAAA) <==忽略报错;
zone xuzhichao.com/IN: loaded serial 2021071603
OK #重启bind服务:
[root@dns01 named]# rndc reload
server reload successful
1.2.2 子域DNS服务器配置
子域DNS配置配置文件:
[root@dns-son ~]# cat /etc/named.conf
options {
listen-on port 53 { localhost; };
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes; bindkeys-file "/etc/named.root.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
}; logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN {
type hint;
file "named.ca";
}; zone "linux.xuzhichao.com" IN { <==新增区域配置段
type master;
file "linux.xuzhichao.com.zone";
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
子域DNS区域数据库解析文件:
[root@dns-son ~]# cat /var/named/linux.xuzhichao.com.zone
$TTL 86400 @ IN SOA ns1.linux.xuzhichao.com. mail.linux.xuzhichao.com. (
2021071603
10800
900
604800
86400
) @ IN NS ns1.linux.xuzhichao.com.
ns1 IN A 192.168.20.72 @ IN MX 10 mail.linux.xuzhichao.com.
mail IN A 192.168.20.11 www IN A 1.1.1.1
web IN CNAME www db01 IN A 2.2.2.2
启动bind服务:
[root@dns-son ~]# named-checkconf
[root@dns-son ~]# named-checkzone linux.xuzhichao.com /var/named/linux.xuzhichao.com.zone
zone linux.xuzhichao.com/IN: loaded serial 2021071603
OK
[root@dns-son ~]# systemctl start named.service
客户端测试:
[root@xuzhichao ~]# dig www.linux.xuzhichao.com @192.168.20.72 +short
1.1.1.1
[root@xuzhichao ~]# dig web.linux.xuzhichao.com @192.168.20.72 +short
www.linux.xuzhichao.com.
1.1.1.1
[root@xuzhichao ~]# dig db01.linux.xuzhichao.com @192.168.20.72 +short
2.2.2.2
1.3 DNS转发域
1.3.1 DNS转发域概述
以上场景中子域存在问题:
由于父域与子域互相维护不同的区域配置,它们之间并不存在任何的联系,所以子域在解析父域的域名时,它并不会直接通过父域来获取权威的解析记录,而是按照以下步骤查询:
- 第一步:它会先找顶点根域;
- 第二步:寻找找 com 域对应的 DNS 服务器;
- 第三步:寻找 xuzhichao.com 域对应的 DNS 服务器,而后获取对应的解析记录;
这种查找模式是由 DNS 的机制所决定的;
解决的方法:明确告诉子域,让其能找到父域进项查询解析,而无需查找根域;(需要配置 DNS 的转发)
转发域
转发指的是将域名查询请求,转至某一台服务器解析(被转发的服务器必须允许为当前服务器做递归)。
1.3.2 转发域的分类
转发分为两类,全局转发和区域转发
全局转发
对非本机所负责解析区域的请求,全转发给指定的服务器。
配置格式为
#直接放在/etc/namd.conf文件中
Options {
forward first|only; <==first表示转发服务器如果得不到结果会自己去互联网进行迭代查询,only表示只是转发请求,得到得不到结果不关心
forwarders { ip;}; <==表示转发给谁,可以由多台
};
区域转发
仅转发对特定的区域的请求,比如,只转发xuzhichao.com域的请求,其它的不管,比全局转发优先级高。
设置格式为:(需要放在具体的域中)
zone "ZONE_NAME" IN {
type forward;
forward first|only;
forwarders { ip;};
};
1.3.3 DNS转发域实现
在子域的DNS服务器上增加父域转发的配置文件:
[root@dns-son ~]# cat /etc/named.conf
zone "xuzhichao.com" IN {
type forward;
forward only;
forwarders { 192.168.20.70; 192.168.20.71; };
}; [root@dns-son ~]# rndc reload
server reload successful
客户端使用子域服务器解析父域的域名:
[root@xuzhichao ~]# dig www.xuzhichao.com @192.168.20.72 +short
192.168.20.32
192.168.20.31
DNS(6) -- DNS子域实现的更多相关文章
- DNS主从服务,子域授权,view视图,日志系统,压力测试
DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...
- Linux系统下搭建DNS服务器——DNS原理总结
2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...
- DNS劫持 DNS污染
编号:1021时间:2016年6月24日17:23:50功能:DNS劫持 DNS污染URL:http://www.itechzero.com/dns-hijacking-dns-pollution-i ...
- DNS及DNS有什么作用
什么是DNS,DNS有什么作用: DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直 ...
- DNS主从复制及子域(三)
主从DNS 主辅DNS服务器数据同步的过程,首先master DNS服务器每 次修改完成并重启服务后,将传送notify给所有的Slave DNS服务器. Slave DNS服务器将查询Master服 ...
- DNS笔记 DNS区域集成到 Active Directory
可以将 DNS 区域集成到 Active Directory 中以提供增强的容错功能和安全性.OpenDNS Google Public DNS往返时间 (RTT) 远程访问服务 (RAS)域名与 ...
- DNS系列—DNS简介
DNS是什么? 如果了解互联网主机之间是用IP地址来进行通信的话,有了这个认识的前提,我们来聊一下什么是DNS.一个IP地址有十几个字符那么长,和手机号码长度差不多,我们怎么记住这些我们想要访问的主机 ...
- DNS与DNS劫持原理、IP、域名、服务器访问浅讲
我们都知道,平常我们所访问的网站,都是与服务器进行数据交互的.但是,浏览器和服务器是分处于不同的计算机上的,那他们是怎样进行通信的呢?今天,我们就来粗浅地聊一聊.不涉及很深的技术原理,只讲大概的流程. ...
- DNS(三)DNS SEC(域名系统安全扩展)
工作需要今天了解了下DNS SEC,现把相关内容整理如下: 一.DNS SEC 简介 域名系统安全扩展(英语:Domain Name System Security Extensions,缩写为DNS ...
- LINUX中的DNS服务---DNS集群
一.DNS集群的理解 在使用DNS的时候,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作.这些DNS就叫做DNS集群. 二.配置过程 1)在辅DNS中操作如下:(主机号为172. ...
随机推荐
- 【已解决】Hadoop_03 解决Hadoop输入jps没有NameNode的问题
问题描述: 解决方案: 1.先运行 stop-all.sh 2.格式化 namdenode(在这之前要先删除原目录,即core-site.xml下配置的<name>hadoop.tmp.d ...
- AtCoder Beginner Contest 220
传送门 A.B.C.D.F比较简单,没必要写出来 E - Distance on Large Perfect Binary Tree 题目 问一个深度为 \(n\)的满二叉树有多少个点对的距离恰好为 ...
- #正余弦定理#牛客练习赛71 B 烙印
题目 将三角形的六要素只留下三个已知条件, 问有多少种情况,多组询问 分析 首先分类讨论一下(对新高一不友好,比如说我). 前置知识: 正弦定理: \[\frac{a}{sinA}=\frac{b}{ ...
- 解锁OpenHarmony技术日!年度盛会,即将揭幕!
OpenHarmony技术日 即将揭幕!4月25日(星期一)09:00-18:00与你惊喜相约! 扫码直达 共建新技术.开拓新领域 OpenHarmony 工作委员会+7 家单位共同发起 ...
- Go 语言注释教程
注释是在执行时被忽略的文本.注释可用于解释代码,使其更易读.注释还可用于在测试替代代码时防止代码执行.Go支持单行或多行注释. Go单行注释 单行注释以两个正斜杠(//)开头. 在//和行尾之间的任何 ...
- Linux获取摄像头VID,PID的两种方式
第一种方式,是直接查询设备的vid.pid文件,来获取vid,pid 第二种方式,是查询设备信息,自己去解析对应的vid和pid 正常情况下,第一种方式就可以了,但是今天遇到一个ARM架构的kylin ...
- openGauss基于4路鲲鹏服务器的性能调优
1.概述 本文主要描述了在4路鲲鹏服务器上,通过软硬件协同优化配置达到openGauss数据库的极致性能的方法. 主要包括软硬件要求.BIOS配置.网卡配置.磁盘配置.服务器参数设置.数据库参数配置. ...
- TensorRT C# API 项目更新 (1):支持动态Bath输入模型推理
1. 项目介绍 NVIDIA TensorRT 是一款用于高性能深度学习推理的 SDK,包括深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量.基于 NVIDIA TensorRT ...
- 【2021.6.26 NOI模拟】Problem B. 简单题 another solution
Problem Description Input 从文件 b.in 中读入数据. 一个正整数 n. Output 输出到文件 b.out 中. 一个整数表示答案. Sample Data Input ...
- Oracle 在PL/SQL将字符串分割输出
Oracle 在PL/SQL将字符串分割输出 示例如下: declare begin for maina in (select tt.line ll from (select regexp_subst ...