DNS的负载均衡和递归与迭代查询

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: DNS的负载均衡和递归与迭代查询

DNS的负载均衡和递归与迭代查询

一、DNS的负载均衡

//DNS服务器资源解析记录的类型:  
//     NS:DNS服务器声明记录
//     A:正向解析记录
//     CNAME:解析记录的别名
//     PTR:反向解析记录

// 我们可以配置多个服务器来实现负载均衡

[root@tk ~]# cat /var/named/test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
test.cn. NS     tk
tk      A       10.0.0.200
www     A       10.0.0.201
www     A       10.0.0.202
[root@tk ~]#  systemctl  restart named

AI 代码解读

二、 DNS的泛域名解析


//  DNS的泛域名解析,就是都匹配不到的时候,此时就会匹配到*的地址
[root@tk ~]# cat /var/named/test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
test.cn. NS     tk
tk      A       10.0.0.200
www     A       10.0.0.201
www     A       10.0.0.202
*       A       1.1.1.1
[root@tk ~]#

// 我们进行测试
[root@gitlab ~]# nslookup abc.test.cn
Server:         10.0.0.200
Address:        10.0.0.200#53

Name:   abc.test.cn
Address: 1.1.1.1

[root@gitlab ~]# nslookup www.test.cn
Server:         10.0.0.200
Address:        10.0.0.200#53

Name:   www.test.cn
Address: 10.0.0.201
Name:   www.test.cn
Address: 10.0.0.202

[root@gitlab ~]#
AI 代码解读

三、 DNS的解析记录的别名


// 解析别名可以让我们此时的解析结果与其他的域名一样
[root@tk ~]# cat /var/named/test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
test.cn. NS     tk
tk      A       10.0.0.200
www     A       10.0.0.201
www     A       10.0.0.202
abc     A       10.0.0.203
*       A       1.1.1.1
bieming CNAME   abc
[root@tk ~]#

[root@gitlab ~]# nslookup abc.test.cn
Server:         10.0.0.200
Address:        10.0.0.200#53

Name:   abc.test.cn
Address: 10.0.0.203

[root@gitlab ~]# nslookup bieming.test.cn
Server:         10.0.0.200
Address:        10.0.0.200#53

bieming.test.cn canonical name = abc.test.cn.
Name:   abc.test.cn
Address: 10.0.0.203

[root@gitlab ~]#

AI 代码解读

四、递归查询


 // 虚拟机B:构建DNS服务器负责b.test.cn
[root@gitlab ~]# yum -y install  bind  bind-chroot
[root@gitlab named]# cat /etc/named.conf
//
// named.conf
options {
        directory       "/var/named";
};
zone "b.test.cn" IN {
        type master;
        file "b.test.cn.zone";
};

[root@gitlab named]# cat b.test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
b.test.cn.      NS      gitlab
gitlab  A       10.0.0.205
www     A       10.10.10.10
[root@gitlab named]#

[root@gitlab named]# systemctl restart named
 
虚拟机A:子域授权

[root@tk ~]# cat /var/named/test.cn.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
test.cn. NS     tk
b.test.cn. NS   gitlab
tk      A       10.0.0.200
gitlab  A       10.0.0.205
www     A       10.0.0.201
www     A       10.0.0.202
abc     A       10.0.0.203
*       A       1.1.1.1
bieming CNAME   abc
[root@tk ~]#
[root@tk ~]# systemctl restart named

// 虚拟机B:测试
[root@gitlab named]# nslookup  www.b.test.cn
Server:         10.0.0.200
Address:        10.0.0.200#53

Non-authoritative answer:
Name:   www.b.test.cn
Address: 10.10.10.10


AI 代码解读

五、迭代查询


[root@tk ~]# cat /etc/named.conf
//
// named.conf
//
options {
        directory "/var/named";
        // 禁用递归查询
        recursion no;
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};
zone "test.cn" IN {
        type master;
        file "test.cn.zone";
};
zone "test1.cn" IN {
        type master;
        file "test1.cn.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

[root@tk ~]#

[root@tk ~]# systemctl restart named
// 在B主机上进行测试
[root@gitlab named]# dig @10.0.0.200 www.b.test.cn

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> @10.0.0.200 www.b.test.cn
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33847
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.b.test.cn.                 IN      A

;; AUTHORITY SECTION:
b.test.cn.              86400   IN      NS      gitlab.test.cn.

;; ADDITIONAL SECTION:
gitlab.test.cn.         86400   IN      A       10.0.0.205

;; Query time: 2 msec
;; SERVER: 10.0.0.200#53(10.0.0.200)
;; WHEN: Thu Dec 23 00:24:37 CST 2021
;; MSG SIZE  rcvd: 79

[root@gitlab named]#
AI 代码解读
目录
打赏
0
1
1
0
1
分享
相关文章
Hologres 查询队列全面解析
Hologres V3.0引入查询队列功能,实现请求有序处理、负载均衡和资源管理,特别适用于高并发场景。该功能通过智能分类和调度,确保复杂查询不会垄断资源,保障系统稳定性和响应效率。在电商等实时业务中,查询队列优化了数据写入和查询处理,支持高效批量任务,并具备自动流控、隔离与熔断机制,确保核心业务不受干扰,提升整体性能。
72 11
Ganos实时热力聚合查询能力解析与最佳实践
Ganos是由阿里云数据库产品事业部与飞天实验室共同研发的新一代云原生位置智能引擎,集成于PolarDB-PG、Lindorm、AnalyticDB-PG和RDS-PG等核心产品中。Ganos拥有十大核心引擎,涵盖几何、栅格、轨迹等多种数据处理能力,实现了多模多态数据的一体化存储、查询与分析。本文重点介绍了Ganos的热力瓦片(HMT)技术,通过实时热力聚合查询与动态输出热力瓦片,无需预处理即可实现大规模数据秒级聚合与渲染,适用于交通、城市管理、共享出行等多个领域。HMT相比传统网格聚合技术具有高效、易用的优势,并已在多个真实场景中验证其卓越性能。
100 0
新版本发布:查询更快,兼容更强,TDengine 3.3.4.3 功能解析
经过 TDengine 研发团队的精心打磨,TDengine 3.3.4.3 版本正式发布。作为时序数据库领域的领先产品,TDengine 一直致力于为用户提供高效、稳定、易用的解决方案。本次版本更新延续了一贯的高标准,为用户带来了多项实用的新特性,并对系统性能进行了深度优化。
56 3
slb基于DNS的负载均衡
slb基于DNS的负载均衡
200 8
深入解析微服务架构中的服务发现与负载均衡
深入解析微服务架构中的服务发现与负载均衡
169 7
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
126 3
揭秘前端高手的秘密武器:深度解析递归组件与动态组件的奥妙,让你代码效率翻倍!
【10月更文挑战第23天】在Web开发中,组件化已成为主流。本文深入探讨了递归组件与动态组件的概念、应用及实现方式。递归组件通过在组件内部调用自身,适用于处理层级结构数据,如菜单和树形控件。动态组件则根据数据变化动态切换组件显示,适用于不同业务逻辑下的组件展示。通过示例,展示了这两种组件的实现方法及其在实际开发中的应用价值。
63 1
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色

相关产品

  • 云解析DNS
  • 推荐镜像

    更多