DNS(三)全局流量调度

DNS(三)全局流量调度

一、EDNSEDNS(Extension Mechanisms for DNS),在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。

二、edns-client-subnet允许DNS resolver传递用户的ip地址给authoritative DNS server.以实现对客户端的精准调度。重新编译安装bind以实现支持edns-client-subnet

wget ftp://ftp.isc.org/isc/bind9/9.9.3/bind-9.9.3.tar.gz

tar xf bind-9.9.3.tar.gz

cd bind-9.9.3

wget http://wilmer.gaa.st/edns-client-subnet/bind-9.9.3-dig-edns-client-subnet-iana.diff

yum -y install patch

patch -p0 < bind-9.9.3-dig-edns-client-subnet-iana.diff

./configure --without-openssl

make

测试

./bin/dig/dig @ns1.google.com www.google.es +client=157.88.0.0/16

如下为抓到的数据包

三、智能DNS智能DNS,通过判断访问者的来源,为不同的访问者智能返回不同的IP地址,可使访问者在访问网站时可获取指定的IP地址,以提升访问速度、流量调度等效果。从概念可以知道,是否能获取访问者准确的IP地址和IP地址库的精准度是影响调度的决定性因素。域名解析过程如下图,一般情况下,客户端请求localDNS,localDNS最后请求权威DNS,如果权威DNS支持智能DNS解析和edns,会有如下几种情况:

1、如客户端LOCALDNS支持EDNS权威DNS在获取访问者来源IP时,获取edns-client-subnet扩展里携带的IP来判断访问者的地理位置,实现智能解析。2、如客户端LocalDNS不支持EDNSLocalDNS迭代请求至权威DNS,权威 DNS根据访问者LocalDNS出口IP来判断访问者的地址位置,实现智能解析。3、客户端使用的不是localDNS例如客户端配置的DNS是谷歌的8.8.8.8,那权威DNS获取的IP地址就是国外的地址,此时可能就无法调度到就近机房了,如:把北京的用户调度到深圳的机房。

四、BIND实现智能DNS

实现:客户端IP地址为10.30.20.74,请求test.ts.lan的解析请求,解析IP地址为192.168.1.1客户端IP地址为10.30.20.71,请求test.ts.lan的解析请求,解析IP地址为192.168.1.2

# vim /etc/named.conf

acl group1 {

10.30.20.74;

};

acl group2 {

10.30.20.71;

};

# vim /var/named/chroot/etc/view.conf

view "GROUP1" {

match-clients { group1; };

zone "ts.lan" {

type master;

file "group1.ts.lan.zone";

};

};

view "GROUP2" {

match-clients { group2; };

zone "ts.lan" {

type master;

file "group2.ts.lan.zone";

};

};

# vim group1.ts.lan.zone

$ORIGIN .

$TTL 3600 ; 1 hour

ts.lan IN SOA op.ts.lan. dns.ts.lan. (

2001 ; serial

900 ; refresh (15 minutes)

600 ; retry (10 minutes)

86400 ; expire (1 day)

3600 ; minimum (1 hour)

)

NS op.ts.lan.

$ORIGIN ts.lan.

op A 10.30.20.118

test A 192.168.1.1

# vim group2.ts.lan.zone

$ORIGIN .

$TTL 3600 ; 1 hour

ts.lan IN SOA op.ts.lan. dns.ts.lan. (

2001 ; serial

900 ; refresh (15 minutes)

600 ; retry (10 minutes)

86400 ; expire (1 day)

3600 ; minimum (1 hour)

)

NS op.ts.lan.

$ORIGIN ts.lan.

op A 10.30.20.118

test A 192.168.1.2

# systemctl reload named

在客户端10.30.20.74测试

# host test.ts.lan 10.30.20.118

Using domain server:

Name: 10.30.20.118

Address: 10.30.20.118#53

Aliases:

test.ts.lan has address 192.168.1.1

在客户端10.30.20.71测试

# host test.ts.lan 10.30.20.118

Using domain server:

Name: 10.30.20.118

Address: 10.30.20.118#53

Aliases:

test.ts.lan has address 192.168.1.2

五、全局流量调度

上图为流量调度的逻辑架构图,实现场景如下所述:1、为加快访问速度,将不同地区的用户解析到就近机房,如:南方用户解析到南方的机房,北方用户解析到北方机房2、同一个地区的会建设多个机房,按照权重配比进行负载均衡,如:按照权重配比,南方用户会部分解析到广州机房,部分用户解析到深圳机房,实现负载均衡。3、故障转移,健康检测模块(ICMP、TCP、HTTP)对所有机房进行健康探测,当出现机房异常时,实现调度到其他机房,实现流量的全局调度。如:广州机房出现故障,将南方用户调度的深圳机房。这里有一个问题,就是DNS全局生效需要一定的时间,无法做到及时性。

养生小贴士

俄罗斯世界杯4强出炉,欧洲队世界杯历史上第5次包揽4强席位
华为手机root权限的开启和关闭方法(简单易懂的华为手机root权限教程)
游戏内链接配方:巨人药剂
💡 小知识

游戏内链接配方:巨人药剂

📅 08-15 👍 230