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. ...
随机推荐
- java实战字符串4:寻找最长的元音子串的长度
题目描述 定义:当一个字符串只有元音字母(aeiouAEIOU)组成,称为元音字符串.现给定一个字符串,请找出其中最长的元音字符子串,并返回其长度:如果找不到,则返回0. 子串:字符串中任意个连续的字 ...
- python整理1992、2009国家标准学科分类及代码数据并存入MySQL数据库
文件内容 处理结果 代码 1 import pandas as pd 2 import pymysql 3 4 5 def get_subject_1992(): 6 res={} 7 the_for ...
- .net跨平台运行实践
一个偶然的机会,一个朋友想做一个程序,同时支持windows和linux,本来想用go来写,奈何不太熟练,突然想到.net不是也支持跨平台了吗,还没有操作过,刚好可以试验一下. 最新的.net 6已经 ...
- 关于Guava ForwardingMap
ForwardingMap是什么? ForwardingMap 是一个装饰器 负责把所有的map操作转发到所代理的map. 操作转发是直接的,不经任何中间操作的. 对方法的覆写要慎重,比如关联的put ...
- [Unity3D] 使用LineRenderer实现尾迹与虚线效果
Unity3D 使用LineRenderer绘制尾迹与虚线 1.添加LineRenderer组件 先创建一个3D对象,然后点击Add Component选项 搜索并添加LineRenderer组件 添 ...
- #分块,可撤销并查集#洛谷 3247 [HNOI2016]最小公倍数
题目 分析 考虑将询问和边权按 \(a\) 分别从小到大排序,考虑最暴力的做法就是将不超过 \(a'\) 且 不超过 \(b'\) 的边抽取出来 放进并查集判断 \(a,b\) 的最大值都能达到 \( ...
- #组合计数,容斥定理#U136346 数星星
题目 天上的繁星一闪一闪的,甚是好看.你和你的小伙伴们一起坐在草地上,欣赏这美丽的夜景. 我们假定天上有\(n\)颗星星,它们排成一排,从左往右以此编号为1到\(n\),但是天上的星星实在太多了,你和 ...
- go~istio加载wasm的步骤
参考 https://github.com/higress-group/proxy-wasm-go-sdk/tree/main/proxywasm https://github.com/tetrate ...
- Docker 11 数据卷
由来 Docker 是将应用和环境打包成一个镜像. 这样,数据就不应该保存在容器中,否则容器删除,数据就会丢失,有着非常大的风险. 为此,容器和主机之间需要有一个数据共享技术,使得在 Docker 容 ...
- 基于istio实现单集群地域故障转移
本文分享自华为云社区<基于istio实现单集群地域故障转移>,作者:可以交个朋友. 一 背景 随着应用程序的增长并变得更加复杂,微服务的数量也会增加,失败的可能性也会增加.微服务的故障可能 ...