centOS防火墙操作
centOS防火墙操作
一、核心命令:开启防火墙并设置开机自启
开启防火墙服务(临时生效,重启后需重新开启):
sudo systemctl start firewalld
设置防火墙开机自启(确保重启系统后仍保持开启状态):
sudo systemctl enable firewalld
验证防火墙状态(确认是否成功开启):
sudo systemctl status firewalld
若输出中包含 active (running),表示防火墙已正常开启;
若显示 inactive (dead),则表示未开启,需重新执行开启命令。
二、常用辅助命令(开启防火墙后必知)
- 开放端口(允许特定端口的入站流量)
防火墙开启后默认拦截大部分端口,需手动开放必要端口(如 SSH 22、HTTP 80 等):
# 格式:sudo firewall-cmd --add-port=端口号/协议 --permanent
# 示例1:开放 SSH 端口(22/tcp,远程连接必备)sudo firewall-cmd --add-port=22/tcp --permanent# 示例2:开放 HTTP 端口(80/tcp,Web服务)
sudo firewall-cmd --add-port=80/tcp --permanent# 示例3:开放 MySQL 端口(3306/tcp,数据库服务)
sudo firewall-cmd --add-port=3306/tcp --permanent
--permanent:表示规则永久生效(不加此参数则临时生效,重启防火墙后失效);
端口修改后需重新加载配置才能生效:
bash
sudo firewall-cmd --reload
2. 查看已开放的端口 / 服务
bash
# 查看所有永久开放的端口
sudo firewall-cmd --list-ports --permanent# 查看当前生效的开放端口(包括临时规则)
sudo firewall-cmd --list-ports
3. 关闭防火墙(临时 / 永久)
bash
# 临时关闭防火墙(重启后自动恢复开启状态)
sudo systemctl stop firewalld# 永久关闭防火墙(禁止开机自启,需谨慎使用)
sudo systemctl disable firewalld
三、注意事项
最小权限原则:仅开放业务必需的端口(如 Web 服务只开 80/443,避免开放不必要的高危端口)。
规则生效:所有带 --permanent 的命令需执行 firewall-cmd --reload 后才会生效。
防火墙状态异常:若执行命令提示 firewalld is not running,说明防火墙未启动,需先执行 systemctl start firewalld。
安装 firewalld:如果系统未安装 firewalld(极少情况),需先安装:
sudo yum install firewalld -y