我用它ssh -D 8080 my server
来创建 SOCKS 代理。然后配置 OS X 以用作localhost:8080
SOCKS 代理。我使用它来访问互联网而不被监控。
我正在使用 Google 的 DNS 服务器 (8.8.8.8),但如何确保 DNS 查询通过 SSH 隧道?
答案1
我知道答案有点晚了,但为了参考和对于那些仍在寻找答案的人来说,
将 Firefox 配置中的属性(在地址栏中输入 about:config)设置network.proxy.socks_remote_dns
为 TRUE(只需双击该属性即可切换值)以通过本地/远程 socks5 代理启用 dns 查找。
PS:我不确定其他浏览器是否如此:(
答案2
答案3
由于 SSH 隧道仅用于 TCP/IP 连接,因此您无法立即执行此操作 - 如果没有特殊设置,UDP 流量将无法通过该隧道。基本上,您需要创建一个 fifo 来对 netcat 进行一些欺骗,如所述这里. 然后您可以从远端盒子使用 Google 的 DNS。
答案4
这取决于您的应用程序。例如,Firefox 将主机名发送到 SOCKS 代理而不解析它。在这种情况下,您无需为隐私做任何事情。您可以通过 wireshark 确认这一点。
PS. 假设您使用的是 SOCKS5 代理。SOCKS4 不支持主机名。