尽管端口转发,但无法连接

问题描述:

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

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

只是为了排除故障:在端口22上

  • 设置端口转发,并尝试ssh到使用公网IP的服务器?如果成功,这意味着Apache是​​暂时拒绝连接,而不是你的路由器或ISP

  • 在你的路由器,安装在服务器上的DMZ和检查是否正常工作

  • 添加另一个端口转发规则您路由器重定向端口8000的所有HTTP请求,例如,到80端口的内部,然后尝试用http://[public_ip]:8000

你有没有在apache2.conf文件改变任何东西访问您的服务器?另外,解释你如何测试连接,内部使用公共IP还是来自Internet?

+1

谢谢!我试图使用公共IP从我的内部网络连接。尝试从互联网连接后,它工作。这是否意味着当我想从我的内部网络连接时,我必须严格使用私人地址? – martin49

+0

谢谢你martin49。一直试图向前移动我的头发。 Felipe在22端口上表达了什么意思,并且在我的办公室服务器上工作过。阅读你的评论,并使用wget从一台机器不是本地的,它的工作。现在我需要弄清楚为什么公共IP在本地不起作用。可能与我的ISP不允许loobback有关。 – km1