
預設情況下,我公司的 AnyConnect VPN(我在 ubuntu 上使用 openconnect 連接到它)僅將流量隧道傳輸到某些公司網站。
不幸的是,我目前在中國,防火牆阻止我訪問我們的許多雲端服務(例如 Google Apps),因此我希望透過 VPN 路由我的所有電腦流量以繞過封鎖。我該怎麼做呢?
答案1
如果您的 VPN 閘道僅通告到特定網路的路由,openconnect 會將此訊息傳達給您的VPN 腳本透過設定 CISCO_SPLIT_INC 環境變數:
#* CISCO_SPLIT_INC -- number of networks in split-network-list
#* CISCO_SPLIT_INC_%d_ADDR -- network address
#* CISCO_SPLIT_INC_%d_MASK -- subnet mask (for example: 255.255.255.0)
#* CISCO_SPLIT_INC_%d_MASKLEN -- subnet masklen (for example: 24)
在 Ubuntu 上,您可以編輯 /etc/vpnc/vpnc-script 並嘗試將 CISCO_SPLIT_INC 覆寫為空字串,以便 vpnc-script 將 tun0 設定為系統的預設路由:
# =========== script (variable) setup ====================================
# >>>INSERT THIS LINE:
CISCO_SPLIT_INC=
PATH=/sbin:/usr/sbin:$PATH
OS="`uname -s`"
網關對其分割隧道和路由具有單獨的設定。即使您在用戶端新增其他路由(或預設路由),網關的路由規則也可能僅設定為允許發送至分割隧道設定中列出的網路的流量。你必須嘗試一下才能看到。
在適用於 Android 的 OpenConnect,有一個每個 VPN 設定檔選項可以覆蓋分割隧道設定。將分割隧道模式設定為“開啟 - DNS 使用 VPN”,並將分割隧道網路設定為“0.0.0.0/0”。這相當於 Ubuntu 上的 vpnc-script 變更。
如果使用您公司現有的 AnyConnect 網關這些都不起作用,您可以考慮設定一個便宜的 VPS 並運行您自己的私人網關奧科服務安裝。