对于主备DNS新的认识


公司的翻墙 “不稳定” 一直成为我的困扰,在仔细梳理透明翻墙过程后,有了如下推测:


dhcp 在分配了可以解析google 的自己搭建的dns的时候,也分配了114.114.114.114 这种,当有客户端使用 114.114.114.114 进行解析就出现了所谓的“翻墙不稳定”的情况。还有就是 使用网线的同学在使用google时明显比使用无线是同学 “稳定” 性高。网线稳定性本来就比无线高,可能使用有线的同学,基本都在使用 192.168.40.254解析,而使用无线的同学,由于无线的不稳定因素导致机器选择备用dns,就导致了“永久性”的 google打不开。


我们通常认为当第一个dns不用时会采用列表中的备用dns,那实际情况是怎样的呢,在网上找到这样一篇文章:


以下内容转载自 http://blog.csdn.net/pastway/article/details/51454389


主、备dns工作现象:

实验:

测试客户端电脑为win10,主dns设置为isp公用dns,备dns设置为内网dns(win2008搭建):

1、查询一个内网的域名(在公网上不存在),会发现是可以查询得到的,这个时候主dns是正常工作的。

2、查询公网的不同域名,测试是否会向备dns查询数据。


捕获数据包显示:

如果主dns在很快的时间答复(没有任何反馈,哪怕主dns是正常的),那么就只会向主dns发送查询;

如果主dns在一定的时间内(目测1秒左右),那么就会同时向备用dns发送查询;

有一定几率主备dns都会回复,就是在主dns回复比较慢的时候。


网络上有说法是,在主dns工作不正常时,才会向备dns查询,这个说法从实验发现是错的。

几种情况下,都会向备dns查询:

1、主dns返回超时或查询不存在;

2、主dns本身在一定时间内未反馈;(有可能会再次向主dns查询)

3、如果上一次是备dns给出反馈,那么下一次查询首先会向备dns查询,而不是理解中的一直是向主dns查询。


见图:



DNS轮询机制:

DNS服务器默认选项中会勾选DNS Robin,也就是DNS轮询机制。

正因为此机制存在,dns查询返回的结果,总是不断轮换 
的。比如,当前域有3个dns,那么客户端第一次查询domain.com,返回的是第一台dns地址,第二次可能就是第2台,第三次第3台,依此类推。

这个轮询的次序,总是从数字较小的ip开始。

为什么在有主域控和额外域控的多域控情况下客户机登陆到域的时候会随机登陆到任何一台域控上?

这个正是DNS轮询辅助起到的DC负载均衡效果

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要搭建主备DNS服务器,需要先选择合适的DNS软件,然后配置服务器和备份服务器。以下是基于Linux系统的搭建步骤: 1. 安装DNS软件 可以选择BIND (Berkeley Internet Name Domain),它是最常用的DNS软件之一,也是Linux系统上最常用的DNS服务器软件之一。在Linux系统上,可以通过以下命令安装BIND: ``` sudo apt-get update sudo apt-get install bind9 ``` 2. 配置服务器 编辑/etc/bind/named.conf.local文件,添加以下内容: ``` zone "example.com" { type master; file "/etc/bind/db.example.com"; allow-transfer { IP_address_of_backup_server; }; }; ``` 其中,example.com是你的域名,IP_address_of_backup_server是备份服务器的IP地址。 然后,建/etc/bind/db.example.com文件,添加以下内容: ``` $TTL 86400 @ IN SOA ns1.example.com. admin.example.com. ( 1 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL ; @ IN NS ns1.example.com. @ IN NS ns2.example.com. ; @ IN A IP_address_of_primary_server ns1 IN A IP_address_of_primary_server ns2 IN A IP_address_of_backup_server ``` 其中,IP_address_of_primary_server是服务器的IP地址,IP_address_of_backup_server是备份服务器的IP地址。 3. 配置备份服务器 编辑/etc/bind/named.conf.local文件,添加以下内容: ``` zone "example.com" { type slave; file "/var/cache/bind/db.example.com"; masters { IP_address_of_primary_server; }; }; ``` 其中,IP_address_of_primary_server是服务器的IP地址。 然后,执行以下命令: ``` sudo mkdir /var/cache/bind sudo chown bind:bind /var/cache/bind sudo systemctl restart bind9 ``` 这样就完成了主备DNS服务器的搭建。需要注意的是,需要确保服务器和备份服务器之间可以进行通信,且备份服务器的DNS配置指向服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值