Arch-Linux

系統範圍的 SOCKS5 代理

  • June 3, 2020

我使用ssh -D 3128 user@rootserver.com. 如果我是對的,我會打開一個 SOCKS v5 代理到我的伺服器。使用 Firefox 和 FoxyProxy,我現在可以將它添加到我的代理中,並通過它建立我的 HTTP 流量。但是,我想將此 SOCKS 代理用於我的所有流量。朋友告訴我,他們已經通過修改您的路線或使用iptables任何我找不到的任何東西看到了這一點。

SOCKS5是一種協議(即在 OSI 的應用層中iptables),因此僅靠普通的網路路由(例如 via )是行不通的。(這可能是必要的,但還不夠。)

你需要的是一個proxifier。在沒有嘗試過的情況下tun2socks,允許您*“在網路層對 TCP 進行 socksify”*,看起來很有希望(就像proxychainsiptables但沒有顯式地為程序添加前綴)。

(可以socat在這裡使用嗎? 提到socat了襪子,但我目前不確定。)

**Proxybound**可以完成這項工作

要按照您的要求廣泛應用它,您可以將其添加為預設的預載入庫,為此編輯/etc/ld.so.preload和添加/usr/local/lib/libproxybound.solibproxybound.so取決於您安裝代理綁定的方式

重新啟動後,任何啟動的應用程序都將預載入 proxybound 並因此被代理

這個方法需要**仔細測試,**因為proxybound並不是和你可能遇到的所有應用都兼容(導致一些應用無法啟動,因為proxybound不允許不支持的應用啟動,這是為了避免洩露)。或者,您可以使用特定使用者空間或使用者會話LD_PRELOAD的值設置 env 變數,以限制應用代理綁定的位置。/usr/local/lib/libproxybound.so

引用自:https://unix.stackexchange.com/questions/44653