Ubuntu Server 16.04:端口转发中断

Ubuntu Server 16.04:端口转发中断

我有一台运行 minecraft 服务器的服务器。它配置为在端口 25565 上工作。

在我的路由器中,我已经将端口 25565 转发到服务器,端口 25565。简单转发。

在内部我可以正常登录(使用或不使用端口,通过指定服务器的本地 IP)。CanYouSeeMe.org 表示端口已打开,但我无法使用外部 IP 登录(使用或不使用端口,没有区别)。

我们通过对我的外部 IP 进行 nmap 扫描发现,该端口无论如何都是关闭的......

ufw 已禁用,我非常确定。启用防火墙 (ufw),再次运行 nmap 扫描,仍然关闭。

我是否必须打电话给我的 ISP,或者这是我做错的事情/尚未修复?

编辑 美好的,尽管这对我来说已经足够回答了,但我会将其添加到问题中:

与 NAT 环回有关。
当我将 PC 与手机的数据计划连接时,外部 IP 运行正常。

所以

  • 当我连接到家庭网络时,我使用内部 IP
  • 当我不在家时,我使用外部 IP

另一项编辑
各位,我很抱歉在论坛上发帖到底它不属于这里。有了信息有(端口转发工作,ssh 使用两个 IP 工作)我认为问题出在服务器上。

继续,将其标记为题外话。也许从未听说过 NAT 反射的人(比如我)会找到这个主题,找出问题所在,并得到帮助。

答案1

根据您的描述,您已正确配置和测试了端口,结果您必须与您的 Internet 服务提供商沟通以解决。一些 ISP 会阻止某些端口,以避免其客户运行某些类型的服务器。一些 ISP 会阻止几个常见端口,即端口 25 和 80。

您可以通过在特定端口上配置服务器来验证端口转发操作。启动服务器,转发端口,然后使用以下命令行测试连接:

$ telnet [serverip] [portnumber]

命令行中的参数是:

  • ServerIP——这是您的计算机的公共 IP 地址。
  • 端口号——这是服务器正在运行的端口号。

如果您的公网 IP 地址是 172.217.7.14 ,要测试的端口是 8080 ,则命令为:

$ telnet 172.217.7.14 8080

现在,通过从远程计算机运行该命令,您可以通过响应判断是否正在进入该程序。

在这种情况下,如果您配置Minecraft 服务器在此端口上运行该命令的响应将是:

Trying 172.217.7.14...
Connected to 172.217.7.14.
Escape character is '^]'.

Ctrl您可以通过按+退出连接。然后在提示符下]输入。这是始终有效的常规方法。在这种情况下,只需按+即可完成 Minecraft 服务器的操作。quitCtrlC

编辑你的 Minecraft服务器属性文件来测试不同的端口。更改服务器端口:

更改自:

服务器端口=25565

改成:

服务器端口=8080

您还可以测试其他随机端口,例如12345了解他们的阻止选择有多么具体。

在您确认该端口已被您的 ISP 阻止(通过使其他端口工作)后,您就可以通过有根据的对话来表达您的担忧。

您可能需要与他们的一位技术人员交谈,因为大多数时候他们的常规销售人员不了解端口和服务器的概念。

相关内容