首页主机资讯Linux防火墙能否自定义过滤规则

Linux防火墙能否自定义过滤规则

时间2025-12-18 21:03:04发布访客分类主机资讯浏览1023
导读:Linux防火墙自定义过滤规则指南 核心要点 可以,Linux 的防火墙支持按源/目的 IP、端口、协议、接口、ICMP 类型等条件进行精细化过滤,并可自定义规则优先级与处置动作(如ACCEPT/REJECT/DROP/LOG)。常见工具包...

Linux防火墙自定义过滤规则指南

核心要点

可以,Linux 的防火墙支持按源/目的 IP、端口、协议、接口、ICMP 类型等条件进行精细化过滤,并可自定义规则优先级与处置动作(如ACCEPT/REJECT/DROP/LOG)。常见工具包括:底层的 iptables/nftables、动态管理的 firewalld,以及简化的 ufw。这些工具既支持基础端口/IP 放行或拒绝,也支持创建自定义链富规则来实现复杂策略。

常用工具与能力对比

工具 主要能力 典型场景
iptables/nftables 基于表/链(如 filter、nat、mangle),规则自上而下匹配,可创建自定义链、设置默认策略、按接口/地址/端口/协议精确过滤 需要完全自定义、性能敏感或复杂网关/转发场景
firewalld **区域(zone)**管理、服务/端口便捷放行、富规则(Rich Rules)精细控制、Direct Rules直通底层、支持日志与限速 服务器日常运维、需要动态变更与分区分域管理
ufw 简化语法、快速开启/关闭端口与服务 Ubuntu 桌面/服务器的快速配置
以上能力在主流发行版均可用,选择取决于你对灵活性与易用性的权衡。

快速上手示例

  • 使用 iptables 按源 IP 与端口放行,并创建自定义链分类管理

    # 允许来自 192.168.1.100 的 SSH
    sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
    
    # 创建自定义链并跳转
    sudo iptables -t filter -N WEB_IN
    sudo iptables -A WEB_IN -s 203.0.113.10 -j ACCEPT
    sudo iptables -A WEB_IN -j DROP
    sudo iptables -A INPUT -p tcp --dport 80 -j WEB_IN
    
    # 持久化(示例路径,按发行版调整)
    sudo iptables-save >
         /etc/iptables/rules.v4    # Debian/Ubuntu
    sudo service iptables save                 # CentOS/RHEL 传统方式
    

    提示:规则按顺序匹配,善用自定义链可提升可维护性;变更前务必备份与测试。

  • 使用 firewalld 的富规则与 Direct 规则

    # 富规则:仅允许 192.168.1.0/24 访问 7900–8000/TCP
    sudo firewall-cmd --permanent --zone=public \
         --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-8000 protocol=tcp accept'
    sudo firewall-cmd --reload
    
    # 富规则:对 SSH 记录日志
    sudo firewall-cmd --permanent --zone=public \
         --add-rich-rule='rule service name="ssh" log prefix="ssh " level="INFO" accept'
    sudo firewall-cmd --reload
    
    # Direct 规则:仅允许 172.25.254.77 访问本机 80/TCP(优先级更高)
    sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 1 \
         -p tcp --dport 80 -s 172.25.254.77 -j ACCEPT
    

    提示:未加 –permanent 的规则为临时生效;使用 Direct 规则需谨慎,避免与现有策略冲突。

安全与排错建议

  • 规则顺序决定命中结果,优先放置更具体的规则;必要时设置合理的默认策略(如 INPUT/OUTPUT/FORWARD 的 ACCEPT/DROP),避免误锁。
  • 变更前先备份与在测试环境验证;远程操作可先安排控制台/带外应急通道,或临时放行管理端口(如 22/TCP),确认无误再收紧。
  • 使用 firewalld 时区分临时与永久配置,变更后用 –reload 生效;如需使用 Direct 规则,建议先列出当前规则并与既有策略核对。
  • 规则持久化方式因发行版不同而异(如 iptables-save/etc/iptables/rules.v4/etc/sysconfig/iptables),确保重启后策略不丢失。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux防火墙能否自定义过滤规则
本文地址: https://pptw.com/jishu/775491.html
Linux防火墙怎样限制访问频率 Linux防火墙能否与IDS联动

游客 回复需填写必要信息