我在 Oracle 云基础架构上有一个 ubuntu 实例,我一直在该实例上运行 minecraft 服务器。它已经运行了几个月,在设置时,我在他们的网站和系统上打开端口没有遇到任何问题。
然而,突然之间,25565 端口似乎被关闭了。自从上次它工作以来,我就没碰过它。网站上的所有端口仍然打开,它们应该还在系统上。
我发现唯一奇怪的是当我尝试再次添加端口时例如使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-port=25565/udp
它输出一个错误:Error: DBUS_ERROR: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
我不知道是什么原因造成的。关于如何重新打开端口有什么想法吗?抱歉,我对此不太了解。我无法从 Oracle 获得支持,因为他们不为免费帐户提供支持,所以我在这里询问。
我的 Ubuntu 版本是 Ubuntu 22.04.1 LTS
答案1
我能够测试是否可以打开 UDP 端口 25565 并将流量从我的家庭网络传递到我的一个 Oracle Cloud 免费层计算实例。我的配置可能与您的配置略有不同,因为我运行的是 Ubuntu 20.04.6 LTS,实例/虚拟机是在 2021 年 3 月创建的。我提到创建时间是因为自从他们对阻止出站端口 25(SMTP)的策略在 2021 年 6 月中旬之后创建的实例发生更改以来(https://docs.oracle.com/en-us/iaas/releasenotes/changes/f7e95770-9844-43db-916c-6ccbaf2cfe24/和https://support.oracle.com/knowledge/Oracle%20Cloud/2787393_1.html),我想知道他们是否也开始阻止新实例上的其他端口。无论如何,以下是我采取的似乎有效的步骤:
添加入口规则:从左上角的 Oracle Cloud 门户菜单中,单击计算,然后单击实例。单击您的实例名称。然后在第一个选项卡上的实例信息下,在子标题实例详细信息下,查找文本虚拟云网络并单击该文本右侧的链接。您现在应该处于正确的虚拟云网络中,但如果没有,您可以从主菜单 > 网络 > 虚拟云网络查看所有虚拟云网络。
进入正确的虚拟云网络页面后,在左下角的资源栏中,单击安全列表。单击默认安全列表链接。
单击添加入口规则按钮。除了以下更改外,我保留了所有默认设置:源 CIDR:0.0.0.0/0 IP 协议:UDP 目标端口范围:25565 描述(可选):测试端口 25565 入口规则
从虚拟机实例控制台(通过 Cloud Shell/SSH/等)键入以下命令以允许端口 25565 通过虚拟机的防火墙:
sudo iptables -I 输入 6 -m 状态 --状态新 -p udp --dport 25565 -j 接受
此时端口应该已打开。但为了测试通过该端口的流量,我从以下网址下载了 iPerf2https://iperf.fr/iperf-download.php到我的本地机器。(我使用的是 2.0.9 32 位版本,但任何版本,甚至 iPerf3 都应该可以使用)。我还通过 APT 在虚拟机上安装了 iPerf2:
安装 iperf
然后我在虚拟机上输入以下命令,以服务器模式启动 iPerf2 实例并监听 UDP 端口 25565:
iperf --udp -s -p 25565
然后在我的 PC 上解压 iPerf2 v 2.0.9 32 位后,打开命令提示符,导航到正确的文件夹,然后键入以下命令让 iPerf2 以客户端模式启动并通过 UDP 端口 25565 连接到 Oracle Cloud 计算 VM 的公共 IP 地址:
iperf --udp --client -p 25565
以下是我得到的结果:
从客户端登录(使用家庭互联网连接的本地电脑):
------------------------------------------------------------
Client connecting to <Oracle Cloud VM Public IP>, UDP port 25565
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
UDP buffer size: 63.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.200.15 port 49922 connected with <Oracle Cloud VM Public IP> port 25565
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec
[ 3] Sent 893 datagrams
从服务器(Oracle Cloud Compute Instance Ubuntu 20.04 VM)登录:
user@host:~$ iperf --udp -s -p 25565 ------------------------------------------------------------
Server listening on UDP port 25565
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.2 port 25565 connected with <My Home ISP Public IP> port 49922
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 1.978 ms 0/ 893 (0%)
我希望这对您或其他有类似问题的人有所帮助!
答案2
我遇到了同样的问题并能够解决它。
首先,检查 D-Bus 状态:
systemctl status dbus
如果它没有运行(这是很有可能的),那么运行它:
sudo systemctl start dbus
然后检查 Firewalld 状态:
sudo firewall-cmd --state
如果它没有运行(这很可能),则运行它或重新启动实例。