目前,我正在使用 OpenSSH 会话(带有-D
启用动态应用程序级端口转发的标志)作为 SOCKS 代理,同时通过未加密的无线接入点访问互联网。我已将 Mac 配置为使用代理,但网络首选项不允许我指定它应使用 SOCKS5,这将强制所有 UDP 流量通过代理(它目前完全绕过代理)。我如何让 OS X 使用 SOCKS5 协议,或者有什么其他解决方案可以强制所有 UDP 流量通过代理?
答案1
您无法使用 SSH 执行此操作。OpenSSH 客户端和服务器不支持通过 Socks5 的 UDP。
您应该使用 OpenVPN 或 SSH 隧道设备转发(选项 -w)来解决您的任务。
答案2
如果隧道上需要 UDP 是为了进行隧道 DNS 解析。我知道的唯一解决方案是使用具有以下设置的 Firefox network.proxy.socks_remote_dns = true
,我相信这会强制 Firefox 使用仅通过隧道转发的 TCP DNS 请求。
答案3
我不使用 ssh 来匿名化/保护我的连接,而是使用 Tor。我使用 Vidalia 启动 Tor,然后在
“系统偏好设置”>“网络”>“高级...”>“代理”中配置网络连接
。我通常启用 http 和 https,方法是将代理设置为 127.0.0.1 端口:8118
对于其他流量,请使用 127.0.0.1 端口 9050
这对我来说没问题。您可以通过将浏览器重定向到来检查您是否正在使用 Tor 进行 httpshttps://check.torproject.org/
FireFox 中的 Torbutton 也有同样的功能。