我有 3 台普通台式机 A、B 和 C,它们属于同一网络。我在 C 上有一个 apache web 服务器。我想有一个场景来测试我想在哪里将请求从 A 路由到 C 总是通过 B。是否有可能实现这一点?B 不是指定的网关机器,它是我的普通台式机之一。我可以玩路由表来实现这个目标吗?请指教。B 总是运行 linux,A 和 C 可以是任何操作系统(现在我使用的是 Windows)。
提前致谢。
我有 3 台普通台式机 A、B 和 C,它们属于同一网络。我在 C 上有一个 apache web 服务器。我想有一个场景来测试我想在哪里将请求从 A 路由到 C 总是通过 B。是否有可能实现这一点?B 不是指定的网关机器,它是我的普通台式机之一。我可以玩路由表来实现这个目标吗?请指教。B 总是运行 linux,A 和 C 可以是任何操作系统(现在我使用的是 Windows)。
提前致谢。
您是说设置代理/socks 隧道之类的东西吗?您可以将 ssh 与 -D 开关一起使用,以创建从 A 上的端口到 B 的隧道。
例如,在 A 上运行以下命令,然后您应该能够将您的 Web 浏览器代理配置指向本地计算机 (A) 上的端口 8080,并且一切都将通过 B
如果您希望它一直运行到您关闭计算机 A,您也可以使用 -f 开关,这会将 ssh 命令发送到后台。
请注意,您需要在机器 B 上安装 ssh(您运行的是 linux,所以没问题),但您在机器 A 上也需要它。您可以尝试使用 Cygwin,但在机器 A 上安装 putty 会更容易。(谷歌使用 putty 设置 socks 代理登录——这很容易,而且有很多教程)
如果机器 A、B 和 C 在同一个网络上,这可以很容易地通过 A 和 C 上的一些特定于主机的路由来完成。通常,IP 转发在 linux 下是禁用的,所以你必须启用它。
或者:
如果主机A是10.1.2.3/24,主机B是10.1.2.4/24,主机C是10.1.2.5/24,你需要如下添加路由。主持人A:
主持人丙:
等效路由在 Windows 下应该是可行的,但我手边没有现成的命令。