![使用 tinyproxy 通过 ssh 隧道接入互联网](https://linux22.com/image/944611/%E4%BD%BF%E7%94%A8%20tinyproxy%20%E9%80%9A%E8%BF%87%20ssh%20%E9%9A%A7%E9%81%93%E6%8E%A5%E5%85%A5%E4%BA%92%E8%81%94%E7%BD%91.png)
大家好,我请求你们的帮助以实现以下目标(抱歉我的英语不好)。我有一个从 VM1 到另一个 VM2 的 ssh 连接(使用 openBSD),我在 VM1 中有互联网连接,我想使用 tinyproxy 将互联网从 VM1 带到 VM2,以便在 VM2 中安装一些东西。我真的迷路了。
我的想法是在 VM1 中安装 tinyproxy(编辑配置),但此时,我如何通过 ssh 隧道使用它为 vm2 提供互联网
答案1
要完全回答这个问题,您需要更多有关您的网络设置的信息,因此我将在此做出一些假设。您需要根据自己的情况调整答案。
第一个问题是:您说您有从 VM1 到 VM2 的 ssh 连接。您有吗?仅有的ssh 连接,还是 VM1 和 VM2 之间有常规的完整网络连接?如果确实有完整连接,则无需使用 ssh 隧道作为代理,这只会使事情变得过于复杂。
假设您目前有一个完整的连接,并且您的 VM1 IP 地址是192.168.1.100
,而您的 VM2 IP 地址是192.168.1.200
。您应该在 VM1 上配置一个代理来监听端口 3128(这通常是用于代理的常用端口号,尽管您可以使用任何未使用的端口号),并将 VM2 配置为使用代理192.168.1.100:3128
。基本上就是这样。
如果您只有 ssh 连接(例如,两个虚拟机之间有防火墙,只允许 ssh 流量通过),则需要通过 ssh 连接转发端口。假设您仍在 VM1 的端口 3128 上运行代理,并且您正在通过 ssh 进行连接从VM1到VM2(如您在问题中所写)。在这种情况下,您需要在 VM1 上使用以下命令连接到 VM2:
ssh -R 3128:localhost:3128 192.168.1.200
建立连接后,您可以将 VM2 设置为使用代理localhost:3128
。
您也可以通过其他方式连接,即。从VM2到VM1,使用以下命令(在 VM2 上):
ssh -L 3128:localhost:3128 192.168.1.100
同样,连接建立后,设置VM2使用代理localhost:3128
。