如何在两个路由器后面设置网络服务器?

如何在两个路由器后面设置网络服务器?

我意识到这可能更适合 ServerFault,但这是我在非专业环境中运行的家庭网络。

在家里,我将主路由器连接到互联网,家庭主计算机和笔记本电脑都通过该路由器运行。我还有一个“开发”网络,其中虚拟机中有一个 m0n0wall 防火墙,用于提供互联网服务。我想在开发网络上的其中一台机器上托管一个网站(最终托管其他服务),但无法弄清楚如何通过主(belkin)路由器“端口转发”,通过 m0n0wall 防火墙,然后通过网络服务器。

流量必须通过公共 IP,通过主路由器 (192.168.2.1) 的端口 80,然后通过 m0n0wall 盒 (192.168.2.2) 的 WAN 连接转发,通过 LAN 连接 (192.168.10.2),最后进入服务器。保存配置后,我无法在它不工作时工作。我可以在主路由器后面很好地托管网站。m0n0wall 上有一条防火墙规则,用于传递来自 192.168.2.1 的端口 80 流量,但它就是不起作用。

我在下面绘制了一个非常基本的图表(不幸的是,任何高级的 Visio 东西对我来说都是黑魔法)。

在此处输入图片描述

答案1

  1. 不需要单独的 IP 范围,由于防火墙位于电缆之间,因此即使没有它也可以工作。

  2. 您的主路由器应该转发到 Web 服务器而不是防火墙。

  3. 您的防火墙应该接受任何源地址,主路由器不会覆盖源地址。

    这也允许您从家庭机器进行访问。

  4. 您的防火墙也应该允许流量流向另一端。

  5. 使用你可以看到我吗Wireshark进行更详细的故障排除。

答案2

好的,我终于解决了这个问题,并得到了我想要的结果。我不再使用 m0n0wall 盒子转发两次数据包,而是移动到了更改后的子网。我现在有一个基于 DD-WRT 的 Linksys E1000,处于“客户端模式”,因此它充当家庭无线网络的“客户端”,并有一个 DHCP/DNS 服务器为开发网络上的有线连接提供服务。我已将 Belkin 路由器和 DD-WRT 上的子网掩码从 255.255.255.0 更改为 255.255.252.0。Belkin 位于 192.168.2.1,DD-WRT 位于 192.168.1.1。每个网络上的机器都可以互相看到,因此,如果我将开发网络上的机器设置为静态 192.168.2.x,Belkin 将能够将端口转发到它。

图表时间: 在此处输入图片描述

我不知道 m0n0wall 是否能够转发数据包,但子网划分似乎是实现此目的的最简单的方法。

我可以推荐Wolfram Alpha获得易于使用的子网划分信息。

相关内容