如果一台机器没有安装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:
但您可能需要联系主机系统的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模块不存在或被重定位到某处。
此外,它可能是你的内核版本不符合系统中的模块库。 然后,你可以检查以下确认
modinfo ip_tables(如果失败,则表示无法在操作内核中find目标模块文件。)
查找正在运行的内核版本(uname -r),并且内核模块path应位于文件夹“/ lib / modules / uname -r
/”中。
通常,文件“ip_tables.ko”应该在path“/ lib / modules / uname -r
/ kernel / net / ipv4 / netfilter /”中。 否则,你的iptables服务将不会起作用。
也许这只是一个PATH的问题。 尝试在你的PATH定义中放入/ sbin而不是/ bin。
编辑:啊,好吧,现在你说这是一个debian。 随你。