【问题标题】:Port-forwarding for port 80 doesn't work for requests from inside the LAN (works for WAN)端口 80 的端口转发不适用于来自 LAN 内部的请求(适用于 WAN)
【发布时间】:2019-09-26 18:10:02
【问题描述】:

简而言之

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

更长

  • 我有一个路由器,在那里我配置了端口转发 80 到 192.168.14.65:80。
  • 我在 LAN 中有一台计算机,上面装有 HTTP 服务器。内部地址:192.168.14.65
  • 我有一个指向我的 IP 的域,比如说 mydom.com。
  • 当我在 LAN 外部的浏览器 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 GATEWAY Vtech
  • 服务器 (192.168.14.65) 是 Ubuntu-server 18.04 with nginx/1.14.0

【问题讨论】:

    标签: networking router portforwarding


    【解决方案1】:

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

    棘手的部分实际上是 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。

    问候, 迈克尔

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      • 2014-10-03
      • 2020-10-23
      • 2012-05-04
      相关资源
      最近更新 更多