我粗略地画出了我的网络布局:
网关、两台服务器和 wifi 路由器有一个全局 IP 地址,子网掩码为 255.255.255.240。
PC 的本地 IP 地址在 10.0.1.x 范围内,子网为 255.255.255.0
我需要做的是:让两台服务器可以从 PC 的本地网络访问,反之亦然。服务器运行 Ubuntu,PC 运行 Windows、Ubuntu 和 Mac。这可以通过route
在 Ubuntu 服务器中添加或为它们分配两个 IP 地址来实现吗?我真的不知道该怎么做。
任何帮助都将不胜感激。谢谢!
编辑: 更多信息:
- 我无法访问网关。它由 ISP 提供
- 服务器(和网关)有全局 IP 地址。这就是为什么我无法将它们合并到单个网络中。
- 路由器是 Apple Airport。我不确定型号。但我认为它没什么用。
我知道,就我目前的硬件和网络拓扑而言,这个问题没有明确的解决办法。正如你们中的一些人指出的那样,我可以用 LAN 速度从 PC 轻松访问服务器。目前我可以忍受这种情况。
答案1
您能否使用 IP 地址从 PC 向其中一台服务器发布跟踪路由?(我认为这应该可以正常工作,但如果您使用服务器名称,则不行,因为名称解析广播不会跨越子网边界,可以通过将服务器 ips 和名称添加到 hosts 文件来解决此问题)
由于路由器正在运行 nat,因此反向操作可能会很棘手。服务器需要访问电脑上的哪些端口?
答案2
事实上,这是问题中相当多的路由。
你的设置有问题。
- 您的典型 wifi 路由器通常不支持手动输入的路由。如果您愿意,您可以查看固件是否可以通过 openwrt、dd-wrt 解决方案等替换,这些解决方案基于 linux 并允许进行此类修改。
- 您可以考虑设置静态路由和 iptables 规则,允许外部网络进入内部网络。但请记住,您必须设置网关,以便静态路由指向正确配置的 wifi 路由器。
- 在网关上设置到 wifi 路由器的静态路由 10.0.1.0/24
- 在路由器上设置 iptables,以便允许两个子网连接
答案3
作为 Weltenwanderer,您的 PC 应该已经能够访问您的服务器。请求将通过 WIFI 路由器,就像连接到互联网一样,也就是说,PC 可以发起请求,服务器会响应,但服务器无法向 PC 发起请求。
最简单的方法是将 WIFI 路由器移到网关和交换机之间,这样就只有一个网络,这样 PC 和服务器都在 10.0.1.x 网络上,并将所有 IP 地址分配给路由器,在 WIFI 路由器上设置一对一 NAT 规则。如果您使用的是消费级 WIFI 路由器,它可能不支持此功能。
另一个想法。图表中的网关是什么?那是防火墙还是路由器本身?您可能能够将其配置为支持多个 IP 和一对一 NAT 路由本身。如果您可以这样做,请再次设置您的网络,以便所有内容都在 10.0.1.x 网络上,并使用其交换机端口之一(而不是 WAN 端口)插入 WIFI 路由器,因此它仅充当接入点而不是路由器。