首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Proxmox中初始化iptables表“`nat”

无法在Proxmox中初始化iptables表“`nat”
EN

Server Fault用户
提问于 2015-07-27 09:38:41
回答 2查看 2.4K关注 0票数 1

当我试图在Proxmox OpenVZ vm中运行iptables命令时,我得到了以下错误:

代码语言:javascript
复制
# iptables -t nat -A POSTROUTING -o venet -j MASQUERADE && iptables-save
iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Proxmox主机上的/etv/vz/vz.conf中的IPTABLES_MODULES如下所示:

代码语言:javascript
复制
IPTABLES_MODULES="iptable_filter, iptable_mangle, ipt_limit, ipt_multiport, ipt_tos, ipt_TOS, ipt_REJECT, ipt_TCPMSS, ipt_tcpmss, ipt_ttl, ipt_LOG, ipt_length, ip_conntrack, ip_conntrack_ftp, ip_conntrack_irc, ipt_conntrack, ipt_state, ipt_helper, iptable_nat, ip_nat_ftp, ip_nat_irc, ipt_REDIRECT, xt_mac, ipt_recent, ipt_owner"

Proxmox主机内核版本:

代码语言:javascript
复制
# uname -a
Linux pve 2.6.32-39-pve #1 SMP Wed Jun 24 06:39:42 CEST 2015 x86_64 GNU/Linux

iptables模块已经加载到Proxmox主机中,但是为什么我不能在vm中添加iptables规则呢?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2015-07-27 12:54:12

通过将/etc/vz/vz.conf中的IPTABLES_MODULES改为IPTABLES来解决问题。

票数 0
EN

Server Fault用户

发布于 2016-01-31 13:17:41

在/etc/vz/vz.conf中

IPTABLES变量是这样定义的:

代码语言:javascript
复制
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"

因此,当在模块之间使用逗号时,它会抑制变量的格式,只需删除逗号即可。

为避免此错误:

无法在Proxmox中初始化iptables表“`nat”

我用这种方式定义IPTABLES变量:

代码语言:javascript
复制
## IPv4 iptables kernel modules to be enabled in CTs by default
IPTABLES="iptable_nat ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
## IPv4 iptables kernel modules to be loaded by init.d/vz script
IPTABLES_MODULES="$IPTABLES"
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/708725

复制
相关文章

相似问题

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