OpenVPN將所有路由轉送到socks端口

OpenVPN將所有路由轉送到socks端口

是否可以設定 openVPN 透過 sock 連接埠路由所有客戶端連線?即,我希望設定為:

Client -> openvpn server -> localhost socks5 port -> socks5 port forward -> the internet
machine 1    machine 2           machine 2              machine 3

我該怎麼做呢?

到目前為止,我一直在做同樣的事情,但使用 SSH 隧道而不是 VPN,雖然它運作良好,但我將添加不執行 ssh 隧道和 VPN 的新設備。

答案1

我認為你不能。

SOCKS 不是網路(第 3 層)協議,它是第 4 層協議,與其他應用程式一樣。將 OpenVPN(在第 3 層執行)排除在外,如果用戶端想要透過 SOCKS 代理程式路由流量,則通常必須具有 SOCKS 感知能力。每個客戶端軟體都必須知道 SOCKS 代理程式在哪裡,每個客戶端軟體都必須知道如何透過該代理程式開啟 SOCKS 連接,等等。

當您將 OpenVPN 添加到圖片中時,它不會突然使最終客戶端應用程式變得更加明亮。遠端 OpenVPN 伺服器也無法神奇地對經過它的任何客戶端流量進行 SOCKSification。

開放VPNSOCKS 感知的程度是它可以透過本機 SOCKS 代理程式建構到遠端終端節點的隧道,但我相信僅此而已。

答案2

MadHatter 的答案是正確的,但我懷疑這是一個案例XY問題。如果您在能夠路由和 NAT 流量的電腦上終止 OpenVPN(請參閱:任何現代伺服器作業系統),那麼絕對可以將 OpenVPN 和所述電腦設定為充當網路代理,因為用戶端連線將會出現在公共網際網路上,就好像它們來自代理計算機一樣。如果這是您想要解決的問題,iptables NAT 和一些路由調整對我來說非常有用。

相關內容