記錄如何解決通過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.
結果如下圖:
至此問題解決