iptables没有安装在centos上

如果一台机器没有安装iptables,是否还有防火墙在运行?

如果是,如何禁用/更改规则?

如果我input命令iptables我收到回应:

 iptables v1.4.7: no command specified [root@ruad1 ~]# iptables -L FATAL: Module ip_tables not found. iptables v1.4.7: can't initialize iptables table `filter': Permission denied (you must be root) Perhaps iptables or your kernel needs to be upgraded. 

我一直在寻找,但所有关于centos防火墙的文档似乎都是指iptables。

如果我做IP路由列表,似乎有很多规则?

编辑 :回答评论中的问题:

输出ls -alL /sbin/iptables

 -rwxr-xr-x 1 root root 54200 Nov 23 2013 /sbin/iptables 

当我做iptables重启时,我收到以下内容

iptables重启输出

内核版本:

2.6.32-5-虚拟服务器,AMD64

/lib/modules/2.6.32-5-vserver-amd64的内容

/lib/modules/2.6.32-5-vserver-amd64

任何我用iptables(restart,stop ..)发出的命令都会收到上面粘贴的错误。

 /sbin/iptables output: iptables v1.4.7: can't initialize iptables table `filter': Permission denied (you must be root) Perhaps iptables or your kernel needs to be upgraded. 

touch /tmp/foo; ls -la /tmp/foo输出touch /tmp/foo; ls -la /tmp/foo touch /tmp/foo; ls -la /tmp/foo

 -rw-r--r-- 1 root root 0 Jun 27 16:51 /tmp/foo 

看起来机器运行在虚拟环境中,或者更具体地说:在操作系统级别的虚拟化环境中,如LXC,OpenVZ或Virtuozzo。 内核版本(2.6.32-5- vserver- amd64)给出了这一点。

在这种环境中,内核在主机系统和访客系统之间共享,并不是所有的内核API都可以在虚拟机中使用。 我想这就是为什么你调用iptables时有权限错误的原因。

当您发现机器在哪个环境中运行时,您可能会在网上find解决scheme:

  • Parallels的Virtuozzo知识库中有一篇关于如何在容器中启用防火墙的文章。
  • OpenVZ wiki有一篇关于设置iptables防火墙的文章。

但您可能需要联系主机系统的pipe理员进行必要的更改。

首先尝试这个命令:

 iptables -t nat -L 

还检查加载的iptables模块列表,可能是模块丢失。

 cat /proc/net/ip_tables_matches 

检查/ etc / sysconfig / iptables中的规则是否有任何可疑条目或空格字符。

其次尝试一下:

 $ sudo grep -R "options nf_conntrack ip_conntrack_disable_ve0=1" /etc/modprobe.d/ and replace the "1" with "0": options nf_conntrack ip_conntrack_disable_ve0=0 

重新启动系统

通常情况下,iptablesfunction应该被包含在基本的CentOS 6安装(w / minimum network)中,而其活动与否取决于模块(ip_tables&iptable_filter)的加载与否。

要启用/禁用iptables,可以使用service命令来实现。 (服务iptables启动/停止/重新启动,如TBI infotech所列)。

与给定的日志 – “错误:模块ip_tables找不到”,我看起来像你的ip_tables模块不存在或被重定位到某处。

此外,它可能是你的内核版本不符合系统中的模块库。 然后,你可以检查以下确认

  1. modinfo ip_tables(如果失败,则表示无法在操作内核中find目标模块文件。)

  2. 查找正在运行的内核版本(uname -r),并且内核模块path应位于文件夹“/ lib / modules / uname -r /”中。

  3. 通常,文件“ip_tables.ko”应该在path“/ lib / modules / uname -r / kernel / net / ipv4 / netfilter /”中。 否则,你的iptables服务将不会起作用。

也许这只是一个PATH的问题。 尝试在你的PATH定义中放入/ sbin而不是/ bin。

编辑:啊,好吧,现在你说这是一个debian。 随你。