解決雙網絡卡機器同時訪問內外網的問題
以前為了方便測試,我在自己的電腦(不是伺服器)安裝了雙網絡卡,雙網絡卡接入的是兩個不同的網路但都可上網。最近為了搭建和測試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
方案:
開啟“執行”〉輸入“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地址並刪除內網閘道器,執行CMD視窗,執行以下命令route -p add 192.0.0.0 mask 255.0.0.0 192.168.3.240(建立永久路由點),結束。這樣未連線外網時正常訪問內網,連線外網後能同時訪問內外網。
現在很多企業為了安全都是使用內外網的,希望以上資訊對你有所幫助
***************************************************
route add命令的主要作用是新增靜態路由,通常的格式是:route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
引數含義:^destination ^mask ^gateway metric^ ^interface destination【網段地址】
mask【子網掩碼】
gateway【閘道器地址】
metric 【路由跳數】
if【埠號】
一般情況下,不涉及本機地址,除非你要做測試。 其中:
可以省略【路由跳數】引數;
當通往該閘道器地址的路徑唯一時,【埠號】引數可以省略。(因為在多埠的路由交換裝置上,可能存在通往同一個IP地址的多條備份路徑。)
mask 是關鍵字,不能省略。 route add 134.105.0.0 mask 255.255.0.0 134.105.64.1
意思是:所有需要發往134.105.0.0/16地址段的IP資料包,全部由134.105.64.1路徑轉發。 這個命令在大型IP網路組建時經常用到,在不同廠商的裝置上命令格式可能不同,但原理是一樣的。 如果有多條路由,根據不同的路由協議(比如rip, ospf等)的規定,一般優先選擇網段地址小的路由。比如,當以下兩條路由同時被新增的時候:
route add 134.105.0.0 mask 255.255.0.0 134.105.64.1
route add 134.105.128.0 mask 255.255.128.0 134.105.0.1
目標地址是134.105.128.1的IP包會優先選擇第二條路由。
***************************************************