- 論壇徽章:
- 0
|
前一陣子在家玩gentoo, 發(fā)現(xiàn)一個(gè)很奇怪的問題:
在同時(shí)打開幾個(gè)網(wǎng)頁后, 域名解析變得非常慢, 甚至很多時(shí)候都提示找不到主機(jī), 也就是解析不了該域名, 尤其以打開news.sina.com.cn等大型網(wǎng)站后問題最為嚴(yán)重, 有時(shí)甚至?xí)?分鐘內(nèi)都不能解析任何網(wǎng)址. 而在同一機(jī)器的windows下卻沒有這種現(xiàn)象發(fā)生.
用tcpdump觀察, 發(fā)現(xiàn)在打開如news.sina.com.cn等大型網(wǎng)頁首頁時(shí), 突發(fā)許多的dns請求, 在達(dá)到一定數(shù)目后就不能再觀察到任何dns回復(fù)了, 只能看到本地向dns服務(wù)器發(fā)送的dns請求. 并發(fā)現(xiàn)這種現(xiàn)象跟使用的DNS服務(wù)器無關(guān).
照其它網(wǎng)友提示安裝了dnscache后, 這種現(xiàn)象減輕, 但解析還是很慢...
因?yàn)槭亲约壕幾g的內(nèi)核, 一直以為是我的內(nèi)核有問題. 可是怎么都找不到癥結(jié)所在.
后來, 由于gentoo安裝軟件的速度原因, 改用debian了. 一開始好象沒問題, 但有時(shí)解析還是有些慢. 以為真是gentoo的問題. 但這兩天連windows下也偶爾出現(xiàn)解析域名失敗的情況, 就打開ADSL路由器配置查看, 發(fā)現(xiàn)在使用DMZ的時(shí)候有一個(gè)設(shè)置是關(guān)于NAT的設(shè)置:
- NAT最小端口值: 61000
- NAT最大TCP鏈接數(shù): 200
- NAT最大UDP鏈接數(shù): 100
- NAT最大ICMP鏈接數(shù): 25
復(fù)制代碼
心里一動(dòng), 是不是跟UDP鏈接數(shù)有關(guān)呢? 可惜我的ADSL路由器這個(gè)值保存后需要重啟路由器, 啟動(dòng)后值仍不變...
再下來的一件事讓我更加確定了問題所在.
為了選擇最快的鏡象服務(wù)器, 我運(yùn)行netselect-apt程序, 結(jié)果如下:
- home:~# netselect-apt testing
- Using distribution testing.
- There is a already a mirrors_full file in the current
- directory. I'll use that, rather than downloading it again.
- Choosing a main Debian mirror using netselect.
- netselect: unknown host debian.kida.net
- netselect: 279 (24 active) nameserver request(s)...
- Running netselect to choose 1 out of 101 addresses.
- .
- The fastest server seems to be:
- http://mirrors.geekbone.org/debian/
- Choosing a non-US Debian mirror using netselect.
- Running netselect to choose 1 out of 0 addresses.
- netselect was unable to find a mirror, this probably means that
- you are behind a firewall and it is blocking traceroute.
復(fù)制代碼
可以看到, 該程序一下發(fā)送了近300個(gè)dns請求, 這時(shí)我打開nslookup后, 不管使用哪里的服務(wù)器, 不管查詢哪個(gè)域名都失敗... 很顯然是adsl路由器提供的200個(gè)UDP鏈接被占滿了, 也就是說adsl路由器遭到了DOS攻擊. 5分鐘后, nslookup才又能正常工作.
問題終于找到, 除了給廠家提建議配置不能保存外, 看來我這段時(shí)間只能不使用路由模式了, 自己拔號總不會再有錯(cuò)了...
呵呵, 找到了問題所有, 心里一下通暢了許多. |
|