ubuntu下配置vpn支援訪問外網,ubuntuvpn
公司的開發環境都是區域網路的,在公司內部使用沒有什麼問題,但是有時候確實要在外部比如家裡、出差使用,這時候就需要配置vpn串連公司內網了。vpn的配置很簡單,但有時我們連了vpn後還需要公網資源,比如qq接收檔案、查資料之類的,斷了vpn再連外網,查完資料後再連vpn,很煩。這就需要vpn同時也能訪問外網。windows環境下這種配置非常簡單,vpn的串連屬性上,把ipv4的屬性改為“自動獲得IP地址”和“自動獲得DNS伺服器位址”就行。但是linux下不是這麼簡單,需要修改路由表。
ubuntu下配置vpn有圖形介面,比較簡單,網上也有詳細的步驟,就不說了。配置成功後,終端下使用route -n看看路由表。
第一項就是預設路由,可以匹配所有的ip,也就是說所有網路最後都是走192.168.1.1(我的路由器網關,訪問外網)這個網關,除非能有更匹配的路由規則。這樣就明白了,如果想開啟vpn的時候也能訪問外網資源,那就將所有需要走vpn的ip規則指向ppp0的路由,剩餘的就會走預設閘道,也就是wlan0了。
怎麼查看vpn的net地址呢?串連vpn後,執行ifconfig命令,找到ppp0對應的點對點地址,比如是10.24.22.10,你要訪問的內網地址是10.24.2.132~10.24.3.232,那就填加一個路由,命令:routeadd -net 10.24.0.0 netmask 255.255.0.0 gw10.24.22.10(net是10.24.0.0,子網路遮罩是255.255.0.0,網關是10.24.22.10,躍點是1),然後重新串連vpn。使用traceroute命令,就能看到網路的訪問路徑,如果是請求外網,則第一跳是192.168.1.1,如果訪問的是vpn資源,則第一跳是10.24.22.10。這樣就實現了vpn同時能訪問外網的能力。
當然,你也可以通過圖形化介面配置:網路——vpn串連——配置vpn——編輯——IpV4設定——路由——添加——輸入地址、子網路遮罩、網關、度量——勾選忽略自動擷取的路由和僅將此串連用於相應的網路上的資源——儲存。
然後重新串連vpn,執行route-n查看路由表,這樣就可以同時訪問內網和外網資源了。