ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Linux 防火墙管理(firewalld)小课堂

Linux 防火墙管理(firewalld)小课堂 一、防火墙基础防火墙概念防火墙工作在主机/网络边缘对进出数据包做规则校验执行放行或丢弃默认一般拒绝所有流量仅开放允许策略。防火墙分类分类维度类型说明按保护范围主机防火墙保护单台主机网络防火墙保护整个局域网按实现方式硬件防火墙华为、华三、天融信等硬件设备软件防火墙iptables、firewalld运行于普通服务器按 OSI 模型层级网络层包过滤防火墙四层依据源目 IP、端口、协议过滤速度快不能识别应用层内容应用层防火墙 WAF七层防护 Web 攻击输入校验、漏洞防护、防暴力破解缺点处理速度慢Linux 内核过滤子系统子系统说明Netfilter内核态数据包过滤框架iptablesIPv4 数据包过滤ip6tablesIPv6 数据包过滤arptablesARP 过滤防范 ARP 欺骗ebtables链路层过滤多用于桥接、VLAN 场景nftablesNetfilter 增强版处理数据包更快规则更新效率高统一接口管理多协议静态防火墙 vs 动态防火墙类型特点代表静态防火墙修改规则需要全量重载中断现有连接传统 iptables 服务动态防火墙仅更新变更规则不中断已有连接firewalld注意firewalld 只是上层管理工具真正执行过滤的是内核 Netfilter不要同时开启 firewalld 和 iptables 服务避免规则冲突。将网段交给指定 zone 处理firewall-cmd --add-source10.1.1.0/24 --zonehome网卡绑定 zonefirewall-cmd --change-interfaceens33 --zonepublic3. service 服务管理预定义服务命令说明firewall-cmd --add-servicehttp放行 http 服务firewall-cmd --remove-servicehttp删除放行firewall-cmd --list-services查看放行的服务port 端口管理命令说明firewall-cmd --add-port5900/tcp放行端口firewall-cmd --remove-port5900/tcp删除放行firewall-cmd --list-ports查看放行的端口地址伪装 masqueradeSNAT作用内网主机共享公网 IP 访问外网命令说明firewall-cmd --add-masquerade开启地址伪装firewall-cmd --query-masquerade查询地址伪装状态端口转发 forward-portDNAT⚠️ 前提当前 zone 必须开启 masquerade场景命令本机 8000 端口转发到本机 80firewall-cmd --add-forward-portport8000:prototcp:toport80本机 1022 转发到其他机器 10.1.1.11 的 22 端口firewall-cmd --add-forward-portport1022:prototcp:toport22:toaddr10.1.1.11ICMPping控制场景命令禁止 ping阻止 echo-request 报文firewall-cmd --add-icmp-block echo-requesticmp-block-inversion 反向模式默认全部拒绝 ICMP只放行指定firewall-cmd --add-icmp-block-inversion彻底重载断开旧连接让 ICMP 规则立即生效firewall-cmd --complete-reload富规则 rich-rule优先级高于普通 zone 规则可以控制源目 IP、日志、审计、速率限制。场景命令允许 10.1.8.10 ping 本机firewall-cmd --add-rich-rule‘rule familyipv4 source address“10.1.8.10” icmp-type name“echo-request” accept’direct 直接规则语法类似 iptables优先级最高尽量优先使用 firewalld 原生规则仅做补充使用。其他实用命令命令说明firewall-cmd --panic-on应急模式丢弃全部流量被攻击时断网firewall-cmd --panic-off关闭应急模式firewall-cmd --runtime-to-permanent将运行时规则保存为永久规则firewall-cmd --add-servicehttp --timeout30临时生效 30 秒用于调试本机8000端口转发到本机80firewall-cmd --add-forward-portport8000:prototcp:toport80本机 1022 转发到其他机器 10.1.1.11 的 22 端口firewall-cmd --add-forward-portport1022:prototcp:toport22:toaddr10.1.1.117. ICMPping控制bash禁止ping阻止echo‑request报文firewall-cmd --add-icmp-block echo-requesticmp-block-inversion 反向模式默认全部拒绝 ICMP只放行指定firewall-cmd --add-icmp-block-inversion彻底重载断开旧连接让ICMP规则立即生效firewall-cmd --complete-reload8. 富规则 rich‑rule优先级高于普通 zone 规则可以控制源目 IP、日志、审计、速率限制。bash允许10.1.8.10 ping本机firewall-cmd --add-rich-rule‘rule familyipv4 source address“10.1.8.10” icmp-type name“echo-request” accept’五、实操案例案例场景命令案例 1禁止单个 IP ping 本机firewall-cmd --permanent --add-rich-rule‘rule family“ipv4” source address“10.1.8.10” icmp-type name“echo-request” reject’firewall-cmd --complete-reload案例 2只允许指定 IP ping 本机firewall-cmd --permanent --add-icmp-block-inversionfirewall-cmd --permanent --add-rich-rule‘rule familyipv4 source address“10.1.8.10” icmp-type name“echo-request” accept’firewall-cmd --complete-reload六、图形工具 firewall-config安装软件包后执行 firewall-config 打开图形界面可视化配置 zone、服务、端口、伪装、端口转发、富规则、网卡、源地址支持重载防火墙、开启应急 panic 模式。重点总结firewalld 是动态防火墙底层依靠内核 Netfilter。区分 runtime 运行时与 permanent 永久配置reload 保留现有连接–complete-reload 断开现有连接。zone 匹配优先级source 源地址 interface 网卡 默认 zone。富规则优先级最高做端口转发必须开启 masquerade。direct 直接规则优先级最高尽量少用。
返回列表