本人在9月份写了一个Blog,介绍有关AX产品如何提升DNS系统整体的可用性和安全性的文章。大致介绍了一下方案的思路,这次结合具体的配置,来给大家分享一下。
配置的目的:
1、 利用AX产品基于DNS应用层的健康监测机制,对DNS服务器提供最准确的应用层可用性探测;
2、 利用AX产品对DNS服务器群提供高效的负载分担算法,保障每台服务器的访问压力比较均衡,任何一台服务器出现故障都不会影响整个DNS系统的可用性;
3、 利用AX产品提供的DNS Cache功能,通过在AX系统内存中缓存DNS服务器的应答数据,可以极大的降低DNS服务器的访问压力;同时,还可按照灵活的策略缓存或不缓存指定域名,提供不同的缓存策略;
4、 利用AX产品提供的DNS应用策略,实现非法DNS请求的过滤、速率限制、连接数限制等安全策略,例如可基于源IP地址、基于DNS域名等实现连接数和连接速率限制等;
部署拓扑结构:
结合以上这四点,分别介绍一下相关的AX配置(以命令行为例):
1、DNS服务器应用层健康检查
health monitor DNS-CHECK
method dns domain www.baidu.com ;#检查某个域名,查看被检查的DNS服务器是否有应答
slb server DNS-1 xx.xx.xx.209
port 53 udp
health-check DNS-CHECK ;#对递归DNS服务器启用此前创建的DNS健康检查方法
2、配置DNS服务器组的负载均衡算法(最少连接数算法)
slb service-group DNS-ANYCAST udp
method least-connection
member DNS-1:53
member DNS-2:53
member DNS-3:53
member DNS-4:53
3、配置DNS Cache策略和速率限制策略
class-list DNS ;#按照不同的域名归类,以便按照这些类别配置不同的策略,如果策略域名比较多,这个Class-list也可以以文件的形式导入
dns ends-with .com lid 1
dns ends-with .cn lid 2
!
slb template dns CACHE ;#配置DNS缓存策略模板
class-list name dns ;#绑定此前创建的DNS类别表
class-list lid 1 ;#按照不同的类别ID配置不同的策略
dns cache-enable
dns ttl 500
conn-rate-limit 100 per 1 ;#配置该类别域名查询速率的限制(每100毫秒接受100个该域名的DNS查询请求)
over-limit-action lockout 60 log 1
class-list lid 2
dns cache-disable ;#缺省对该域名类别不缓存
dns ttl 300
conn-rate-limit 200 per 1
over-limit-action lockout 60 log 1
4、配置对外提供DNS服务的VIP
slb template udp UDP ;#由于DNS应用基本都是UDP的短连接,建议配置较短的空闲超时时间,并减小会话生命期
idle-timeout 60
aging short
re-select-if-server-down
!
slb virtual-server VIP-173 xx.xx.xx.173 ;#配置VIP名和IP地址
disable when-all-ports-down ;#当所有递归DNS服务器端口down时,关闭此VIP
port 53 dns-udp
source-nat pool SNAT
service-group DNS-ANYCAST
template udp UDP
template dns CACHE ;#启用相关的模板
5、启用OSPF路由,配置IP Anycast
router ospf 100
ospf router-id xx.xx.xx.193
redistribute vip ;#将VIP地址的主机路由广播出去
network xx.xx.xx.192 0.0.0.15 area 60
大概的配置就是这样的一个过程,可以按照这个思路将来有机会尝试一些其它的配置和策略。
S.G
本文转自 virtualadc 51CTO博客,原文链接:http://blog.51cto.com/virtualadc/685907