LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2246|回复: 11

应用 iptables 防火墙规则:iptables-restore: line 19 failed

[复制链接]
发表于 2008-12-19 05:39:30 | 显示全部楼层 |阅读模式
启动的时候提示这个启动失败了!

/etc/sysconfig/iptables内容如下:
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

第19行就是COMMIT,为什么错误了呢?
发表于 2008-12-19 08:37:24 | 显示全部楼层
自己修改过规则?

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

注释掉这两行试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 08:53:18 | 显示全部楼层
Post by 狱卒;1926135
自己修改过规则?

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

注释掉这两行试试。

默认规则

编译最新的内核以后就出现这个错误了!

网上说RH系列的都有这个毛病,要把RH专用规则(RH-Firewall-1)置换成通用的iptables规则就好了
回复 支持 反对

使用道具 举报

发表于 2008-12-19 08:56:18 | 显示全部楼层
Post by lantern;1926144
默认规则

编译最新的内核以后就出现这个错误了!

网上说RH系列的都有这个毛病,要把RH专用规则(RH-Firewall-1)置换成通用的iptables规则就好了


先备份配置文件,然后修改成这样试试
  1. # Firewall configuration written by system-config-securitylevel
  2. # Manual customization of this file is not recommended.
  3. *filter
  4. :INPUT ACCEPT [0:0]
  5. :FORWARD ACCEPT [0:0]
  6. :OUTPUT ACCEPT [0:0]
  7. -A INPUT -i lo -j ACCEPT
  8. -A INPUT -p icmp --icmp-type any -j ACCEPT
  9. -A INPUT -p 50 -j ACCEPT
  10. -A INPUT -p 51 -j ACCEPT
  11. -A INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
  12. -A INPUT -p udp -m udp --dport 631 -j ACCEPT
  13. -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
  14. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  15. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  16. COMMIT
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 09:08:03 | 显示全部楼层
Post by 狱卒;1926147
先备份配置文件,然后修改成这样试试
  1. # Firewall configuration written by system-config-securitylevel
  2. # Manual customization of this file is not recommended.
  3. *filter
  4. :INPUT ACCEPT [0:0]
  5. :FORWARD ACCEPT [0:0]
  6. :OUTPUT ACCEPT [0:0]
  7. -A INPUT -i lo -j ACCEPT
  8. -A INPUT -p icmp --icmp-type any -j ACCEPT
  9. -A INPUT -p 50 -j ACCEPT
  10. -A INPUT -p 51 -j ACCEPT
  11. -A INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
  12. -A INPUT -p udp -m udp --dport 631 -j ACCEPT
  13. -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
  14. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  15. -A INPUT -j REJECT --reject-with icmp-host-prohibited
  16. COMMIT
复制代码


应用 iptables 防火墙规则:iptables-restore: line 16 failed  [失败]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 09:11:04 | 显示全部楼层
这里有个解决方案,不过我不会写规则
CentOS 5.1 编译内核 2.6.25.2 以及后续工作
http://blog.chinaunix.net/u2/60812/showart_681194.html
回复 支持 反对

使用道具 举报

发表于 2008-12-19 09:36:51 | 显示全部楼层
关键问题是你要什么样的规则,你需要开放哪些服务。
回复 支持 反对

使用道具 举报

发表于 2008-12-19 09:42:40 | 显示全部楼层
Post by lantern;1926144
默认规则

编译最新的内核以后就出现这个错误了!

网上说RH系列的都有这个毛病,要把RH专用规则(RH-Firewall-1)置换成通用的iptables规则就好了


编译内核时,有些选项没有开。把Networking ---> Networking options --->
    Network packet filtering framework -->
     Core Netfilter Configuration 和 IP: Netfilter Configuration
    两项目中的所有项目都启用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 12:53:34 | 显示全部楼层
Post by elsove812;1926166
编译内核时,有些选项没有开。把Networking ---> Networking options --->
    Network packet filtering framework -->
     Core Netfilter Configuration 和 IP: Netfilter Configuration
    两项目中的所有项目都启用。


按你说的都选了,正在编译
回复 支持 反对

使用道具 举报

发表于 2008-12-19 13:49:02 | 显示全部楼层
Post by elsove812;1926166
编译内核时,有些选项没有开。把Networking ---> Networking options --->
    Network packet filtering framework -->
     Core Netfilter Configuration 和 IP: Netfilter Configuration
    两项目中的所有项目都启用。


嗯,这是正确方法,
不过我想补充一下,并不是所有项目都必须要启用,
主要是其中和conntrack,connmark相关的必须选中,
其余选项根据你要控制的类型来选择(编译成模块)即可,
当然全部都选上更好,在使用时有更大的自由度。
如果你是新装系统,有一项proc/sysctl compatibility也没有选择的必要,
ipv4部分的parket filtering必须选中,而不能是选为模块,
而arp最好选为模块。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表