【基础设施管理】05-iptables到nftables迁移指南

📅 2026/6/27 2:16:10
【基础设施管理】05-iptables到nftables迁移指南
专栏基础设施管理难度进阶标签iptablesnftables防火墙网络安全Linux前言RHEL 8 / CentOS 8 开始nftables 取代 iptables 成为默认防火墙框架。但大量生产环境还在用 iptables 规则本文提供完整的迁移思路和等价写法对照。一、为什么要迁移iptables 规则是线性匹配规则多了性能差nftables 用哈希/集合匹配性能更好nftables 一个命令管理多协议IPv4/IPv6/ARPiptables 上游已停止主要开发二、安装 nftables# CentOS 8dnfinstall-ynftables systemctlenable--nownftables# 查看当前规则nft list ruleset三、对照表iptables vs nftables功能iptablesnftables允许已建立的连接-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTct state established,related accept允许SSH-A INPUT -p tcp --dport 22 -j ACCEPTtcp dport 22 accept拒绝所有-P INPUT DROPpolicy drop记录日志-j LOG --log-prefix DROP: log prefix DROP: IP段白名单-s 192.168.1.0/24 -j ACCEPTip saddr 192.168.1.0/24 accept四、nftables 完整配置示例# /etc/nftables.conftable inet filter{chain input{typefilter hook input priority0;policy drop;# 允许loopbackiif lo accept# 允许已建立的连接ct state established,related accept# 允许ICMPipprotocol icmp accept ip6 nexthdr icmpv6 accept# 允许SSH限制来源IPipsaddr{10.0.0.0/8,192.168.0.0/16}tcp dport22accept# 允许HTTP/HTTPStcp dport{80,443}accept# 记录并丢弃其他流量log prefixnft drop: }chain forward{typefilter hook forward priority0;policy drop;}chain output{typefilter hook output priority0;policy accept;}}五、iptables 规则自动迁移工具# 导出现有iptables规则iptables-save/tmp/iptables.rules# 自动转换为nftables语法aptinstall-yiptables-nftables-compat# Debian系iptables-restore-translate-f/tmp/iptables.rules/etc/nftables.conf# 验证并加载nft-c-f/etc/nftables.conf# -c 只检查不执行nft-f/etc/nftables.conf结语迁移的关键是测试环境先验证再分批迁移生产。迁移后保留iptables规则文件备用。