(本文之前是轉載自互連網,現已經修改,下邊是本人操作後重新整裡的)
以前為了方便測試,我在自己的電腦(不是伺服器)安裝了雙網卡,雙網卡接入的是兩個不同的網路但都可上網。最近為了搭建和測試VPN,我將其中一塊網卡接入一個小型內網(即不能訪問Internet),此時便遇到問題:只能訪問那個小型內網,卻無法訪問Internet,經查閱眾多解決方案後,覺得還是手動添加路有點比較好,同時區分優先權。
以下是系統內容與解決方案:
本機內網IP:192.168.3.172 子網路遮罩:255.255.255.0 內網網關:192.168.3.240 (不可訪問Internet)
本機外網IP:192.168.1.199 子網路遮罩:255.255.255.0 內網網關:192.168.1.1 (可訪問Internet)
方案:
開啟“運行”〉輸入“CMD”,然後輸入以下命令:
route delete 0.0.0.0 mask 0.0.0.0 192.168.3.240 #刪除內網網關
route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 2 #改變預設外網網關優先權為2,220.184.16.118為外網分配的ip地址
route add 192.0.0.0 mask 255.0.0.0 192.168.3.240 metric 1 #添加內網路由點,且優先權設定為1
現在終於可以內網外網同時訪問了,但問題依然有,重啟之後這些更改就失效,需要重新設定,如果你會寫DOS批處理,可以在開機的時候自啟動就好了,以下是我寫的批處理參考:(複製到記事本,網關自己更改,然後把尾碼改為.bat即可)
@ echo off
route delete 0.0.0.0 mask 0.0.0.0 192.168.3.240
route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 2
route add 192.0.0.0 mask 255.0.0.0 192.168.3.240 metric 1
很簡單吧,呵呵
其實也有更簡單的方法,只是上邊的方法適合測試或不常用雙網卡實現內外網的,但公司裡確實需要固定的,這就手動調整就顯得太麻煩了
下面再介紹一種方法:
首先介紹一下路由原理:雙網卡機器一般內網網卡ip都設定了網關地址,而windows預設閘道只能有一個,不上外網的情況下預設閘道就是內網網關,使用外網上網後預設閘道自動改為外網分配的ip,可以使用route print查看,即所有資料流都流向外網網卡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.3.240(建立永久路由點),結束。這樣未串連外網時正常訪問內網,串連外網後能同時訪問內外網。
現在很多企業為了安全都是使用內外網的,希望以上資訊對你有所協助