问题:
- 网站将仅向以下对象提供内容
Computer C
Computer A
需要访问该网站。Computer A
看不见Computer C
,反之亦然Computer B
看不见Computer A
,Computer 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 隧道。