如何在客戶端的 .ovpn 設定檔中停用透過 VPN 路由所有流量(包括網路流量)?

如何在客戶端的 .ovpn 設定檔中停用透過 VPN 路由所有流量(包括網路流量)?

為了連接到公司網絡,我有這四個文件

  • ca.crt
  • 客戶端.ovpn
  • 客戶端密鑰
  • 客戶端.crt

我無法透過 Ubuntu GUI 建立 VPN 連接,但我設法透過命令列cd進入包含這些文件和sudo openvpn --config client.ovpn.它將我連接到網絡,但我無法訪問網絡之外的任何其他主機。經過大量谷歌搜尋後,似乎是因為我的所有流量(包括網路流量)都透過 VPN 的路由已啟用。在論壇上,人們建議選取Use this connection only for resources on its networkVPN 編輯視窗中的核取方塊。但由於我無法透過 GUI 建立連接 - 我在連接清單中沒有它,因此我無法透過 GUI 編輯它。但也許我可以在 client.ovpn 設定檔中添加一些內容來解決這個問題?

答案1

答案1

在 OpenVPN 用戶端文件中client.ovpn尋找並註解掉此行(如果存在):

redirect-gateway
# This is a comment so change line above to this
# redirect-gateway

如果管理員或伺服器尚未將其放入用戶端檔案或正在「推送」重新導向網關,您可以按照以下說明手動覆寫它:忽略重新導向網關

為了幫助確定如何最好地進行,請執行以下操作。首先將所有內容重設為VPN之前的狀態(例如重新啟動)。然後檢查是否可以存取本地網路。然後運行:

sudo ip route

這將顯示目前的預設網關 - 記下這一點,我們稱之為original。然後正常執行 vpn 客戶端sudo openvpn config.opvn。連線建立後,執行sudo ip route.您應該看到預設網關已更改,因此所有內容都透過 VPN 路由。

接下來殺死 openvpn 並sudo ip route再次運行以檢查設定是否已恢復。然後使用選項運行客戶端--route-nopull

--route-nopull 用於路由和 dhcp 選項,例如 DNS 伺服器。當在客戶端上使用時,此選項有效地禁止伺服器為客戶端的路由表新增路由,但請注意,此選項仍然允許伺服器設定客戶端 TUN/TAP 介面的 TCP/IP 屬性。

最後檢查使用的sudo ip route預設閘道是否與original(因為這就是指令的作用)相同。理論上,您應該具有本地網路存取權限和 VPN 介面。

方法 2 基本上接受完整的 VPN 配置,但允許您手動指定網關位址。

答案2

你已經嘗試過這個了嗎?Ubuntu手冊

相關內容