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地址,需要配置顺序。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值