【问题标题】:Can't connect despite port forwarding尽管进行了端口转发,但仍无法连接
【发布时间】:2026-01-04 15:35:02
【问题描述】:

我有一个 Ubuntu Server 16.04 在我本地网络中的机器上运行。 该机器具有静态分配的 IP 并运行 apache2。从我的本地网络连接到它没有问题。 我在路由器上设置了端口 22 和 80 的端口转发到机器的 IP 地址。 当我在http://www.canyouseeme.org/ 之类的网站上使用我的公共 IP 地址检查端口时,结果是端口已打开。当我尝试使用我的公共 IP 地址并使用这些端口进行连接时,连接被拒绝。 我尝试在路由器和机器上禁用防火墙,没有结果。

我还应该尝试什么?当我检查 netstat 时,服务器似乎没有收到任何传入连接。

【问题讨论】:

    标签: apache networking portforwarding ubuntu-server


    【解决方案1】:

    仅用于故障排除:

    • 在端口 22 上设置端口转发并尝试使用公共 IP 连接到您的服务器?如果有效,则表示 apache 拒绝连接,而不是您的路由器或 ISP

    • 在您的路由器上,暂时在 DMZ 上设置服务器并检查它是否工作

    • 在您的路由器上添加另一个端口转发规则,以将端口 8000 上的所有 http 请求重定向到内部端口 80,然后尝试使用 http://[public_ip]:8000 访问您的服务器

    您是否更改了 apache2.conf 文件中的任何内容?另外,请解释您如何在内部使用公共 IP 或从 Internet 测试连接?

    【讨论】:

    • 谢谢!我试图使用公共 IP 从我的内部网络连接。尝试从互联网连接后,它起作用了。这是否意味着当我想从内部网络连接时,我必须严格使用私有地址?
    • 谢谢你 martin49。一直在拉我的头发试图向前移动。做了 Felipe 在端口 22 上的建议,它在我的办公室服务器上工作。阅读您的评论并使用来自非本地机器的 wget 并且它有效。现在我需要弄清楚为什么公共 IP 在本地时不起作用。可能与我的 ISP 不允许回送有关。
    最近更新 更多