双网卡双线路DNS解析分析

在企业网络维护过程中我们经常会遇到这样或那样的奇怪问题,而很多问题需要有深厚的理论知识才能解决。而随着网络的飞速发展越来越多的中小企业开始尝试通过多条线路来保证网络的畅通,一方面双网卡下的双线接入可以保证我们的速度有所提升,彻底解决网通与电信双网交叉访问问题;另一方面双线接入保证企业网络即使有一条线路出现问题另外一条也可以马上接管工作,从而保证企业网络畅通无阻,为企业外网接入提供冗余功能。今天我们也主要讨论下在双网卡双线路接入下的问题。
  一,认知盲区解惑之DNS解析:
  在实际工作中我们可能会产生以下疑问——当我们使用双网卡双线路时本地数据如何转发呢?究竟是通过哪个网卡向外传输又或者说域名解析工作该交给哪个网卡来完成呢?今天笔者就从实际出发从各位网络管理员的认知盲区下手为各位解惑双网卡下DNS解析的问题。
  二,网络环境介绍:
  直接在一台双网卡的计算机进行测试和操作,该机器安装了两个10M/100M自适应网卡,一个是无线网卡,另外一个是有线网卡。两个网卡分别连接两条不同的线路。网卡1是有线网卡获得的网络参数为——ip地址192.168.0.199,子网掩玛255.255.255.0,网关地址是192.168.0.1,而网卡2是无线网卡获得的是ip地址192.168.1.113,子网掩玛255.255.255.0,网关地址是192.168.1.1。
  使用ipconfig /all查看两个网卡的DNS信息可以看到网卡1的DNS地址就是192.168.0.1,网卡2的DNS地址是192.168.1.1,当然这两个地址实际上对应的是两台路由器,各自路由器又对应外网接入。这样就形成了一个两网卡两线路的测试环境。
  三,测试1——双网卡下DNS解析:
  那么现在我就要向各位读者提出问题了,在这种连接方式下两个网卡分别连接两个网段,而这两个网段又分别提供了外网接入和数据路由功能的话,在实际使用过程中DNS是参照哪个网卡呢?答案无外乎三种——按照网卡1的DNS进行解析,按照网卡2的DNS解析,从哪个网卡传输就用哪个网卡的DNS进行解析。
  我们在本机执行nslookup sohu.com针对此地址进行DNS解析操作,从结果可以看出搜狐的IP地址被成功解析出来,解析过程中使用的DNS服务器是192.168.1.1,也就是说解析时采用了网卡2上的DNS服务器地址来完成域名到IP的转换工作。
  四,测试2——单网卡下DNS解析:
  接下来我们将网卡2关闭禁用,再次执行nslookup sohu.com后可以看到IP地址还是被成功解析出来,这次使用的DNS服务器地址为192.168.0.1与网卡1的DNS服务器地址相符。
  五,测试3——再次连接双网卡下DNS解析:
  我们重新将网卡2开启并顺利连接之前的网络,再次执行nslookup sohu.com后可以看到IP地址还是被成功解析出来,这次使用的DNS服务器地址为211.103.158.182。
  登录网卡1对应的路由器地址(192.168.0.1)查看其获得的DNS是202.106.195.68,与上面的地址不相符。
  登录网卡2对应的路由器地址(192.168.1.1)查看其获得的DNS是211.103.158.182,与上面的地址相符。
  经过比较和分析在再次启用网卡2后本地计算机执行域名解析工作又交给了网卡2对应的DNS服务器地址。
  六,测试4——关闭有线网卡后再次开启下DNS解析
  那么是不是本机进行DNS解析时会使用最近一次活跃的网卡呢?我们再次尝试将有线网卡——网卡禁用再开启,如果DNS解析时会使用最近一次活跃的网卡,那么这时本机的DNS地址应该变成网卡1的,但是事实证明这个假想是错误的,再次执行nslookup sohu.com后可以看到IP地址还是被成功解析出来,这次使用的DNS服务器地址还是之前的211.103.158.182,此地址依然是网卡2对应的DNS服务器地址。
  七,总结:
  从上面多个测试我们得出了以下结论——当我们有一个网卡启用而其他网卡禁用或断开时访问外网DNS解析交给该活动网卡中设置的DNS服务器地址;当有两个网卡都处于启用状态时系统会根据规则自动选择一个网卡的DNS服务器地址来解析,如何选择与两个网卡哪个先关闭哪个先开启是没有任何关系的。那么系统自动选择的规则是什么呢?

