引言:當(dāng)電腦必須雙網(wǎng)卡傳輸時,經(jīng)常會出現(xiàn)網(wǎng)絡(luò)中斷的現(xiàn)象,但若禁用其中一個網(wǎng)絡(luò),另一個可以正常使用。那么究竟應(yīng)該如何解決這一困擾呢?筆者結(jié)合實(shí)際經(jīng)驗(yàn)談一談。
電腦經(jīng)常會因工作環(huán)境需要,必須使用雙網(wǎng)卡進(jìn)行傳輸,但是如果遇到網(wǎng)絡(luò)中斷的現(xiàn)象,要如何解決呢?網(wǎng)絡(luò)拓?fù)鋱D如圖1所示,外網(wǎng)與內(nèi)網(wǎng)的網(wǎng)絡(luò)配置如圖2所示。
當(dāng)裝有雙網(wǎng)卡的計(jì)算機(jī)啟動后,查看本地的路由信息如下頁表1所示。若打開央視網(wǎng)站,就發(fā)現(xiàn)網(wǎng)站打不開,通過PING命令檢查網(wǎng)絡(luò)連通性,在DOS下執(zhí)行PING 162.168.1.1可以正常通信,因?yàn)檫@是一個直接路由,看來到本地網(wǎng)關(guān)是通的。但無法連接央視網(wǎng)站,結(jié)果顯示如下:
C:windowssystem32>ping www.cctv.com
圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
圖2 外網(wǎng)與內(nèi)網(wǎng)的網(wǎng)絡(luò)配置
圖3 路由跟蹤情況
正 在 Ping cctv.xdwscache.ourglb0.com[116.211.251.37] 具有 32 字節(jié)的數(shù)據(jù):
請求超時。
請求超時。
請求超時。
請求超時。116.211.251.3 7的 Ping統(tǒng)計(jì)信息:
數(shù)據(jù)包:已發(fā)送 = 4,已接收 = 0,丟失=4(100%丟失)。
當(dāng)然以上不足以說明哪里出了問題,接著通過路由跟蹤命令來查看數(shù)據(jù)包的走向,結(jié)果發(fā)現(xiàn)了端倪,如圖3所示。下面筆者進(jìn)行分析:原來數(shù)據(jù)包直接轉(zhuǎn)到了192.168.100.1網(wǎng)關(guān)上了,也就是內(nèi)網(wǎng)的網(wǎng)關(guān)。但從活動路由表來看,有兩個默認(rèn)路由了,但是系統(tǒng)隨機(jī)直接就轉(zhuǎn)到了內(nèi)路路由的接口,當(dāng)然無法連通了。但細(xì)心的朋友會發(fā)現(xiàn)無論是執(zhí)行PING命令還是路由跟蹤命令,都能正確解析到WWW.CCTV.COM的正確IP,這說明域名解析還是成功,DNS數(shù)據(jù)包應(yīng)該是通過外網(wǎng)的接口出去了。
通過抓包也能證實(shí)這一點(diǎn)。如圖4所示:系統(tǒng)在進(jìn)行DNS解析時分別通過兩個接口發(fā)出了DNS請求數(shù)據(jù)包,但只有通過外網(wǎng)返回了正確的DNS應(yīng)答,從而得到了域名的IP地址,再通過解析得到的IP地址訪問外網(wǎng)時,因?yàn)槎疾辉诒镜氐木W(wǎng)段內(nèi),就查看本地的路由表,發(fā)現(xiàn)有兩個默認(rèn)路由,一個通過192.168.100.1接口出去,一個通過162.168.1.1接口出去,究竟選擇哪個出去,WINDOWS似乎沒有很好的協(xié)議方法,從上面的路由跟蹤來看,很不幸選擇了192.168.100.1接口,當(dāng)然無法連通了。
圖4 抓取數(shù)據(jù)包截圖
下面筆者進(jìn)行深入分析:有很多用戶感言有的網(wǎng)站打得開,有時又時斷時續(xù)了,下面通過訪問www.ifeng.com抓包來進(jìn)一步剖析。當(dāng)打開www.ifeng.com網(wǎng)站時,通過抓包發(fā)現(xiàn)通過外網(wǎng)接口出去一個DNS請求包,然后收到一個應(yīng)答DNS請求包,得到正確的IP。同時通過內(nèi)網(wǎng)接口出去5個DNS請求包,但同時返回5個網(wǎng)絡(luò)不可達(dá)的ICMP數(shù)據(jù)包,如此看來,每一次DNS解析都會經(jīng)過這樣一個過程,讓W(xué)INDWOS系統(tǒng)無法正確判斷正確的出口走向,這樣就存在一定的隨機(jī)性,導(dǎo)致網(wǎng)絡(luò)時斷時續(xù)。
既然路由出口的問題,我們就重新布置出口路由,首先刪掉默認(rèn)路由。在DOS下執(zhí)行Route delete 0.0.0.0 刪除默認(rèn)路由后再來檢測網(wǎng)絡(luò)連通性。
C:windowssystem32>ping www.cctv.com
Ping 請求找不到主機(jī)www.cctv.com。請檢查該名稱,然后重試。這個是因?yàn)橄到y(tǒng)找不到出去的接口,也不會與DNS取得聯(lián)系,就直接顯示找不到主機(jī)了。
接下來增加一條永久路由,如表2所示。(防止計(jì)算機(jī)啟動后消失)。
表1 本地路由信息
表2 增加永久路由后的信息
route -p add 0.0.0.0 mask 0.0.0.0 162.168.1.1
這樣配置后,所有除192.168.100.0網(wǎng)段以外的所有數(shù)據(jù)包都會轉(zhuǎn)發(fā)到外網(wǎng)接口,從而保證了外網(wǎng)的正常訪問了。
問題延伸:如果在內(nèi)段上還有其它網(wǎng)段需要訪問,比如還有192.168.10.0需要訪問,這里也要增加一條永久路由:route -p add 192.168.10.0mask25 5.2 5 5.2 5 5.0 192.168.100.1(如 表 2所示),這樣就確保所有到網(wǎng)段192.168.10.0的數(shù)據(jù)包都轉(zhuǎn)發(fā)到192.168.100.1網(wǎng)關(guān)到達(dá)目的地。