我有两台服务器,一台用于生产,一台用于开发。它们来自不同的提供商,一台运行 Xen,另一台运行 OpenVZ(两台都运行 Ubuntu,但版本分别为 8.04 和 10.10)。我在 OpenVZ 服务器设置我的 iptables 时遇到了问题,因为它显然缺少一些内核模块。运行时lsmod | grep ip
我得到了以下结果:
Xen-
$ lsmod | grep ip
ipt_LOG 8192 1
nf_conntrack_ipv4 21904 2
nf_conntrack 79344 2 nf_conntrack_ipv4,xt_state
ipt_REJECT 6528 3
iptable_filter 4608 1
ip_tables 24232 1 iptable_filter
x_tables 23432 6 ipt_LOG,xt_limit,xt_tcpudp,xt_state,ipt_REJECT,ip_tables
ipv6 313384 18
multipath 11008 0
md_mod 89500 6 raid10,raid456,raid1,raid0,multipath,linear
OpenVZ-
空白,没有返回任何内容...
所以我的问题是,1)为什么我没有得到 OpenVZ 服务器的任何返回信息,2)我如何加载必要的模块?
更新:
这是尝试 modprobe 的结果
$ modprobe nf_conntrack
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module nf_conntrack not found.
答案1
事实证明,我无法将内核模块加载到容器中,因为 OpenVZ 平台上的所有容器都使用相同的内核(与 Xen 不同)。我需要做的是联系我的提供商并让他们为我启用 iptables。之后所有规则都起作用了。
有趣的是,我输入后仍然没有任何输出,lsmod | grep ip
并且我的文件夹中似乎仍然没有任何内核文件夹/lib/modules/$(uname -r)
。我猜这无法从容器内访问。