巧用ROUTE命令實現跨網段訪問

  問題的提出來自於我一個構想的實現,單位裏原有一個基於Windows NTWindows9x的局域網,其內部的靜態IP地址爲120.11.0.1120.11.0.30,子網掩碼爲255.255.255.0 ,其中打字室有一臺電腦(IP地址120.11.0.14,暫稱之爲A機)也掛在網上,由於工作需要把打字室另外一臺電腦(因只有一個模塊接口,故無法直接連接至網上,稱之爲B機)和A機共享打印機,於是我就設計了一個小的對等網方案,網絡拓撲結構如圖。在AB機上各添加了一塊網卡,用雙絞線跳線將兩卡直接相連。爲了不與原有的網絡發生衝突,我將A機的新網卡的IP地址設爲了192.168.0.1, B機的IP地址相應設爲192.168.0.2 ,掩碼均爲255.255.255.0,同時選用NetBUITCP/IP兩個網絡協議,很順利地實現了我當初將兩臺機器互連的構想。
能否跨網段訪問
可隨後又一個想法在我的心頭一閃而過,B機能否通過A機訪問到120.11.0.0網段上的機器資源呢?如果能做到,它就能解決建網中經常出現的接口不夠用問題,其用處實在太大了。
抱着這個想法,我開始了實驗。要知道,在沒有路由器之前,人們就是利用一些加有多個網卡的PC機充當網關的,這不和我現在的情況一樣嗎!我開始四處找相關的軟件,找來找去,最終也還是沒有找到一個有用的答案。NETBUI是不可路由的協議,所以問題顯然要從TCP/IP協議入手。能否用在B機的設置中添加一個網關的辦法來實現呢?我試着在B機的TCP/IP網絡配置項的網關欄添加上了120.11.0.14,我當時的想法就是利用A機的雙網卡,用A機來充當一個路由中轉,因爲在A機的網上鄰居中我們既能看到120.11.0.0網段上的共享資源,也能看到192.168.0.0網段的B機。結果,我仍然無法Ping120.11.0.0網段上其他機器,我只能Ping通的是192.168.0.1120.11.0.14,也就是A機的兩塊網卡的IP地址。從120.11.0.9上去Ping 192.168.0.1192.168.0.2也還是不通,看來我後添的網關似乎並沒有起什麼作用。
靈機一動想起Route
我忽然想起了Route 這個在Windows 9x中並不讓人注意的命令,在120.11.0.9上執行了route print 之後,結果是如表一。
表一:
active routes:
network address
netmask
gateway address
interface
metric
0.0.0.0
0.0.0.0
120.11.0.254
120.11.0.9
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
……
表二:
network address
netmask
gateway address
interface
metric
0.0.0.0
0.0.0.0
120.11.0.254
120.11.0.9
1
0.0.0.0
0.0.0.0
120.11.0.14
120.11.0.9
1
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
……
我試着又在120.11.0.9TCP/IP網絡配置項的網關欄添加上了120.11.0.14,之後再運行route print,發現路由表有了變動,在上述結果中添加了一條,如表二所示。
但是結果並不如意,仍然無法PingB機,通過檢查分析發現兩者距離向量都爲1,且網絡地址均爲0.0.0.0,根據Microsoft公司的定義,第一個爲其缺省網關的原則,它是不可能訪問到我添加的第二個網關的,看來問題就出在這裏了!
一個命令解決問題
隨後,通過學習,我發現利用Route 命令提供的:Route Delete Route ADD 兩條命令就可以成功地實現跨網段訪問的需求,爲此我編寫了一個批處理命令,其內容如下:
route delete 0.0.0.0
route add 192.168.0.0 mask 255.255.255.0 120.11.0.14 metric 1
網絡拓撲圖
route add 0.0.0.0 mask 255.255.255.0 120.11.0.254 metric 1
在測試機120.11.0.9上運行該批處理命令後再運行Ping192.168.0.1,終於系統返回了響應!隨後在網上鄰居也能夠看到打字室的B機了!
今後,如果120.11.0.0網段裏的主機需要對192網段的機器進行訪問,只需運行上述批處理命令即可實現跨網段訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章