通过路由器 NAT 将 HTTP 转发到 LAMP 服务器

通过路由器 NAT 将 HTTP 转发到 LAMP 服务器

我正在尝试在办公室安装 LAMP 服务器。我的网站是通过网络托管服务托管的,但目前我想将其迁移进来,这样我就可以有更多选择在服务器上执行操作。

我的环境基本上是一些小型网络设备(Dlink 调制解调器、路由器和交换机)、一台 Win2008 服务器、新设置的 LAMP 服务器(基本上是一台安装了 Ubuntu Server 8.04 的备用 PC)和几台客户端 PC/笔记本电脑。Win 服务器和 Linux 服务器都有静态 IP。例如:

调制解调器 -> 路由器/防火墙 -> 千兆交换机 -> Win 服务器
               | |
               | -> 客户端电脑
               -> 灯

我之前曾使用过 DynDNS,并且运行良好,使用其中一个域名连接到我办公室的网络。我能够连接到端口 80 上的 Win 服务器以及我需要的其他几个服务器。现在我想将端口 80 连接转发到 Linux 服务器。如果为此更改了路由器的 NAT 定义,但我没有收到任何响应。我让路由器的 NAT 将另一个端口 (81) 转换为 Windows 端口 80,并且运行正常,但我仍然无法让它将端口 80 转发到 LAMP 的端口 80。在内部,一切正常(我可以通过本地静态 IP 地址连接)。

所以我认为这可能与 LAMp 服务器上的某些网络或防火墙设置有关。我一直在使用 WebMin 在其中移动,而 LAMP 服务器的防火墙设置显然设置为“允许所有流量”。

所以我的问题是,有人能告诉我我做错了什么或者给我指明正确的方向吗?

答案1

需要调查的一些可能性:

  1. 如果您可以登录到防火墙,请尝试从该机器连接到 LAMP 端口 80,以确保防火墙可以正确与服务器通信。
  2. 检查您的 LAMP 服务器是否未过滤任何流量。您需要禁用所有防火墙规则。
  3. 检查您的 LAMP HTTP 服务器是否确实未连接。有时,传入流量已连接,但传出回复路由不正确。
  4. 您可能希望将 LAMP 服务器设置为防火墙中的 DMZ 区域,以便允许双向流量在 Internet 和 LAMP 之间流动。

祝你好运!

答案2

您的路由器有 Web 管理界面吗?如果已启用(即使未将其配置为在其 WAN 接口上接受连接),这可能会干扰您定义的转发端口 80 流量的 NAT。

在大多数 Cisco 平台上,您可以使用以下命令禁用 Web 管理界面:

no ip http server

听起来您正在使用消费级路由器,因此您不太可能能够禁用 Web 界面。

如果是这种情况,那么你几乎肯定需要新的硬件 - 要么是低端“托管”路由器,要么是可以运行开放固件的 SOHO 路由器,例如番茄或者DD-WRT

相关内容