Linux配置:防火墙【firewalld】
accttodo 12/31/2024 运维操作系统Linux
目录
参考:
# Linux配置:防火墙【firewalld】
# 常用命令:
# 1. 查看防火墙状态
sudo firewall-cmd --state # 查看运行/停止状态
sudo firewall-cmd --list-all # 查看当前区域所有规则
1
2
2
# 2. 区域管理
sudo firewall-cmd --get-active-zones # 查看活动的区域
sudo firewall-cmd --set-default-zone=public # 设置默认区域
1
2
2
# 3. 服务管理
sudo firewall-cmd --list-services # 列出已允许的服务
sudo firewall-cmd --remove-service=http # 移除 HTTP 服务规则
1
2
2
# 4. 端口管理
sudo firewall-cmd --add-port=8080/tcp # 开放 TCP 8080 端口(临时)
sudo firewall-cmd --permanent --add-port=443/tcp # 永久开放 HTTPS
1
2
2
# 5. IP 地址限制
sudo firewall-cmd --add-source=192.168.1.0/24 --zone=trusted # 信任指定网段
sudo firewall-cmd --remove-source=192.168.1.100 # 移除单个 IP
1
2
2
# 6. 直接操作规则(高级)
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port port="22" protocol="tcp" accept' # 自定义规则
1
# 7. 备份与恢复
sudo firewall-cmd --runtime-to-permanent # 将临时规则转为永久
sudo cp /etc/firewalld/zones /backup/ # 手动备份配置文件
1
2
2
# 关键注意事项:
- 永久规则 vs 运行时规则:
--permanent
修改的配置需重载或重启生效,未加此参数仅临时生效(重启失效)。 - 避免锁死:远程操作时,确保保留至少一个可访问的规则(如先添加新规则再移除旧规则)。
- 服务预定义:FirewallD 内置服务(如
ssh
、http
)自动映射端口,优先使用服务名而非手动指定端口。