如何僅將瀏覽器流量傳遞到 openvpn 連接

如何僅將瀏覽器流量傳遞到 openvpn 連接

我已經成功建立了 openvpn 連線。透過使用參數

redirect-gateway def1
dhcp-option DNS 10.8.0.1

所有流量都將通過 VPN,但我只希望特定應用程式(如瀏覽器(例如​​ Firefox))使用 openvpn 連線。所有其他流量應通過常規網關。

我可以使用襪子/代理設定將其指向 openvpn 連結嗎?也許我可以使用膩子來創建這個連結?如果是這樣,怎麼辦?

順便說一句,這是在 Windows 作業系統上。

答案1

我特別遇到這個問題,但找不到易於使用的解決方案。基本上的做法還是在VPN伺服器中設定SOCKS伺服器。我製作了這個 Docker 映像以使其真正可用

https://hub.docker.com/r/kizzx2/openvpn-client-socks/

啟動它,然後將瀏覽器設定為使用 SOCKS 代理:local.docker:1081

即使沒有內建的代理配置,大多數應用程式也可能被迫經歷這一過程。看代理鏈

答案2

是的,您可以使用 SOCKS 代理(或常規代理),並只需確保到該代理的流量通過 VPN。 [當然,如果您使用SSH,則VPN是多餘的]。您可能需要刪除“redirect-gateway def1”語句,可能會完全忽略它或將其替換為“redirect-private”。

您需要注意,如果您的名稱伺服器不在 VPN 的另一端,則 DNS 流量可能會洩漏到您現有的網路中。

Putty 可用於建立襪子連接。

Unix 方式(顯然也適用於 Putty)- 從命令列

putty -D 8080 使用者名稱@遠端主機

(其中8080​​是SOCKS連接埠)

Windows方式:從http://vectrosecurity.com/content/view/67/26/(並在此處重複,以防網站消失)

  1. 打開膩子。
  2. 如果顯示「主機名稱(或 IP 位址)」且下方有一個方塊,請在方塊中輸入 SSH 主機的名稱。
  3. 在「已儲存的會話」下輸入此連線的名稱,以幫助您稍後記住它。例如,您可以將其稱為“SSH 代理”,這樣您就知道這將是代理連線。
  4. 在左側的「類別:」功能表中,展開「連線」功能表清單(如果尚未展開)。如果尚未展開「SSH」選單列表,請展開該選單列表。點選“隧道”(位於“SSH”下方)。這將打開選項,您將在其中輸入 PuTTY 的設定以建立隧道。
  5. 在「新增轉送埠:」下輸入 9853
  6. 如果顯示“目的地”,請將該欄位留空,但請務必選擇其下方的“動態”選項。
  7. 按一下“新增”按鈕以新增此連接埠。
  8. 在左側的「類別:」功能表中,按一下「連線」。
  9. 如果顯示“保持活動間隔時間(0 表示關閉)”,請在方塊中輸入 5。這將使您的連線保持活動狀態,並防止連線逾時,即使您離開電腦一段時間也是如此。
  10. 在左側的「類別:」選單中,點擊最頂部的「會話」返回第一個畫面。
  11. 點擊“儲存”按鈕儲存您剛剛輸入的所有設定。您將不必以後再次輸入這些設置,您只需在每次希望連接到代理時加載保存的配置文件(通過在打開 PuTTY 後雙擊它)即可。
  12. 點選“開啟”按鈕開啟與代理的連線。
  13. 連線後,系統將要求您輸入使用者名稱和密碼。輸入您帳戶的使用者名稱和密碼。一旦連接,隧道就打開了。使用完隧道後,輸入 logout 並按 Enter 鍵。

答案3

如果您確實特別要求支援代理伺服器的應用程序,答案很簡單:使用代理伺服器!

必須設定您的 VPN 連接,以便它不會修改客戶端的預設網關。這樣,所有流量都使用常規路由到達網際網路。

我假設您的 VPN 連線用作10.20.30.0/24子網,並10.20.30.1作為伺服器的 IP 位址。

在您的 VPN 伺服器上設定代理程式(squid,或可能更輕的東西)並將其設定為偵聽10.20.30.1.將您的瀏覽器(或其他裝置)指向位於 的代理程式10.20.30.1。到此 IP 位址的流量將始終透過您的 VPN 連線路由。

相關內容