我们继续这个话题为各位从认知盲区解惑双网卡双线路DNS解析。
  一,测试结论的一点思考:
  从结论上看不管我们如何插拔网线和禁用启用网卡,当本机连接两个网卡时系统总是以网卡2的DNS服务器地址作为传输解析使用。
  (1)本地连接次序决定优先级?
  那么这个优先级是以什么规则来决定判断的呢?从本地网络状况处查询可知网卡1对应的是本地连接1,网卡2对应的是本地连接2,这也说明本地系统在选择DNS服务器地址时并不是根据本地连接次序来判断其优先级的。
  (2)有线无线有别决定优先级?
  那么是否无线网卡的优先级就一定比有线网卡的高呢?结论也不是肯定的,笔者还针对了其他几个机器进行了测试,发现有的机器有线网卡优先级总是比无线网卡的高,因此这个结论也被否决。
  (3)IP地址决定优先级?
  从实际参数查询可以看出网卡1是192.168.0.1,网卡2是192.168.1.1,那么是不是IP地址越大优先级越高呢?经过测试发现事实也不是这样的,优先级与IP地址的具体数值无关。
  二,系统自身DNS服务器地址竞争规则:
  经过反复比较和查询资料笔者最终发现了系统自身DNS服务器地址竞争规则,那就是从注册表中要答案。
  第一步:我们通过regedit命令进入注册表编辑器,然后找到[HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Tcpip/Parameters/Interfaces/这个键值。
  第二步:在该键值下我们可以看到有很多字符键值,每个字符键值都包含32个数值。(如图1)
  第三步:当我们查看第一个时就会发现实际上他对应的就是网卡2,里面的IP地址是192.168.1.1。
  第四步:同时在其下的dhcp name server(DNS)中也能够看到DNS服务器地址211.103.158.182,202.106.0.20的身影。
  第五步:反观网卡1对应的键值却要排名靠后很多,DNS地址,IP地址等信息也都在该键值里写得清清楚楚。
  由此我们可以得出系统自身DNS服务器地址竞争规则是按照注册表中各个网卡的顺序来排列的,排名靠前的网卡DNS地址优先考虑,排名靠后的网卡DNS地址不予考虑。
  三,总结:
  至此我们就彻底弄清楚了双网卡双线路时DNS服务器的选取规则,以后在进行具体设置和故障排查过程中我们也要牢记这点,如果非要让其他网卡的DNS优先考虑的话就要通过编辑注册表的方式来解决了,可以把DNS对应的网卡在注册表中位置调整得靠前。

转自http://www.233.com/cisco/zhonghe/20081101/105158457.html

时间: 2024-11-06 14:50:19

双网卡双线路DNS解析分析的相关文章

简单介绍智能DNS解析+双线路接入

导读:在讨论这个问题,其中群友老孤同志也提供了不少非常有参考价值的资料,所以我们再把这些资料再整理一次,从比较底层的技术原理上重新进行一次分析.   我们知道,因为南电信北网通现象的存在,我们的服务器或网络内容.服务等提供商对网络的选择也至为重要.每位站长或网络内容.服务提供商都希望自己的网站在全国乃至全球都能快速被用户访问到,但现实国情中,单...正文: 其实双线技术的实现方式并不是什么新的技术问题了,说白了就是智能DNS解析+双线路接入,不过最近不少朋友都在讨论这个问题,其中群友老孤同志也提

深度分析Linux下双网卡绑定七种模式

现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持).进入正题,linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor), 3.fault-tolerance (broadcast),

分析DNS解析时间

