我是 ubuntu 和网络方面的新手。
我打开了 tcp 和 udp 端口 9876。我创建了一个 java udp 客户端和服务器。服务器正在监听端口 9876,我使用外部 ip 地址连接到我的服务器。在我家用路由器上手动打开端口后(见图),我的 udp 客户端-服务器运行良好。
我的问题:
当我从此站点检查我的机器上的端口 9876 是否打开时:https://www.yougetsignal.com/tools/open-ports/,它说它已关闭。为什么?(即使我正在运行监听此端口的 udp 服务器)。我怎样才能向互联网上的所有人开放我机器上的端口 9876?
我在本地机器上运行的命令:
stavalfi@laptop:~/IdeaProjects/torrentx$ netstat -tulnp | grep 9876
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
stavalfi@laptop:~/IdeaProjects/torrentx(stav)$ sudo ufw status verbose
Status: inactive
stavalfi@laptop:~/IdeaProjects/torrentx(stav)$ sudo ufw status
Status: inactive
如果我理解正确的话,我的机器中的防火墙已关闭,并且端口 9876 未打开。
答案1
有三件事需要检查:
- 您的本地机器的端口
- 本地机器的防火墙
- 你的路由器
您可能已经完成了其中一些步骤。请重复这些步骤为了,有条不紊地消除每个可能的问题。不要跳来跳去。
本地机器端口:确保服务器正在运行,并且您可以从本地客户端连接到它。现在您知道服务器正在运行并且正确绑定到它的监听端口。
本地机器防火墙:从同一 LAN 上的另一台机器连接到服务器。如果失败,请修复服务器的防火墙规则。当您可以通过 LAN 进行连接时,您就知道您的服务器正在运行,并且您的防火墙配置正确。
路由器:从 LAN 之外的机器连接到服务器。实际上,在 LAN 之外,不仅仅是在 LAN 上,而是使用外部 IP 地址(路由器对此的处理方式不同)。如果连接失败,请修复路由器设置。路由器设置通常不是 Ubuntu 主题...除非您构建了自己的 Ubuntu 路由器。
这些步骤将引导您找到正确的后续问题。
答案2
你可以下载一个带有 gui 的 ufw 包 - 这是一种更简单的方法
sudo apt-get 安装 gufw
然后,您可以在防火墙中创建一个规则,允许通过端口连接到您的机器,或者定义那些可以监听您想要的内容的端口。
希望这可以帮助。