首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iptables/1.8.2初始化nft:不支持的协议失败

iptables/1.8.2初始化nft:不支持的协议失败
EN

Server Fault用户
提问于 2019-10-17 15:03:54
回答 2查看 13.1K关注 0票数 5

我正在运行Debian,我试图使用iptables设置一些防火墙规则,但我只是得到了一个错误:

代码语言:javascript
运行
复制
iptables/1.8.2 Failed to initialize nft: Protocol not supported

不管我要设定什么样的规则,它只会给我带来同样的错误。我试过在谷歌上搜索错误却没有发现任何东西。

以下是我试图制定的规则:

代码语言:javascript
运行
复制
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

有谁有主意吗?谢谢

EN

回答 2

Server Fault用户

发布于 2019-10-18 20:18:39

Debian 10正在使用默认情况下,nftable上的iptable。这意味着一个不同的iptables命令(iptables-nft)正在与内核nftables通信:它实际上将每个iptables规则转换为nftable规则,同时在扩展不存在直接的本机转换时保持xtable模块扩展的兼容性。

因为,由于某种原因,您的内核nftables没有功能(我猜它不是标准的Debian 10内核,并且未启用nftable支持)。什么是应答uname -r?),命令失败。您仍然可以通过更改实际执行的userland命令,选择恢复到仅与iptables内核API通信的遗留iptables命令,如前面的链接所解释的那样:

更新-替代-设置iptables /usr/sbin/iptables遗留#更新-替代-设置ip6tables /usr/sbin/ip6表-遗留#更新-替代-设置arptable/usr/sbin/ arptables遗留#更新-设置ebtable/usr/sbin/ ebtables遗留

你还得调查一下你的非功能性特征。因为从iptables切换到(本机)nftable带来了很大的优势,所以这太糟糕了,不能。

票数 3
EN

Server Fault用户

发布于 2020-09-01 23:12:35

对我来说,解决方案来自于这里:我需要在内核升级之后重新启动。当然,最简单的方法是:

代码语言:javascript
运行
复制
# as root
shutdown -r now
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/988412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档