启用 Conntrack 以使 iptables 在 openvz 容器上运行?

启用 Conntrack 以使 iptables 在 openvz 容器上运行?

我正在尝试在新购买的 openvz 容器上使用 iptables。一切进展顺利,直到我注意到 apt-get 不起作用,四处查看后,我发现一些教程说需要使用以下命令建立连接:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

当我运行这个程序时,我收到错误:

iptables: No chain/target/match by that name.

在网上查找后我发现,如果模块在内核中编译,则可能需要加载 modprobe,因此我尝试了以下操作,结果如下:

root:~# modprobe nf_conntrack

modprobe: ERROR: ../libkmod/libkmod.c:508 kmod_lookup_alias_from_builtin_file() could not open builtin file '/lib/modules/2.6.32-042stab105.14/modules.builtin.bin'
modprobe: FATAL: Module nf_conntrack not found.

root:~# modprobe *conntrack*

modprobe: ERROR: ../libkmod/libkmod.c:508 kmod_lookup_alias_from_builtin_file() could not open builtin file '/lib/modules/2.6.32-042stab105.14/modules.builtin.bin'
modprobe: FATAL: Module *conntrack* not found.

对我来说,这意味着 Conntrack 未在内核中编译,但在联系主机支持团队时,他们向我保证它在托管节点中已启用。再次联系他们时,他们建议安装 Conntrack 包。

有人能告诉我为什么我从 apt 中找到的唯一包是 Conntrack-tools,但它看起来似乎没有什么帮助(并且对安装/重启也没有任何影响)。

最后,在询问他们是否可以提供更多帮助之后,他们指出,由于我使用的是非托管服务,因此他们无法提供更多帮助,我必须自己解决问题。

我甚至尝试重新安装操作系统并将其从 14.04 更改为 15.x,以防我从中获得更新的内核版本(尽管我认为这不太可能)。

由于我现在完全不明白为什么这不起作用,我希望这里有人可以提供帮助,要么告诉我试试这个/那个,告诉我我没有错,它不在内核中,或者告诉我一个确认数据包的解决方法,这样我就可以不使用 Conntrack。

感谢您提供的任何帮助/建议。

答案1

我认为根本问题在于 openz。以下是引自这里

OpenVZ 服务器与主机共享内核,因此您无法加载任何内核模块,也无法执行其他任务。

相关内容