设置代理来镜像 SSH SOCKS 连接

设置代理来镜像 SSH SOCKS 连接

我有两台远程机器,remote1 和 remote2。remote2 只运行 sshd,我无法在其上运行任何其他程序。remote1 是一台功能齐全的服务器,我可以完全访问它。我可以在 remote2 上运行 SOCKS 代理,这样ssh -f -N -D *:8080 me@remote2我就可以在 remote1 的端口 8080 上公开 SOCKS 代理。我想验证这一点,这样代理就不会处于打开状态。我该怎么做?

好像我应该能够使用代表,但我似乎无法使其 HTTP 代理功能正常工作。当我运行时,delegated -r -P8081 SERVER=http PERMIT="*:*:*" REMITTABLE="*"我甚至无法让它在端口 8081 上工作。

无论如何,我希望有人能给我指明正确的方向,让我能够验证对 SOCKS 代理连接的访问​​权限?也就是说,我希望能够将浏览器的代理指向 remote1,并通过 SSH SOCKS 代理/隧道浏览到 remote2 的互联网。

squid 不支持 SOCKS 父级 =(

谢谢!

答案1

尼龙支持带有 ACL 的 SOCKS 镜像

http://monkey.org/~marius/pages/?page=nylon

答案2

如果您希望仅从某个本地网络可以访问 remote1:8080,请将“-D *:8080”更改为“-D $IP:8080”,其中 $IP 是 remote1 的本地网络地址。

如果你愿意you <-(ssh)-> remote1 <-(ssh/socks)-> remote2 <-> internet,你可以这样做:

  1. 从“-D *:8080”更改为“-D 127.0.0.1:8080”。
  2. 始终使用选项“-L 127.0.0.1:8080:127.0.0.1:8080”从“您” ssh 到“remote1”,并使用 127.0.0.1:8080 作为 SOCKS 代理。它将映射到 remote1:8080,然后映射到 remote2,最后映射到互联网。

您还可以设置一对 stunnels 或 socats,使用 SSL 证书保护您的连接。

相关内容