LoongLee's blog

Firewalld 防火墙使用指南

Firewalld 防火墙使用指南

来源

原始文档: firewalld_use.md

核心内容

Firewalld 是 Linux 系统的动态防火墙管理工具,支持区域(zone)概念和运行时/永久配置。

安装与基础操作

# 安装
sudo apt install firewalld

# 服务管理
sudo systemctl start firewalld
sudo systemctl stop firewalld
sudo systemctl status firewalld

端口管理

# 永久开放端口
sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

# 临时开放端口(重启后失效)
sudo firewall-cmd --add-port=80/tcp

# 列出开放端口
sudo firewall-cmd --list-ports
sudo firewall-cmd --list-all
sudo firewall-cmd --reload

# 删除端口规则
sudo firewall-cmd --permanent --remove-port=3389/tcp

富规则(Rich Rules)

# 禁止指定网络通过特定端口入站
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="195.96.129.0/24" port port="1234" protocol="tcp" reject'

# 删除规则
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="195.96.129.0/24" port port="1234" protocol="tcp" reject'

# 禁止指定IP入站
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="91.217.81.140" reject'

# 列出所有富规则
sudo firewall-cmd --list-rich-rules

删除规则示例

# 删除富规则
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="3389" protocol="tcp" accept'

# 删除TCP协议的3389端口规则
sudo firewall-cmd --permanent --remove-port=3389/tcp

# 重载配置
sudo firewall-cmd --reload

关键要点

  • --permanent 参数使规则永久生效,需要 --reload 重载
  • 富规则支持更复杂的过滤逻辑
  • 可以基于源IP、端口、协议进行精细化控制
  • lsof -i :端口号 配合查看端口占用

相关实体

  • firewalld - 动态防火墙管理器
  • iptables - Linux 防火墙框架
  • 网络安全 - 网络安全实践
  • Linux安全 - Linux 系统安全