怎么配置 RackNerd VPS 的防火墙允许特定端口访问

文章导读
配置 RackNerd VPS 防火墙允许特定端口访问,需先确认系统使用的防火墙工具是 UFW 还是 Firewalld,再执行放行命令并重载配置。操作前务必确保 SSH 端口未被误关闭,以免失去服务器连接。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

配置 RackNerd VPS 防火墙允许特定端口访问,需先确认系统使用的防火墙工具是 UFW 还是 Firewalld,再执行放行命令并重载配置。操作前务必确保 SSH 端口未被误关闭,以免失去服务器连接。

先说结论:核心在于区分运行时与永久配置,并验证服务监听状态。

  • 适合:Linux 系统管理员或拥有 root 权限的用户
  • 先准备:确认当前活跃的防火墙工具及目标端口协议
  • 再验证:使用外部工具测试端口可达性与规则生效情况

命令速用版

根据操作系统不同,RackNerd VPS 通常使用 UFW(Ubuntu/Debian)或 Firewalld(CentOS/Rocky/Alma),以下命令需通过 SSH 以 root 身份执行。

Ubuntu/Debian (UFW):

sudo ufw allow 80/tcp
sudo ufw reload
sudo ufw status

CentOS/Rocky (Firewalld):

sudo firewall-cmd `--permanent` `--add-port`=80/tcp
sudo firewall-cmd `--reload`
sudo firewall-cmd `--query-port`=80/tcp

限制特定 IP 访问 (Firewalld):

sudo firewall-cmd `--permanent` `--add-rich-rule`='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'

为什么会这样

防火墙默认策略通常为拒绝所有入站连接,仅放行明确允许的流量。即使服务已启动,若防火墙规则未放行对应端口,外部请求仍会被拦截。此外,配置分为运行时(临时)与永久(持久化)两种,未写入永久配置会导致重启后规则丢失。

分步处理

1. 确认防火墙状态与类型

执行systemctl status firewalldsudo ufw status查看活跃工具。若两者均未运行,检查是否使用了 iptables 或云面板安全组。

2. 开放目标端口

根据上述命令速用版选择对应命令。若需永久生效,Firewalld 必须加`--permanent`参数,UFW 默认即为永久但需确保服务启用。

3. 重载配置

Firewalld 修改永久规则后必须执行firewall-cmd `--reload`,否则新规则仅在运行时临时存在且可能未生效。UFW 修改后建议执行ufw reload

4. 限制特定 IP(可选)

若需安全加固,使用富规则(Rich Rules)或 UFW 的allow from语法,仅允许可信 IP 访问特定端口,避免全开放暴露风险。

怎么验证是否生效

1. 本地监听检查

执行sudo ss -tulnsudo netstat -tuln,确认目标端口处于LISTEN状态且绑定地址为0.0.0.0或具体 IP。

怎么配置 RackNerd VPS 的防火墙允许特定端口访问

2. 防火墙规则检查

Firewalld 使用firewall-cmd `--list-all`查看端口列表;UFW 使用sudo ufw status verbose查看详细规则。

3. 外部连通性测试

在本地电脑使用telnet 服务器 IP 端口curl -v http://服务器 IP:端口。若连接成功则配置生效,若超时则可能被防火墙或服务商网络策略拦截。

常见坑

1. 永久配置未重载

Firewalld 添加`--permanent`后未执行 reload,导致规则未激活。解决方法是补执行 reload 命令。

2. 服务未启动

防火墙放行了端口,但对应软件(如 Nginx)未运行。需先systemctl start 服务名确保端口被监听。

3. 协议不匹配

开放了 TCP 端口但服务使用 UDP,或反之。需确认软件文档要求的协议类型。

4. 误封 SSH 端口

修改防火墙策略时未保留 22 端口,导致无法远程连接。若发生此情况,需通过 VPS 控制面板的 VNC 控制台恢复。

常见问题

UFW 和 Firewalld 能同时开吗?

不建议同时启用,可能导致规则冲突。通常 Ubuntu 默认用 UFW,CentOS 默认用 Firewalld,选择一个管理即可。

配置后端口仍然无法访问怎么办?

先检查服务是否监听端口,再确认防火墙规则是否重载,最后联系服务商确认是否有外部网络限制。

如何删除已开放的端口规则?

Firewalld 使用`--remove-port`=端口/协议,UFW 使用ufw delete allow 端口,完成后均需重载配置。

参考来源

  • Linux 如何配置 Firewalld 防火墙开放指定端口 (安全准则)
  • Racknerd 服务器 Ubuntu 防火墙配置记录
  • 解决 Racknerd KVM VPS 80 端口无法访问问题
  • Linux 防火墙设置允许特定 IP 访问指定端口
  • VPS 如何开启被关闭的端口?手把手教你开启端口