Linux配置:防火墙【firewalld】

12/31/2024 运维操作系统Linux

目录


参考:


# Linux配置:防火墙【firewalld】

# 常用命令:

# 1. 查看防火墙状态

sudo firewall-cmd --state          # 查看运行/停止状态
sudo firewall-cmd --list-all       # 查看当前区域所有规则
1
2

# 2. 区域管理

sudo firewall-cmd --get-active-zones  # 查看活动的区域
sudo firewall-cmd --set-default-zone=public  # 设置默认区域
1
2

# 3. 服务管理

sudo firewall-cmd --list-services       # 列出已允许的服务
sudo firewall-cmd --remove-service=http # 移除 HTTP 服务规则
1
2

# 4. 端口管理

sudo firewall-cmd --add-port=8080/tcp   # 开放 TCP 8080 端口(临时)
sudo firewall-cmd --permanent --add-port=443/tcp  # 永久开放 HTTPS
1
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

# 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

# 关键注意事项:

  • 永久规则 vs 运行时规则--permanent 修改的配置需重载或重启生效,未加此参数仅临时生效(重启失效)。
  • 避免锁死:远程操作时,确保保留至少一个可访问的规则(如先添加新规则再移除旧规则)。
  • 服务预定义:FirewallD 内置服务(如 sshhttp)自动映射端口,优先使用服务名而非手动指定端口。
上次更新时间: 3/21/2025, 6:24:14 AM