DNS轮循

DNS轮循介绍

一、DNS使用分析

1、作用

DNS轮循是指将相同的域名解析到不同的IP,以达到负载均衡的目的。

 

2、优点&缺点

 

优点:

  • 零成本:只是在DNS服务器上绑定几个A记录,域名注册商一般都免费提供解析服务;
  • 部署简单:就是在网络拓扑进行设备扩增,然后在DNS服务器上添加记录。
  • 统一入口,可以使用一个域名提供服务接入。

 

缺点:

  1. 负载算法简单,只支持简单轮巡。

应对办法: 如想使用最小连接数等算法,可以将DNS指向HA负载均衡通过HA来负载。

     2.不支持高可靠性,如果后端某服务器宕机,DNS仍然会把DNS请求分发到这个机器上,导致不能响应。

应对办法:使用KEEPAPLIVE将DNS请求分发到VIP上,当宕机发生时,VIP发生飘移,仍可使用。

 

 

二、DNS配置

  1. 安装

基于centos or redhat 使用yum安装bind

yum install bind.x86_64

 

安装后会主要文件

/usr/sbin/named    可执行域名解析进程

/etc/named.conf    主配置文件

/var/named         默认配置的运行路径,域名配置文件。

2.配置

/etc/named.conf

options {

listen-on port 53 { 192.168.1.86; };//配置监控IP,使用53端口

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";

//rrset-order 支持三个参数:fixed, random, cyclic 。
//fix 会将多个A记录按配置文件的顺序固定给出
//random 会随机给出
//cyclic 会循环给出

rrset-order { order cyclic ; };

 

//允许所有IP查询,可以配置限定IP段

allow-query     { any; };

//是否递归查询 默认YES

//递归:客户端只发一次请求,要求对方给出最终结果。

//迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的//其它名称服务器列表,

//客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

//如果是yes,并且一个DNS询问要求递归,那么服务器将会做所有能够回答查询请求的工作。如果recursion是off的,并且服务器不知道答案,它将会返回一个推荐(referral)响应。

recursion no;

dnssec-enable yes;

dnssec-validation yes;

bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

zone "." IN {

type hint;

file "named.ca";

};

zone "test.com" IN {//配置域名的区域

type master;

//指定具体域 名配置文件

file "test.com.zone";

allow-update { none; };

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

              /var/named/test.com.zone

 

$TTL 1D

@       IN SOA  ns.test.com. xx.test.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      ns.test.com.

 

ns      A       192.168.1.86

www    CNAME    master

master  A       192.168.1.86

master  A       192.168.1.87

master  A       192.168.1.88

 

 

3. 启动&停止

由yum安装的bind 已经自动加入系统启动脚本,可直接使用系统命令启停。

 

Centos7

/bin/systemctl start named.service

/bin/systemctl stop named.service

 

Centos6

service  named start

service  named stop

 

三、典型使用场景

 1、访问过程

  1. 客户机访问DNS查询域名,域名服务器轮巡返回HA中一个VIP地址。
  2. 客户机访问VIP。VIP通过keepalive软件产生,通过 arrp协议通讯。
  3. 请求通过 VIP HA 分发到实列服务器。

 

四、常见问题

1、DNS日志通过rsyslog输出,需要注意输出大小,如果量大会占满根目录。

2、DNS请求分发到的HA,可以通过KEEPALIVE 做出VIP,客户机连接VIP,当有HA宕机时,另一台HA会接管,实现高可用目的。

3、DNS 前端也可以做负载,分担DNS解析压力。 或者在客户机中配置多个DNS地址,需要配置顺序。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值