端口 80 的端口转发不适用于来自 LAN 内部的请求(适用于 WAN)



简而言之

  • 当我在浏览器中输入时mydom.com
    • 从 WAN,我从我的 HTTP 服务器(从 192.168.14.65:80(获取页面。
    • 局域网我得到我的路由器配置页面(从192.168.14.1:80(。(我希望它将请求转发到我的服务器,就像它对 WAN 所做的那样(
  • 当我在浏览器中输入时mydom.com:2134
    • 我从局域网和广域网获得服务器的页面(来自 192.168.14.65:80(。

  • 我有一个路由器,在那里我配置了端口转发 80 到 192.168.14.65:80。
  • 我在局域网内有一台带有HTTP服务器的计算机。 内部地址:192.168.14.65
  • 我有一个指向我的IP的域,比方说-mydom.com。
  • 当我从局域网外部输入浏览器mydom.com时,我从服务器获取页面(来自 192.168.14.65:80(
  • 当我从局域网内的计算机在浏览器中键入mydom.com时,我得到了路由器的配置页面(来自 192.168.14.1:80(
  • 此外,如果我配置为将 80 以外的任何端口(假设端口 2134(转发到服务器的 80 端口(所以 - 端口 2134 到 192.168.14.65:80(,它可以工作,这意味着当我mydom.com:2134时它可以在 LAN 和 WAN 中工作。

硬件/软件规格

  • 我在路由器上的名字:NB403 - VDSL2网关伟泰克
  • 服务器(192.168.14.65(是带有nginx/1.14.0的Ubuntu服务器18.04

这不是一个问题,而是向路由器供应商报告的错误。

棘手的部分实际上是IPv4或PAT/NAT反射部分。 您的 DNS 名称指向路由器的官方 IPv4。 因此,当您"外部"路由器仅进行端口转发时。 但是,当您"在内部"时,您的路由器需要为同一连接执行两种类型的PAT/NAT。

  1. 隐藏您的私有 IP 以访问公共 IP(访问公共 IP 空间/互联网中的任何内容都需要((来源 NAT(
  2. 将您的请求转发到内部服务器 IP(目标 NAT(

这让许多消费者 NAT 设备感到困惑。

有三种解决方案。

  1. 使用 IPv6。使用IPv6,不需要NAT/PAT,并且可以毫无问题地工作。

  2. 使用可以进行 NAT 反射的路由器。

  3. 使用"拆分 DNS"。这意味着当要求 mydom.com 时,您的内部 DNS 服务器会使用您的内部服务器 IP 进行应答。这样,当内部时,连接将直接连接到服务器的专用IP。不涉及 NAT。

问候 迈克尔

相关内容

最新更新