1. 程式人生 > >VPN連線後不能上外網解決方法

VPN連線後不能上外網解決方法

很多公司都架設了自己的VPN 網路,對公司內移動辦公的使用者提供接入。但是大多數情況下很多使用者發現只要連線上VPN,原本正常的網路瀏覽、QQ等訪問Internet的通訊都被斷掉了,而本地區域網的訪問(跨網段的)也不行了。

於是仔細研究,最終在顯示路由表的時候發現了區別(在命令提示符視窗下鍵入:route print,連上VPN的路由表)。

一般的VPN連線上之後,系統會自動載入一條“8個0”的路由條目,將預設閘道器指向VPN網路的閘道器,Metric為1.即目的網路:0.0.0.0,掩碼:0.0.0.0.代表所有網路地址,也就是說所有目的網路沒有在具體路由條目中指明去向,且不在本網段內的通訊都要轉發到指定的預設閘道器去,然後再由閘道器來擇路轉發。

    而Metric為路由條目的度量值,與優先順序成反比。可以看出這時所有非本網段的訪問都被轉發到VPN閘道器上,而不是原來的本地閘道器。原有8個0的預設路由的Metric被改為 2.在路由條目中目的地址相同的情況下,這個度量值越小則相應的優先順序越高,這時只有前面那條Metric為1的路由有效,而本地閘道器失效了,這樣訪問Internet當然有困難了。

    在圖中可以看到,第一條Gateway(閘道器)為172.16.1.1的路由是本地網路的預設路由,Metric被改成2了。而多添加了第二條8個0的預設路由是VPN連線的路由,Metric值為1.這時我們只要對第二條路由做修改,讓只有目的為192.168.0.0/24這個網段的包發到VPN的閘道器上去,而其他訪問仍然走本地閘道器即可。

    那麼我們要先刪除掉第二條路由,命令為:route delete 0.0.0.0 mask 0.0.0.0 192.168.0.3;然後新增一條新的路由條目,命令為:route add 192.168.1.0 mask 255.255.255.0 192.168.0.3.這樣原有的本地預設路由將重新起作用,至此故障解決。

    注:route命令是用來管理系統路由表的。一個路由條目一般由“目的或目標(Destination)”、“網路掩碼(Netmask)”以及“閘道器(Gateway)”組成。顯示路由表的命令是route print;新增一個靜態路由命令是route add 目標 掩碼閘道器。另外,如果不加-p引數,則新建路由不會儲存,重啟後即消失。刪除一個路由條目的命令是“route add 目標 掩碼 閘道器”;改變一個路由的命令為“route change 目標 掩碼 閘道器”。