解決雙網卡機器同時訪問內外網的問題

我的一臺機器雙網卡(不是服務器),現工作需要,一塊需要上公網(外網),一塊上公司內部數據網,要同時都訪問,但現在有個問題,上外網(寬帶撥號後)就上不了內網,上內網上不了外網(需斷開外網),應該怎樣配才能解決呢?我的系統及網絡配置:操作系統是WIN2000,內網網卡ip:192.168.1.11,內網網關:192.168.1.254,外網網卡ip:自動獲取,網關:無。

       爲了以上問題,我查閱了網上很少有解決方法,唯一較好的方法是手動添加路由點,並且區分優先權,方法如下:
       前提是已撥號上網:運行cmd,至CMD窗口下運行以下命令:
      route delete 0.0.0.0 mask 0.0.0.0 192.168.1.254    (刪除內網網關)
       route change 0.0.0.0 mask 0.0.0.0 220.184.16.118 metic 2     (改變默認外網網關優先權爲2,220.184.16.118爲外網分配的ip地址)
       route add 192.0.0.0 mask 255.0.0.0 192.168.1.254 metic 1      (添加內網路由點,且優先權設置爲1)
       通過以上命令,確實能同時訪問內外網了,但每次重起又會丟失,你可以做成BAT批命令文件,將外網ip做成參數輸入,但這樣還是麻煩:每次重起並撥號上網後需查詢外網ip,再進入運行批命令文件。
       經過研究路由的原理,我找到了一勞永逸更簡單的辦法,首先介紹一下路由原理:雙網卡機器一般內網網卡ip都設置了網關地址,而windows默認網關只能有一個,不上外網的情況下默認網關就是內網網關,撥號上網後默認網關自動改爲外網分配的ip,即所有數據流都流向外網網卡ip,導致此時不能訪問內網。用route print命令查看此時的路由情況不難發現地址0.0.0.0(可以把0看成通配符)開始的路由點有兩個,一個是內網網關,一個是外網ip,而外網ip成了默認網關。因此本人有了以下思路:不用內網網關,將內網網關做成永久路由點且僅過濾內網網段(192開頭的ip數據),而不改變外網的默認網關,這樣根據優先權,訪問內網的數據會從永久路由點走,其它數據從外網的默認網關走(路由表設置的特殊地址除外),從而達到目的。具體方法如下:
        到內網本地連接屬性設置中記住網關ip地址並刪除內網網關,運行CMD窗口,運行以下命令route -p add 192.0.0.0 mask 255.0.0.0 192.168.1.254(創建永久路由點),結束。這樣未撥號上網時正常訪問內網,撥號上網後能同時訪問內外網。

經常遇到一臺計算機要同時訪問兩個網絡(一個是互聯網,一個是企業內部網)的要求
以本單位爲例:地址是虛構的^_^
機器有兩塊網卡,接到兩臺交換機上
internet地址:218.22.123.123,子網掩碼:255.255.255.0,網關:218.22.123.254
企業內部網地址:10.128.123.123,子網掩碼:255.255.255.0,網關:10.128.123.254
如果按正常的設置方法設置每塊網卡的ip地址和網關,再cmd下使用route print查看時會看到
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 218.22.123.254 218.22.123.123 20
0.0.0.0 0.0.0.0 10.128.123.254 10.128.123.123 1
即指向0.0.0.0的有兩個網關,這樣就會出現路由衝突,兩個網絡都不能訪問。要實現同時訪問兩個網絡就要用到route命令
第一步:route delete 0.0.0.0 "刪除所有0.0.0.0的路由"
第二步:route add 0.0.0.0 mask 0.0.0.0 218.22.123.254 "添加0.0.0.0網絡路由"
第三步:route add 10.0.0.0 mask 255.0.0.0 10.128.123.254 "添加10.0.0.0網絡路由"
這時就可以同時訪問兩個網絡了,但碰到一個問題,使用上述命令添加的路由在系統重新啓動後會自動丟失,怎樣保存現有的路由表呢?
在win2000 下可以使用route add -p 添加靜態路由,即重啓後,路由不會丟失。注意使用前要在tcp/ip設置裏去掉接在企業內部網的網卡的網關
在win98下沒有-p 參數,可以把以上命令存入到一個.bat文件中,然後在啓動時調用即可

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