1. 程式人生 > >記錄如何解決通過vpn連結公司內網,但是上不了外網的問題

記錄如何解決通過vpn連結公司內網,但是上不了外網的問題

我通過通過VPN連線公司內網之後都無法再上外網. 在網上查閱了一些資料,並沒有一個現成的解決辦法。大多數都提到要將“在遠端網路上使用預設閘道器”的複選框取消選擇。但是這種方法雖然讓我連上VPN後上了外網,但是卻連不上公司內網IP。 於是我仔細分析了一下家裡機器的路由表。

首先,讓我們來看一下沒有連上VPN的時候,路由表是什麼樣子。在windows下輸入route print命令,得到路由表如下:


可以看到目標網路是時遠端網路的時候,走的閘道器是192.168.1.1, 介面是192.168.1.102, metric是25, 也是優先順序最高的一條路由。

如果連上VPN的時候,路由表是這樣的


可以看到目標網路是遠端網路的時候,有兩條路由,一條走的還是原來的閘道器192.168.1.1但是metric達到了4250,非常高,優先順序很低。但是另一條路由,走的是192.168.17.37的介面(此介面是VPN介面, 見下圖), 可見,遠端網路流量最後走的第二條路由,即VPN路由,但是如果公司的VPN不提供網際網路連線的話,就讓我們在連線上VPN後無法訪問外網。

於是很多人提出,將VPN介面屬性更改,TCP/IP屬性的高階選項中 “在遠端網路上使用預設閘道器”取消。可以解決訪問外網走VPN介面的問題。我照著做了,可是外網可以訪問了,結果公司內網IP卻無法訪問,無法ping通。這個時候,路由表是這樣的:


可以看到第一條路由是外網訪問時,使用的路由,可是並沒有一個特別的路由指出192.168.10.0的公司內網該怎麼走。

於是新增路由如下:

Route add 192.168.10.0 mask 255.255.255.0 192.168.17.40 metric 25

此條命令需要以管理員身份執行,其新增目標網路為192.168.10.0, 子網掩碼為255.255.255.0, 閘道器為192.168.17.40 ,跳躍數為25的路由。

跳躍數定位25,是因為外網那條路由為25。 閘道器定為92.168.17.40 是因為通過ipconfig查詢,此時vpn介面IP是192.168.17.40. 如下圖:


PPP 介面卡 blackwing vpn:


   連線特定的 DNS 字尾 . . . . . . . :
   IPv4 地址 . . . . . . . . . . . . : 192.168.17.40
   子網掩碼  . . . . . . . . . . . . : 255.255.255.255
   預設閘道器. . . . . . . . . . . . . :

此條命令輸入後,路由表如下


路由雖然成功新增,而且我可以訪問內網IP了,系統並沒有按照我的意願將這條路由的metric定為25,而是定為45, 原因我並不知道。

目前的解決並不是完美的,因為我希望新增該路由為永久路由,這樣不需要每次連線上VPN後,都要修改一遍路由表。新增永久路由的方法是在上一條命令route後面加-p.

結果如下圖:


至此問題解決