You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

nftables服务无法启动且配置文件存在语法错误,请求协助排查

nftables服务无法启动且配置文件存在语法错误,请求协助排查

看起来你的nftables配置文件里的集合(set)定义存在语法问题,这直接导致了服务启动失败。咱们来一步步排查修复:

问题分析

你遇到的报错信息如下:

/etc/nftables.conf:10:13-13: Error: syntax error, unexpected junk
nft[371]: set tcp_ok {
/etc/nftables.conf:11:19-19: Error: syntax error, unexpected junk, expecting newline or semicolon or .
type inet_service
nftables.service: Main process exited, code=exited, status=1/FAILURE
nftables.service: Failed with result 'exit-code'.
systemd[1]: Failed to start nftables.

从报错可以看出,解析器在处理tcp_ok等集合的定义时遇到了语法问题。在nftables的语法规则里,即使集合暂时没有元素,也需要明确声明元素部分,否则解析器会认为配置不完整,抛出语法错误。你当前的配置里,tcp_ok、udp_ok、trusted、filter这几个set只有类型声明,缺少了必要的元素定义或者闭合语法。

修正后的配置文件

把每个空集合补充elements = {}来完成定义,修正后的完整配置如下:

#!/usr/bin/env nft -f

flush ruleset

define interface = "venet0"

table inet filter {

set tcp_ok {
    type inet_service
    elements = {}
}

set udp_ok {
    type inet_service
    elements = {}
}

set trusted {
    type ipv4_addr
    elements = {}
}

set filter {
    type ipv4_addr
    elements = {}
}

set martians {
    type ipv4_addr
    flags constant, interval
    elements = {
        0.0.0.0/8,
        127.0.0.0/8
    }
}

chain input {
    type filter hook input priority 0
    policy drop

    ct state established,related accept
    iif lo accept
    iifname $interface ip saddr @trusted accept
    ip saddr @filter drop
    ip saddr @martians drop
    ip daddr @martians drop
    iifname $interface tcp dport 22 accept
    iifname $interface tcp dport @tcp_ok accept
    iifname $interface udp dport @udp_ok accept
}

}

验证与启动

  1. 先测试配置文件是否合法,执行命令:
    nft -f /etc/nftables.conf
    
    如果没有报错,说明配置语法正确。
  2. 再启动nftables服务:
    systemctl start nftables
    
  3. 可以用systemctl status nftables查看服务状态,确认是否正常运行。

补充说明

之后你可以根据自己的需求,往对应的set里添加元素,比如给tcp_ok添加允许的TCP端口:

set tcp_ok {
    type inet_service
    elements = { 80, 443 }
}

备注:内容来源于stack exchange,提问作者MKDE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:37:40