我创建了一个连接到我家庭网络的服务器。虽然这与问题无关,但它运行的是 Ubuntu 22.04,现在我正在高端端口上以 HTTPS 模式运行(并尝试连接到)Apache 默认网页。我正在尝试配置
我的路由器,以便此服务器将暴露给一般互联网。我的 ISP 是 Verizon,我的 IPv4 应该不在 CGNAT 范围内,我已将 IPv6 地址设置为静态,我的路由器有几种方法可以实现这一点。根据我的理解:
- 有 DMZ 托管,这显然允许我的服务器完全暴露在互联网上。它有 IPv4 和 IPv6 模式。
- 存在 IPv6 针孔,它应该允许流量流入和流出我的 IPv6 主机的单个端口。
- 有 IPv4 端口转发,它应该允许从特定端口发往我的路由器 IPv4 的流量到达从特定端口发往我的服务器。
我有几个测试用例来检查我的服务器是否正确连接:
- 我可以从本地 WiFi 网络连接到服务器吗?
- 当我使用数据时(WiFi 已断开连接,但我的提供商也是 Verizon),我可以从手机连接到服务器吗?
- 我可以从附近的咖啡馆连接到服务器吗?
- 我可以从各种 AWS EC2 实例连接(使用 cURL)到服务器吗?
许多这些情况似乎不起作用。我始终可以使用 IPv4 或 IPv6 访问测试案例 1 中的服务器。使用 IPv6 端口转发和 IPv6 DMZ 的组合,我可以访问测试案例 2 和 4 中的服务器(但只能访问一个 AWS 实例)。在案例 3 中或使用除我最初尝试的实例之外的其他 AWS 实例时,它继续工作,并返回网络无法访问错误。我正在使用服务器声称它具有的本地 IPv6 地址,但我相信这是在我的路由器地址下,应该能够从外部路由到该地址(?)。到目前为止,IPv4 端口转发和 DMZ 似乎工作正常,尽管我还没有测试案例 3,但为什么 IPv6 在某些情况下可以工作,但在其他情况下却不行呢?我是否尝试错误地连接到它?此外,我对路由器设置的理解是否正确?