无法解决问题:iptables:没有该名称的链/目标/匹配

无法解决问题:iptables:没有该名称的链/目标/匹配

因此,我尝试在我的 Linux VPS 上设置 Shorewall 防火墙。该 VPS 运行的是 ubuntu 12.10。当我输入$ shorewallcheck 时,出现此错误。

iptables: No chain/target/match by that name.
   ERROR: Log level INFO requires LOG Target in your kernel and iptables

所以我运行 iptables -L 并得到

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

我尝试查看其他帖子,发现有一个类似的帖子,但它对我没有帮助。我使用的内核是 2.6.32-042stab079.5

有人知道我需要做什么来解决这个问题吗?我见过一些关于更改内核配置的方法,但我不知道该怎么做或要更改什么。

答案1

您使用的是基于 OpenVZ 的 VPS。与所有基于容器的虚拟化一样,您只能使用主机提供的内核模块。

您的选择是:

  1. 联系主机并请求他们向您提供必要的内核模块。
  2. 使用不是基于容器而是基于完全虚拟化或半虚拟化的 VPS,例如 Xen、KVM 或 VMware。

答案2

托管您的 VPS 的主机不提供必要的内核模块。在 CentOS 上,如果您想在 iptables 中使用 -j LOG,则需要能够加载 ipt_LOG.ko。您可以联系您的托管商来澄清这一点

答案3

转到 /etc/sysconfig/iptables 并添加您正在使用的链名称......如下所示

:前进 - [0:0]

这里不要使用 Forward,而要使用链名。

相关内容