iptables启动提示unable to initialize table 'filter'

本文介绍了解决Linux系统中iptables启动失败的方法,包括尝试直接加载模块、检查内核中是否包含iptables相关模块以及重新编译内核等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


部分执行yum update升级或自己编译了Linux内核的系统,在完成升级以后,重启或启动iptables会出现“iptables-restore: unable to initialize table 'filter''”错误,中文翻译是:iptables的恢复:无法初始化表“过滤器”。

详细错误如下:


Applying iptables firewall rules: FATAL: Could not open 
'kernel/net/ipv4/netfilter/ip_tables.ko': No such file or directory
iptables-restore v1.4.9: iptables-restore: unable to initialize table 
'filter'
Error occurred at line: 1
Try `iptables-restore -h' or 'iptables-restore --help' for more
 information.

这个原因是可能在升级内核时,同时升级了iptables的系统模块,最新的模块未被加载,所以我们可以尝试以下方法解决。


一、尝试直接加载模块


modprobe ip_tables
modprobe iptable_filter

手动加载 ip_tables 和 iptables_filter模块,若没提示错误,表示模块加载没问题,直接尝试iptables重启即可

若提示以下错误(如下图)请尝试第二步操作:

 iptables-f-1.jpg


二、检查当前内核中是否有iptables相关模块


ls -al /lib/modules/`uname -r`/kernel/net/ipv4/netfilter

SSH执行以上命令,并输出以下结果

 iptables-f-2.jpg

如果在输出的结果中拥有以上两个红色框线所示内容,则表示系统中有相关模块,但可能没被载入,需要手动载入。如果没有框线所示内容,请尝试重新编译内核。


depmod -a

载入完毕后,再进行一次模块加载


modprobe ip_tables
modprobe iptable_filter

 SSH执行以上命令,重新分析并加载模块,执行完毕,尝试启动iptables,如下图则表示启动成功。

iptables-f-3.jpg


三、附一个内核重编译方法


cd /usr/src/linux    #进入源码目录
make install         #进行安装操作
-- Logs begin at Thu 2023-07-13 00:44:15 CST, end at Thu 2023-07-13 00:53:06 CST. -- Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f systemd[1]: Starting Docker Application Container Engine... Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: time="2023-07-13T00:48:25.388440905+08:00" level=info msg="Starting up" Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: time="2023-07-13T00:48:25.405370737+08:00" level=error msg="failed to mount overlay: invalid argument" storage-driver=overlay2 Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: time="2023-07-13T00:48:25.408339784+08:00" level=info msg="Loading containers: start." Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: time="2023-07-13T00:48:25.409506558+08:00" level=warning msg="Running modprobe bridge br_netfilter failed with message: , error: exit status 1" Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: time="2023-07-13T00:48:25.411850508+08:00" level=info msg="unable to detect if iptables supports xlock: 'iptables --wait -L -n': `iptables v1.4.21: can't initialize iptables table `filter': Permission denied (you must be root)\nPerhaps iptables or your kernel needs to be upgraded.`" error="exit status 3" Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: time="2023-07-13T00:48:25.425371913+08:00" level=info msg="stopping event stream following graceful shutdown" error="<nil>" module=libcontainerd namespace=moby Jul 13 00:48:25 pod-64788377f624725f6ea4b9e8-64aed85ec2dbab11bceeb07f dockerd[215]: failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.4.21: can't initialize iptables table `nat': Permission denied (you must be root)
07-13
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值