使用中间人计算机连接到防火墙后面的远程计算机

使用中间人计算机连接到防火墙后面的远程计算机

网络设置

问题:

  • 网站将仅向以下对象提供内容Computer C
  • Computer A需要访问该网站。
  • Computer A看不见Computer C,反之亦然
  • Computer B看不见Computer AComputer C
  • 然而Computer A我们Computer C可以看到Computer B

问题:

是否可以通过中间人的身份Computer A查看网站内容并路由流量?Computer B

我目前的想法是:

Computer A和都Computer C建立 VPN 连接,Computer B以便所有计算机共享一个专用网络。然后Computer A在新的专用网络上设置 SOCKS PROXYComputer C并通过 浏览网站Computer C

我的想法可行吗?如果不可行,您能否提供解决方案?如果可行,我需要安装哪种软件以及运行哪种命令来建立这些连接?所有计算机都使用 Linux,但发行版不同。

答案1

首先,我假设你要求做的事情不违反任何政策、法规、法律等。这不是我给出的建议。

您需要在 B 和 C 上配置中继。您可以使用 netcat 来完成此操作。它应该在大多数 Linux 发行版中都有。

在主机 C 上,配置客户端到客户端中继:

mknod mypipe p
数控主机_B80 < mypipe | nc网络服务器80 | 三通 mypipe

主机 C 在端口 80 上与主机 B 建立出站连接。它收到的任何响应都会被转发到 Web 服务器。在主机 B 上,配置一个侦听器到侦听器中继:

mknod mypipe p
nc -l -p 8080 < mypipe | nc -l -p 80 | tee mypipe

主机 B 同时监听 80 和 8080 端口。它在一个端口听到的任何内容都会发送到另一个端口。

现在,当您从主机 A 浏览到主机 B 时,在端口 8080 上,您应该通过主机 C 连接到 Web 服务器。

答案2

您可以在 B 上运行 vpn 服务器,但请确保启用了客户端到客户端通信。检查 Openvpn 软件,http://www.openvpn.net

然后配置路由,将流量从 A 路由到网站并返回。检查 linux 命令 ip route,http://linux.die.net/man/8/ip

另一个解决方案是通过 2 个 GRE 隧道代替上面的 2 个 VPN 隧道。检查 Linux 上的 GRE 隧道,例如http://tier.cs.berkeley.edu/drupal/howto/ip-tunnel-using-gre-on-linux

如果防火墙可以通过,我更喜欢使用 GRE 隧道。

相关内容