Linux 防火墙规则控制哪些入站连接可以访问您的 VPS 上的服务。仅打开您的软件需要的端口,并确保服务在从外部测试之前正在运行。
端口可以是 TCP、UDP 或两者。许多游戏服务器使用 UDP 进行游戏流量,使用 TCP 进行网页面板、RCON 或 API,因此在打开端口之前请查看游戏文档。
启用防火墙之前
在启用或重新加载防火墙之前允许 SSH。如果 SSH 被阻止,您可能会被锁定在外,需要使用 VPS 控制台来修复规则。
在测试防火墙更改时保持当前的 SSH 会话打开。应用规则后,打开第二个 SSH 会话以确认您仍然可以连接。
使用 UFW 的 Ubuntu 或 Debian
如果 UFW 尚未启用,首先允许 SSH:
sudo ufw allow OpenSSH
如果您的 SSH 服务使用自定义端口,请允许该端口。对于端口 22 上的正常 SSH:
sudo ufw allow 22/tcp
在允许 SSH 后启用 UFW:
sudo ufw enable
允许 TCP 端口:
sudo ufw allow 7777/tcp
允许 UDP 端口:
sudo ufw allow 7777/udp
仅从一个受信任的 IP 地址允许端口:
sudo ufw allow from TRUSTED_IP to any port 22 proto tcp
检查状态:
sudo ufw status

使用 firewalld 的 AlmaLinux、Rocky Linux 或 Oracle Linux
如果您通过 SSH 连接,在更改 firewalld 规则之前允许 SSH:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
允许 TCP 端口:
sudo firewall-cmd --permanent --add-port=7777/tcp sudo firewall-cmd --reload
允许 UDP 端口:
sudo firewall-cmd --permanent --add-port=7777/udp sudo firewall-cmd --reload
列出开放端口:
sudo firewall-cmd --list-ports
常见游戏服务器示例
| 示例 | 规则类型 |
|---|---|
Minecraft Java 默认端口 25565 | TCP |
| 许多 Steam 专用服务器 | 通常是 UDP 游戏端口,有时也包括 TCP 查询/RCON 端口。 |
| 网页面板 | 通常是 TCP,例如 80、443 或自定义面板端口。 |
打开端口后
- 启动应在该端口上监听的应用程序。
- 检查监听端口:如何检查 Linux VPS 上的监听端口。
- 如果您的 VPS 也有面板防火墙,请在那里也允许相同的端口。
- 删除您不再需要的规则。
