🚨 前置核心硬核提醒
通用 Linux 社区默认 nftables 路径:/etc/nftables.conf
openEuler 24.03 系统路径(必记):**/etc/sysconfig/nftables.conf**
所有配置、重载、规则保存、自启加载,全程只认准这一条路径!路径写错,所有规则全部失效,防火墙直接瘫痪。
✅ 搭建生产可用防火墙
整套流程贴合等保合规要求,兼顾稳定性、不打断在线业务、开机自动长效生效,全程适配云服务器、物理服务器、集群节点全场景。
第一步:服务启停排除冲突
nftables 规则默认仅常驻内存,临时易丢失,必须依托 systemd 托管实现开机自启、异常自愈、长效防护。同时系统原生 firewalld 会和 nftables 抢占底层防火墙钩子,双向互斥冲突,二选一必须彻底关停。
1、一键安装完整防火墙组件
sudo dnf install -y nftables
2、高危避坑:彻底停用卸载冲突 firewalld(必执行)
sudo systemctl stop firewalldsudo systemctl disable firewalld
3、立即启动服务 + 锁定开机自启
sudo systemctl start nftablessudo systemctl enable nftables
👉 实操小结:先关冲突服务、再启核心服务,从源头规避防火墙规则紊乱、端口莫名拦截故障。
第二步:编辑专属配置文件,合规写入长效防护规则
全程只编辑 openEuler 专属配置文件,拒绝其他非标路径,规避系统无法识别配置的问题。
编辑统一入口命令
sudo vim /etc/sysconfig/nftables.conf
✅ 生产必做前置校验(防止服务启动失败)
写完规则不校验,极易出现语法报错、防火墙启动失败。粘贴执行一键预检,零风险排错:
sudo nft -c -f /etc/sysconfig/nftables.conf
无任何报错输出,代表规则语法合规可用,直接下一步即可。
🔒 企业极简基线配置模板
适配全生产节点:默认阻断恶意入站流量、放行运维SSH远程连接、兼容Ping网络探测、放行全部业务出站流量,兼顾安全与运维便捷性。
#!/usr/sbin/nft -f# 清空历史残留规则,纯净初始化规则集flush ruleset# 统一适配IPv4/IPv6双栈网络流量table inet filter { # 入站流量核心管控链,默认全局拦截所有陌生流量 chain input { type filter hook input priority 0; policy drop; # 放行本地回环内网流量,保障系统基础服务通信 iif "lo" accept # 放行合法已建立、关联业务回包,不打断在线连接 ct state established,related accept # 直接丢弃无效异常数据包,抵御基础网络攻击 ct state invalid drop # 兼容Ping运维探测,保障网络链路巡检可用 ip protocol icmp accept ip6 nexthdr icmpv6 accept # 开放22端口,保障远程SSH运维不掉线 tcp dport 22 accept } # 服务器无转发业务,默认拦截所有转发流量,收紧安全边界;若宿主机上有docker和k8s节点,请设为accept,否则到容器会不通。 chain forward { type filter hook forward priority 0; policy drop; } # 放行所有服务器主动出站业务,不影响业务对外交互 chain output { type filter hook output priority 0; policy accept; }}
第三步:分场景加载规则,在线业务零中断切换
不同运维场景匹配专属加载指令,不用一刀切重启服务,规避业务无故断连。
场景一:首次部署/规则全量重置 → 完整启动加载
sudo systemctl start nftables
场景二:在线运维改规则 → 平滑重载(推荐生产首选)
不踢现有SSH会话、不中断运行中业务,静默更新所有防火墙策略:
sudo systemctl reload nftables
场景三:调试排障专用 → 手动临时加载规则
sudo nft -f /etc/sysconfig/nftables.conf
第四步:内存规则固化,重启不丢失、长效不失效
临时命令行添加的应急规则,仅存在内存中,服务器重启、服务重启就全部清空,必须手动固化写入专属配置文件。
✅ 标准生产方案:全覆盖持久化(推荐)
直接覆盖更新配置文件,同步同步当前全部生效规则:
sudo nft list ruleset | sudo tee /etc/sysconfig/nftables.conf
📚 运维随身速查卡:高频指令
✅ 专属主配置文件:/etc/sysconfig/nftables.conf
✅ 查看实时防火墙规则(核验是否生效):sudo nft list ruleset
✅ 校验服务运行状态:sudo systemctl status nftables
✅ 生产平滑重载核心命令:sudo systemctl reload nftables
✅ 规则一键固化持久化:sudo nft list ruleset | sudo tee /etc/sysconfig/nftables.conf
⚠️远程服务器必看避坑要点
1️⃣ 路径绝对不能乱改:/etc/sysconfig/nftables.conf,路径错一步,防火墙全盘失效;多人维护不易出错,个人定义的路径,别人不一定知道。
2️⃣ 先验语法,再重载规则:远程服务器严禁直接保存重载,必须先执行语法预检,避免SSH直接掉线锁机。
3️⃣ 高危兜底技巧(必用):修改防火墙前,设置5分钟自动回滚定时任务,就算配置失误锁机,也能自动恢复远程连接:
echo "nft -f /etc/sysconfig/nftables.conf.bak" | at now + 5 minutes
4️⃣ 核验以内核为准:别只看服务显示running,执行 sudo nft list ruleset,能看到完整规则才是真生效。