在没有 nf_conntrack 内核模块的 VPS 上,firwalld

在没有 nf_conntrack 内核模块的 VPS 上,firwalld

我正在运行德国供应商的 VPS,想从 Ubuntu 切换到 CentOS。我尝试安装防火墙(未预安装),但总是失败并出现错误

ERROR: Failed to load nf_conntrack module: modprobe: ERROR: could not find module by name='nf_conntrack'
modprobe: ERROR: could not insert 'nf_conntrack': Function not implemented
modprobe: ERROR: Error running install command for nf_conntrack
modprobe: ERROR: could not insert 'nf_conntrack': Operation not permitted

显然nf_conntrack没有找到内核模块。由于这是 VPS,我无法修改内核模块。在我的提供商的支持网站上,我找到了可用内核模块的列表,例如:

ip_conntrack_netbios_ns
ipt_conntrack   
ip_conntrack   
ip_conntrack_ftp   
ip_conntrack_irc

由于nf_conntrack这里没有列出,这是否意味着我不能使用防火墙?是否可以在没有此模块的情况下运行它?

我想,如果我愿意的话,我可以使用 iptables(它似乎运行正常)。但由于我对 Firewalld 有更多经验,我愿意继续使用它。


CentOS Linux 版本 7.7.1908(核心)

uname -a: Linux xxxxxx.xxxxxxxx.xxx 3.10.0-042stab140.1 #1 SMP 星期四 8 月 15 日 13:32:22 MSK 2019 x86_64 x86_64 x86_64 GNU/Linux

答案1

问题不在于它是 VPS,而在于它是 OpenVZ VPS。这些实际上不是虚拟机,而是容器。在这些容器上,如果没有托管服务提供商的干预,您无法对内核模块进行任何操作。

我建议您切换到另一个不基于 OpenVZ 或其他容器技术的 VPS。

答案2

尝试一下这个:

1.)mkdir /lib/modules/$(uname -r)

2.)touch /lib/modules/$(uname -r)/modules.{builtin,order}

3.) for i in /sys/module/*; do echo kernel/${i##**/}.ko; done >> /lib/modules/$(uname -r)/modules.builtin

4.)depmod -a

完成上述所有步骤后,请重新启动系统,然后就可以看到 boooooommmmmmmm###

相关内容