LoveUnix » 网络 & 安全 » [原] 奇怪的DNS解析问题原因发现...
让LU留住您的每

一天 让LU博客留住您的每一天
2005-1-25 01:02 无花果
前一阵子在家玩gentoo, 发现一个很奇怪的问题:<br /><br />在同时打开几个网页后, 域名解析变得非常慢, 甚至很多时候都提示找不到主机, 也就是解析不了该域名, 尤其以打开news.sina.com.cn等大型网站后问题最为严重, 有时甚至会5分钟内都不能解析任何网址. 而在同一机器的windows下却没有这种现象发生.<br /><br />用tcpdump观察, 发现在打开如news.sina.com.cn等大型网页首页时, 突发许多的dns请求, 在达到一定数目后就不能再观察到任何dns回复了, 只能看到本地向dns服务器发送的dns请求. 并发现这种现象跟使用的DNS服务器无关.<br /><br />照其它网友提示安装了dnscache后, 这种现象减轻, 但解析还是很慢...<br /><br />因为是自己编译的内核, 一直以为是我的内核有问题. 可是怎么都找不到症结所在.<br /><br />后来, 由于gentoo安装软件的速度原因, 改用debian了. 一开始好象没问题, 但有时解析还是有些慢. 以为真是gentoo的问题. 但这两天连windows下也偶尔出现解析域名失败的情况, 就打开ADSL路由器配置查看, 发现在使用DMZ的时候有一个设置是关于NAT的设置:<br /><br /><!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><br />NAT最小端口值&#58; &nbsp; &nbsp; 61000<br />NAT最大TCP链接数&#58; &nbsp;200<br />NAT最大UDP链接数&#58; &nbsp;100<br />NAT最大ICMP链接数&#58; 25<br /><!--c2--></div><!--ec2--><br /><br />心里一动, 是不是跟UDP链接数有关呢? 可惜我的ADSL路由器这个值保存后需要重启路由器, 启动后值仍不变...<br /><br />再下来的一件事让我更加确定了问题所在.<br /><br />为了选择最快的镜象服务器, 我运行netselect-apt程序, 结果如下:<br /><br /><!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1--><br />home&#58;~# netselect-apt testing<br />Using distribution testing.<br />There is a already a mirrors_full file in the current<br />directory. &nbsp;I&#39;ll use that, rather than downloading it again.<br /><br />Choosing a main Debian mirror using netselect.<br />netselect&#58; unknown host debian.kida.net<br />netselect&#58; 279 &#40;24 active&#41; nameserver request&#40;s&#41;...<br />Running netselect to choose 1 out of 101 addresses.<br />.<br />The fastest server seems to be&#58;<br /> &nbsp; &nbsp; &nbsp; &nbsp;http&#58;//mirrors.geekbone.org/debian/<br /><br />Choosing a non-US Debian mirror using netselect.<br />Running netselect to choose 1 out of 0 addresses.<br /><br />netselect was unable to find a mirror, this probably means that<br />you are behind a firewall and it is blocking traceroute.<br /><br /><!--c2--></div><!--ec2--><br /><br />可以看到, 该程序一下发送了近300个dns请求, 这时我打开nslookup后, 不管使用哪里的服务器, 不管查询哪个域名都失败... 很显然是adsl路由器提供的200个UDP链接被占满了, 也就是说adsl路由器遭到了DOS攻击. 5分钟后, nslookup才又能正常工作.<br /><br />问题终于找到, 除了给厂家提建议配置不能保存外, 看来我这段时间只能不使用路由模式了, 自己拔号总不会再有错了...<br /><br />呵呵, 找到了问题所有, 心里一下通畅了许多.

2005-1-27 01:36 deeperpurple
老大很有耐心。。。佩服!

2005-2-3 20:22 kinux
那是什么路由呀..<br />自己沒有用路由, 不过在市面上的路由最多有多少个同时连接???

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.