我正在尝试设置iptable规则,当我使用iptable时,我得到以下错误消息:
iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
我使用的是:
cat /etc/debian_version
7.4
uname -a
Linux myserver 2.6.32-22-pve #1 SMP Mon Jul 15 08:36:46 CEST 2013 x86_64 GNU/Linux
uname -r
2.6.32-22-pve
这是由服务提供商托管的虚拟服务器。
我能做些什么来解决这个问题?
发布于 2014-04-05 12:42:03
我也遇到了同样的问题,下面这个方法起作用了:
sudo modprobe ip_tables
sudo echo 'ip_tables' >> /etc/modules
发布于 2016-11-03 18:14:21
我在Debian8上也遇到了同样的问题,我通过重启系统解决了这个问题。如果更新了内核映像,并且此后未重新启动系统,则可能会出现此错误。
发布于 2016-01-06 22:22:52
如果你看到这个错误消息,并且你没有使用某种受限的基于容器的主机(例如OpenVZ),那么问题可能是内核缺少nat模块。要检查运行:
modinfo iptable_nat
它应该打印出模块的位置,如果它打印一个错误,那么您就知道这就是问题所在。还有像nf_nat这样的依赖模块可能会丢失,所以如果iptable_nat模块存在但失败了,您将不得不更深入地挖掘。如果它丢失了,您将需要获得另一个内核和模块,或者如果您正在使用自己的内核配置,请确保内核配置包含CONFIG_IP_NF_NAT=m
(用于IPv4 NAT)。
对于信息,相关的内核模块通常位于以下位置之一:
ls /lib/modules/`uname -r`/kernel/net/netfilter/
ls /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/
如果你运行的是IPv6,也可以看看这里:
ls /lib/modules/`uname -r`/kernel/net/ipv6/netfilter/
https://stackoverflow.com/questions/21983554
复制相似问题