本地主机仅与 Host1 有连接。Host1 与 Host2 和本地主机有连接。我该如何设置才能使用 Host2 作为来自本地主机的网络流量的代理?
我看过类似的主题,但无法让它工作。如何在 Windows XP 客户端上进行设置?
编辑:
这是我关注 Adam Batkin 的帖子后使用的设置
答案1
以下是您要执行的操作的概述:
- Firefox 将所有流量重定向到在端口 9999 上(本地)监听的代理
- 在 上
Localhost
,PuTTY 监听端口 9999,并通过开放的 SSH 连接将来自该端口的任何流量转发到Host1
- 在 上
Host1
,ssh 监听端口 9999 上的连接,并将所有流量代理到Host2
,就像一个 SOCKS 代理一样
首先,您需要设置一条隧道,以便从 到Localhost
。Host1
此隧道只会传输原始流量。获取一份油灰在 上Localhost
,将其设置为连接到Host1
,然后在左侧菜单中,转到连接、SSH、隧道。输入源端口(例如 9999)和目标(例如“ localhost:9999
”),然后点击添加。连接后,PuTTY 将监听端口 9999,并且它在那里建立的任何连接都将转发到Host
,此时(从Host1
)将建立到 的连接localhost:9999
(Host1
即将尝试连接到本身在端口 9999 上)。
接下来,我们需要设置一个代理来从 到Host1
。Host2
事实证明openssh
已经内置了一个。从Host
运行以下命令:
ssh -D 9999 host2
这将建立一个袜子上的代理Host1
,监听端口 9999,它会将所有流量转发到Host2
。
最后一步是设置您已打开的任何应用程序以Localhost
使用“localhost:9999”作为 SOCKS 代理:
- 从“工具”菜单中选择“选项”
- 进入高级页面
- 选择“网络”选项卡
- 单击设置按钮
- 将其设置为“手动代理配置”,并输入“localhost”作为 SOCKS 主机,输入 9999 作为旁边的端口
就是这样!
(我实际上已经测试过了,并且效果很好。)