远程终端一行命令开放 Linux 端口 —— firewalld 极简手册
适用系统:CentOS 7/8、RHEL 7/8、AlmaLinux、Rocky Linux
定位:在 SSH 会话里复制即可用,无需 GUI
1. 30 秒速查:防火墙到底开没开?
systemctl is-active firewalld && echo "运行中" || echo "未运行"
输出 running 再继续;若 inactive 先启动:
sudo systemctl start firewalld
sudo systemctl enable firewalld # 开机自启
2. 一条命令放行端口(永久生效)
# 单端口
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
# 连续端口段
sudo firewall-cmd --permanent --zone=public --add-port=8000-8010/tcp
# 一次性搞定常用 Web 端口
sudo firewall-cmd --permanent --zone=public --add-port={80,443,8080,8443}/tcp
立即生效
sudo firewall-cmd --reload
3. 验证 / 删除 / 列表(同样一条命令)
# 查单个
sudo firewall-cmd --zone=public --query-port=80/tcp && echo "已放行" || echo "未放行"
# 删单个
sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
sudo firewall-cmd --reload
# 一览所有已放行端口
sudo firewall-cmd --zone=public --list-ports
4. 完整生命周期示例:放行 3000 端口给 Node 项目
# 1. 放行
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
# 2. 重载
sudo firewall-cmd --reload
# 3. 验证
sudo firewall-cmd --zone=public --query-port=3000/tcp
# 4. 项目下线后回收
sudo firewall-cmd --permanent --zone=public --remove-port=3000/tcp
sudo firewall-cmd --reload
5. 常用运维命令速查表
启动防火墙 | `sudo systemctl start firewalld`
关闭防火墙 | `sudo systemctl stop firewalld`
重启防火墙 | `sudo systemctl restart firewalld`
开机自启 | `sudo systemctl enable firewalld`
取消自启 | `sudo systemctl disable firewalld`
查看版本 | `firewall-cmd --version`
查看状态 | `firewall-cmd --state`
活跃区域 | `firewall-cmd --get-active-zones`
网卡所属区域 | `firewall-cmd --get-zone-of-interface=eth0`
应急模式(断网) | `sudo firewall-cmd --panic-on`
取消应急 | `sudo firewall-cmd --panic-off`
查应急状态 | `firewall-cmd --query-panic`
版权声明:
作者:Suhao Zhang
链接:https://suhao.pw/80.html
文章版权归作者所有,未经允许请勿转载。
THE END