【问题标题】:Issue With SSL Traffic Originating From Home Network Destined to Home Server Using External IP源自使用外部 IP 的家庭网络发往家庭服务器的 SSL 流量问题
【发布时间】:2020-05-19 14:20:30
【问题描述】:

https 来自我的家庭网络,目的地是我的家庭服务器,但使用的外部 IP 地址会阻止 ssl 握手工作。我使用的路由器是 AT&T 提供的 BGW210,我在 80 和 443 上设置了 NAT 到我的服务器。

如果我从外部访问由我的家庭服务器提供的网站,它可以正常工作。如果我只设置 http/80,无论我从哪里访问它都可以正常工作。如果我在本地网络中的计算机上更改 /etc/hosts 以使域直接指向本地 IP,那么 https 网站就可以正常工作。当它解析到我的外部静态 IP 然后通过 NAT 并且我从本地网络这样做时,我会遇到超时和迟缓。

如果我在各个端口上进行 telnet,您可以看到它在握手时挂起的位置,然后我保释(域和 ip 被替换):

pinkboi@Thomass-MBP ~ % telnet example.com 443
Trying 7.7.7.7...
^C
pinkboi@Thomass-MBP ~ % telnet example.com 80
Trying 7.7.7.7...
Connected to example.com.
Escape character is '^]'.

【问题讨论】:

    标签: ssl nginx server router


    【解决方案1】:

    原来这是这个路由器和端口 443 的问题。如果我做相同的设置但在 8443 或其他东西上,https 工作正常。进一步看,事实证明这是该路由器以及可能由 AT&T 提供的其他路由器的长期问题(请参阅here、here 和here)。尝试在路由器上使用 IP 转发或 DMZ 设置并不能从它正在执行的任何过滤中保存其背后的任何内容。防火墙设置都不起作用。

    由于我已经拥有静态 IP,我能够绕过过滤并通过打开 公共子网模式有效地将 BGW 用作调制解调器,并将我自己的路由器用作路由器。为此:

    1. 如果您还没有,请从 AT&T 获取所有静态 IP、默认网关、网络掩码设置。
    2. 转到家庭网络 -> 子网和 DHCP
    3. 打开公共子网模式并允许入站流量。将主 DHCP 池设置为公共。
    4. 根据需要将来自 AT&T 的信息放入后面的字段中。我也没有将 BGW 本身设置为使用任何静态 IP,因为我没有使用它为任何服务器进行 NAT。
    5. 使用您想要的设置设置您自己选择的路由器,然后将其关闭,将其 wan 端口插入 BGW 的以太网端口之一。开启它。
    6. 将服务器连接到此路由器而不是 BGW,并在其上设置 NAT。

    现在 BGW 的过滤被绕过了,现在您自己的路由器的工作就是为您的服务器处理 NAT。这还提供了一个优势,即您不会被 BGW 的有限功能集所束缚。如果你有一个好的路由器,上面有 DD-WRT,你可以设置自己的 DNS、VPN 等。是的,这彻底解决了端口 443 问题。

    请注意,您通过以太网(不适用于 wifi)连接到 BGW 的任何东西都将直接暴露给外界。我只会插入带防火墙的路由器,因为你再次绕过了 BGW 的防火墙。

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2013-10-27
      • 2014-05-25
      • 2023-03-29
      • 2016-05-11
      相关资源
      最近更新 更多