提高网页的打开速度,一般地我们会选择使用CDN,利用“就近原则”让用户在最短的时间内获取到服务器资源,实际应用当中采用CDN的方式提高网站访问速度的效果也是最明显的.这也就是为什么国外的空间打开速度远不及国内的主机的访问速度的原因了. 我们知道在用户访问网站时先得经过域名DNS解析这一过程,可能很多人对于DNS解析时间平常并没有太在意.性能稳定.响应时间快的DNS域名 解析服务与不稳定.响应过慢的DNS的域名解析时间可能相差1秒,而对于网站存在过多的域名解析请求,这个时间积累起来就非常地多了.

DNS解析全过程分析

DNS解析过程 1.检查浏览器缓存中是否缓存过该域名对应的IP地址 用户通过浏览器浏览过某网站之后,浏览器就会自动缓存该网站域名对应的IP地址, 当用户再次访问的时候,浏览器就会从缓存中查找该域名对应的IP地址, 因为缓存不仅是有大小限制,而且还有时间限制(域名被缓存的时间通过TTL属性来设置), 所以存在域名对应的IP找不到的情况. 当浏览器从缓存中找到了该网站域名对应的IP地址,那么整个DNS解析过程结束, 如果没有找到,将进行下一步骤. 对于IP的缓存时间问题,不宜设置太长的缓存时间, 时

windows2003服务器双线双IP双网卡设置方法

双线双ip很好,网通用户访问网通线路,电信用户访问电信线路.但很多人会选用导入静态路由表,这个办法看似完美,其实问题很多. 1.电信用户如果被解析到网通的ip上,服务器根据路由表会返回电信线路,但用户请求的是网通ip,所以用户什么也得不到,就好像你从一楼买了东西,商场却在二楼给你出货了,而且不告诉你要去二楼拿. 2.就算被正确解析了,但是如果是教育网用户,服务器会因为路由表里没有ip记录而不会返回任何东西. 3.ip不断的都在变化,也有新增的,要不停的维护路由表实在太累. 以上三条中的任意一条的

基于BIND软件实现互联网DNS解析

一.什么是DNS服务 DNS全称(Domain Name System)域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串:DNS通过软件来进行实现域名对IP的解析:这里是通过BIND开源软件实现:BIND是开放源码软件,它允许在Internet上发布域名系统(DNS)信息,并为用户解析DNS查询:该名称绑定代表是"Berkeley Internet Name Domain"BIND是迄今为止使用最广泛

双网卡绑定

双网卡绑定好处: 1:实现网络容错(主备模式 , 主主模式) 2:  带宽绑定 在windows   server  2012之前系统必须利用服务器商家提供的软件,windows   server  2012之后,操作系统自身可以实现双网卡绑定 准备条件:2块网卡 步骤: 1:打开服务器管理器-本地服务器-NIC组合 点击任务-新建组 选中要绑定的网卡-其他属性的成组模式改成静态成组 打开网络连接,出现新的虚拟网卡,点击右键-配置ip地址,首选dns指向server01ip地址 3:测试 (测试

双网卡,内网,外网同时上网的设置

网卡配置: ======== Wan: IP: 自动获取IP地址 LAN: IP: 10.203.168.222子网掩码:255.255.225.0默认网关: 空 注意:   内部网的网卡IP配好后,设网关设置为空(即不设网关)   只设IP地址和子网掩码 --------------------------------- 1. route delete 0.0.0.0 删除0.0.0.0这条路由,因为接了两个网段有那个0.0.0.0的路由, 会发生冲突,数据包不知道该往哪边发,即使偶尔能上网,

dns劫持分析

最近在做dns解析,关注的重点在查询域名ns记录上,异常日志中捕获到一个域名,dig查询: 查询请求类型为ns,dig结果确只有一条A记录.处于好奇,查询类型改为a类型: 这个域名dig 查询A记录,返回一条结果,但是每次dig下去结果都不大一样.回到最开始的问题,请求类型为NS, dig下去发现没有ns结果,那么是否是域名没有设置ns呢?我们用whois查看下: 可以看到ns是有的,可是dig的结果为何显示没有ns记录呢?我们修改下上上节的程序代码(完整代码在github见文末),构造一个dn