本文档介绍通过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 是一个名称服务器服务, 处理Linux 的 DNS 服务器上执行域名到 IP 的解析 [root@dns-test ~]# yum install bind
在选项字段中添加或编辑两个值。一个是 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地址
在/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; }; };
#在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
[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服务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
在两台云主机上分别执行以上操作部署dns服务,以及验证访问域名解析是否正常
配置负载均衡监听器
配置后端服务器组
配置监听器,选择刚刚配置的后端服务器组,负载均衡
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 测试解析正常,可实现负载均衡效果
以上是实验的所有内容