没有 iptables 和 ip_tables 模块的 Ubuntu VM

没有 iptables 和 ip_tables 模块的 Ubuntu VM

我在以前从未使用过的提供商处使用 Ubuntu 16.04 虚拟机,但立即遇到了新问题。我安装了 iptables 软件包,但是当我尝试运行时iptables -L,我收到了以下消息:

    modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-72-generic/modules.dep.bin'
    modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.4.0-72-generic
    iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

我的第一个反应是加载 ip_tables 模块,但是 /lib/modules 中没有模块...我也想知道内核配置在哪里,因为它不在 /boot 中。

A 创建了支持票证,但提供商表示我正在寻求的支持级别“需要 SLA 协议”。

想法?

答案1

我能够说服支持人员询问工程师。这实际上非常简单:

apt-get install -y linux-image-$(uname -r)

答案2

  • 运行更新:

    sudo apt-get update && sudo apt-get upgrade
    

    如果有内核更新,请重新启动系统,然后sudo iptables -L再重试。

  • 检查是否iptables已内置到内核中:

    grep -i iptables /boot/config-$(uname -r)
    

    如果输出引用类似的东西*IPTABLES=y,那么它已经内置了。

  • 确保模块已加载:

    sudo modprobe ip_tables
    
  • 默认情况下该iptables服务被禁用。您可以通过以下方式启动并启用它:

    sudo systemctl start iptables && sudo systemctl enable iptables
    

相关内容