linux

Linux防火墙如何自定义规则

小樊
34
2025-11-08 20:51:57
栏目: 智能运维

Linux防火墙自定义规则指南(iptables与firewalld)
Linux系统中,iptables(传统工具,适用于所有发行版)和firewalld(现代动态工具,适用于CentOS/RHEL/Fedora等)是两种主流防火墙管理工具,均支持通过自定义规则实现精准的流量控制。以下是具体操作方法:

一、iptables自定义规则

iptables通过“规则链(Chain)”和“规则(Rule)”实现流量过滤,核心命令结构为iptables [-t 表名] 选项 [匹配条件] -j 动作

1. 基础自定义规则示例

2. 自定义链管理

当默认链规则过多时,可通过自定义链优化管理:

3. 持久化规则

iptables规则默认重启后失效,需通过以下命令保存:

二、firewalld自定义规则

firewalld采用“区域(Zone)”和“服务(Service)”模型,支持动态更新,无需重启即可生效。

1. 基础自定义规则示例

2. 富规则(Rich Rules)

富规则支持更复杂的匹配条件(如IP段、端口范围、协议),语法为:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" [条件] [动作]'

3. 自定义服务

若需开放非标准服务(如自定义端口12345),可创建自定义服务文件:

4. 持久化与重载

三、注意事项

  1. 谨慎操作默认策略:避免将INPUT链默认策略设为DROP后,未允许SSH等必要流量,导致无法远程登录。
  2. 测试规则有效性:修改规则前,建议在本地终端开启新会话,防止误操作锁死系统。
  3. 备份现有规则:修改前通过sudo iptables-save > ~/iptables_backup.txt(iptables)或sudo cp /etc/firewalld/zones/(firewalld)备份,便于恢复。
  4. 优先级问题:iptables规则按添加顺序匹配,先匹配的规则优先;firewalld富规则优先级高于普通规则。

通过以上方法,可根据实际需求灵活定制Linux防火墙规则,实现精准的流量管控。

0
看了该问题的人还看了