Can't resolve issue: iptables: No chain/target/match by that name

So I am trying to setup shorewall firewall on my linux vps. The vps is running ubuntu 12.10. When I type $ shorewall check I get this error.

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

So I run iptables -L and I get

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

I tried looking at other posts and there is one similar, but it did not help me. The kernel I am using is 2.6.32-042stab079.5

Does anyone know what I need to do to fix this? I've seen a few things about changing the kernel config, but I have no idea how to do that or what to change.


You're using an OpenVZ based VPS. As with all container-based virtualization, you are limited to the kernel modules provided by the host.

Your options are:

  1. Contact the host and request that they make the necessary kernel modules available to you.
  2. Use a VPS not based on containers but on full virtualization or paravirtualization, such as Xen, KVM or VMware.

Host on which is hosted your VPS does not provides necessary kernel modules. On CentOS you need to able to load ipt_LOG.ko if you want to use -j LOG in iptables. You could contact your hoster to clarify this moment