Linux:我需要通过第二台机器建立隧道,然后到达代理服务器

Linux:我需要通过第二台机器建立隧道,然后到达代理服务器

我有 2 台运行 CentOS 6 的服务器

我有一台服务器 A,它有 2 个网卡。eth0 是私有测试网络。eth1 是企业网络,必须使用代理服务器才能访问互联网。在这台服务器上,我使用

      export http_proxy=http://proxyserver:3128/

并能访问互联网。

我有一台服务器 B,它有 1 张网卡。eth0 与上面位于同一个私有测试网络上。

我希望服务器 B 能够连接到互联网。显然我唯一的选择是通过服务器 A。我尝试设置 squid 代理以及 SSH 隧道,但没有成功,我对这两者都不太了解,也不太懂得如何在 Google 上搜索到合适的示例/帮助。我的 Linux 技能严重不足。

答案1

您可以尝试以下操作来创建ssh从 B 到 A 的隧道。

server_B$ ssh -Nf -L 1234:proxyserver:3128 server_A

-N告诉ssh不要在 server_A 上启动 shell,并且-f它应该在提示输入密码后立即转到后台。

有趣的部分是-L,它指定了端口转发——我仍然惊讶于它可以做什么:

1234是本地(即 server_B)ssh将监听的端口。(当然也可以是 3128,但我选择了不同的值来说明区别。)

proxyserver必须可以从 server_A 访问;3128最后是您将被重定向到的端口。

由于端口转发是透明的,您应该能够在 server_B 上使用代理(一旦隧道打开)

export http_proxy=http://localhost:1234/

相关内容