好的,我家的网络设置了 2 个子网。有一个无线路由器(内置交换机)通过有线连接 PC A(192.168.1.3),通过 wifi 连接 PC B(192.168.1.101)。
另一个房间有有线交换机。PC C 连接到该交换机,其 IP 地址为 10.42.0.64。PC B 也连接到有线交换机,其 IP 地址为该子网的 10.42.0.1。
我已使用 PC B 上的网络配置 GUI,并将 eth0 (10.42.0.1) 设置为“与其他计算机共享”。通过此设置,我可以从另一个房间访问互联网和 PC A。
我还在无线路由器上添加了静态路由,使用 192.168.1.101 作为网关,使用 10.42.0.0 作为目标网络。添加路由后,我可以使用 PC A 的任意 IP 地址从 PC A 访问 PC B,但无法访问 PC C,而这正是我需要的。
我的 PC C 上运行着 samba 和一些 Web 服务,我需要从 PC A 访问它们,因此如能得到任何帮助我将非常感谢。
这是我的可视化设置:
答案1
您可以将 PC B 配置为两个子网之间的路由器,例如,参见设置 Ubuntu 有线/无线路由器正如在Ubuntu 官方文档网站。或者,为了从 A 访问在 C 上运行的 Web 服务,您可以安装代理服务器软件,例如乌贼或许多其他代理服务器应用程序之一,然后在 A 上配置浏览器以使用 B 作为代理服务器。或者,如果 B 充当安全外壳 (SSH)服务器,大多数 SSH 客户端允许你建立动态SOCKS代理在与 SSH 服务器上建立 SSH 连接时,您可以隧道通过 SOCKS 代理传输各种 TCP 流量,而不仅仅是 HTTP/HTTPS 流量。你应该能够建立隧道中小企业交通,虽然我自己从来没有这样做过。例如,参见SMB 代理:通过另外两台主机之间的 SSH 隧道连接到 SMB 服务器由于服务器故障。