You need to enable JavaScript to run this app.
导航
使用CLB实现自建DNS负载均衡
最近更新时间:2024.01.10 10:13:31首次发布时间:2022.07.06 12:47:00

前言

本文档介绍通过VPC内搭建dns服务器,实现自建dns负载均衡进行域名解析

关于实验

预计部署时间:30 分钟
级别:初级
相关产品:VPC ECS CLB
受众: 通用

环境说明

  • 已开通账号并完成实名认证。如果还没有火山引擎账号,点击此链接注册账号

  • 已在本地数据中心就近地域创建VPC及其子网,具体操作请参见创建私有网

  • 已创建ECS实例,如未创建,具体操作请参见 购买云服务器

  • 如果还没有火山引擎账号,点击此链接注册账号

  • 如果还没有VPC、CLB,参考此链接快速创建

  • BIND版本:bind-9.11

  • 系统版本:Centos7.9

  • ECS私网IP地址:192.168.2.95 192.168.2.41

  • 实验域名: dns-test.com

在两台云主机分别部署bind服务

  1. 安装和配置DNS
BIND 是一个名称服务器服务, 处理Linux 的 DNS 服务器上执行域名到 IP 的解析
[root@dns-test ~]# yum install bind
  1. 配置named 的配置文件/etc/named.conf
在选项字段中添加或编辑两个值。一个是 DNS 服务器地址,另一个是对any的允许查询。
[root@dns-test ~]# vim /etc/named.conf
listen-on port 53 { 127.0.0.1; 192.168.2.95; };
allow-query { localhost; any; };

· 192.168.2.95 为DNS服务器地址
· any - 匹配每个IP地址
  1. 创建区域zone
在/etc/named.conf 或者/etc/named.rfc1912.zones 中定义正向或者反向区域
[root@dns-test ~]# vim /etc/named.rfc1912.zones
zone "dns-test.com" IN { type master;
  file "example.dns-test.zone";
  allow-update { none; };
};
  1. 在/var/named目录中创建解析文件,
#在192.168.2.95机器上 servera解析配置成192.168.2.95 
[root@dns-test ~]# vim /var/named/example.dns-test.zone
$TTL  1D
@       IN      SOA     servera.dns-test.com.   root.servera.dns-test.com. (
                                                                                0       ; serial
                                                                                1D      ; refresh
                                                                                1H      ; retry
                                                                                1W      ; expire
                                                                                3H )    ; minimum
        IN      NS      servera.dns-test.com.
servera IN      A       192.168.2.95

#在192.168.2.41机器上 servera解析配置成192.168.2.41 
[root@dns-test ~]# vim /var/named/example.dns-test.zone
$TTL  1D
@       IN      SOA     servera.dns-test.com.   root.servera.dns-test.com. (
                                                                                0       ; serial
                                                                                1D      ; refresh
                                                                                1H      ; retry
                                                                                1W      ; expire
                                                                                3H )    ; minimum
        IN      NS      servera.dns-test.com.
servera IN      A       192.168.2.41
  1. 启动服务
[root@dns-test named]# systemctl start named.service
[root@dns-test named]# systemctl enable named.service
[root@dns-test named]# systemctl restart named.service
  1. 验证DNS名称解析
1. 将DNS服务IP 配置到/etc/resolv.conf中
[root@dns-test named]# vim /etc/resolv.conf
nameserver 192.168.2.95 
2. 使用dig或nslookup测试解析
dig命令可以通过 yum -y install bind-utils安装

[root@dns-test named]# dig servera.dns-test.com 

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> servera.dns-test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21076
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;servera.dns-test.com.                IN        A

;; ANSWER SECTION:
servera.dns-test.com.        86400        IN        A        192.168.2.95

;; AUTHORITY SECTION:
dns-test.com.                86400        IN        NS        servera.dns-test.com.

;; Query time: 0 msec
;; SERVER: 192.168.2.95#53(192.168.2.95)
;; WHEN: 一 5月 23 20:35:03 CST 2022
;; MSG SIZE  rcvd: 79
  1. 在两台云主机上分别执行以上操作部署dns服务,以及验证访问域名解析是否正常

  2. 配置负载均衡监听器

    1. 配置后端服务器组

    2. 配置监听器,选择刚刚配置的后端服务器组,负载均衡




  1. 测试访问负载均衡IP地址查看访问是否正常
for i in `seq 1 1000`; do dig servera.dns-test.com @192.168.2.127 |grep -C1  ANSWER\ SECTION: | grep servera.dns-test.com.| awk '{print $NF}' >> dns.test;sleep 0.1; done 

[root@xxxxx ~]# cat dns.test | sort -rn | uniq -c 
    501 192.168.2.95
    499 192.168.2.41

测试解析正常,可实现负载均衡效果

以上是实验的所有内容