zoukankan      html  css  js  c++  java
  • 防火墙启动失败,提示最后一行出错【COMMIT】

    使用 /etc/init.d/iptables save  后

    iptables配置文件发生变化

    并生成iptables.save

    vim iptables.save    【配置内容则是原来的】

    save后才可以启动iptables

    但是原来的配置参数还生效吗?

    答案如下:

    附加内容:

    1. 3.下面是很危险的操作,如果你第一步没做就会直接可能导致你连不上SSH,此步骤前切记执行第一步!!!   
    2. iptables -P INPUT DROP    
    3. iptables -P OUTPUT DROP    
    4. iptables -P FORWARD DROP   
    5. 这个步骤是把所有不符合自己配置的规则ACCEPT的连接全部DROP掉,执行完以后如果咱SSH还没掉,那么谢天谢地,安全了,重启下iptables后继续下面的配置!   
    6.   
    7. 4.下面咱就不细说了,具体就是看自己服务器要开放哪些端口或者是要访问哪些端口来做具体的配置,下面是我自己的机器的配置:   
    8.   
    9. /etc/sysconfig/iptables文件配置如下:   
    10. # Generated by iptables-save v1.4.7 on Fri Mar  2 19:59:43 2012   
    11. *filter   
    12. :INPUT DROP [0:0]   
    13. :FORWARD DROP [0:0]   
    14. :OUTPUT DROP [8:496]   
    15. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT   
    16. #ping使用的端口   
    17. -A INPUT -p icmp -j ACCEPT   
    18. -A INPUT -i lo -j ACCEPT   
    19. -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT   
    20. -A INPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT   
    21. #允许服务器自己的SSH(对外部请求来说服务器是目标所以使用--dport)   
    22. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT   
    23. #80端口不用说了吧,服务器网站访问端口   
    24. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT   
    25. -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT   
    26. -A INPUT -p tcp -m tcp --dport 11211 -j ACCEPT   
    27. -A INPUT -p tcp -m tcp --dport 11212 -j ACCEPT   
    28. -A FORWARD -j REJECT --reject-with icmp-host-prohibited   
    29. #53端口是DNS相关,TCP和UDP都要配置   
    30. -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT   
    31. -A INPUT -p udp -m udp --dport 53 -j ACCEPT   
    32. #ping使用的端口   
    33. -A OUTPUT -p icmp -j ACCEPT   
    34. -A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT   
    35. -A OUTPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT   
    36. #允许服务器SSH到其他机器(使用外部端口就使用--dport)   
    37. -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT   
    38. #允许服务器自己的SSH(自已为源输出就使用--sport)   
    39. -A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT   
    40. #访问外部网站80端口(使用外部端口就使用--dport)   
    41. -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT   
    42. #如果服务器需要访问外部网站,那么OUTPUT也需要配置53端口(使用外部端口就使用--dport)   
    43. -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT   
    44. -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT   
    45. #如果有访问外部邮箱,那么打开邮箱相关端口(使用外部端口就使用--dport)   
    46. -A OUTPUT -p tcp -m tcp --dport 465 -j ACCEPT   
    47. -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT   
    48. -A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT   
    49. #服务器网站访问端口(自已为源输出就使用--sport)   
    50. -A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT   
    51. -A OUTPUT -p tcp -m tcp --sport 3306 -j ACCEPT   
    52. -A OUTPUT -p tcp -m tcp --sport 11211 -j ACCEPT   
    53. -A OUTPUT -p tcp -m tcp --sport 11212 -j ACCEPT   
    54. COMMIT   
    55. # Completed on Fri Mar  2 19:59:43 2012  

    5.可能有时候需要删除规则,最简单就是修改一下/etc/sysconfig/iptables然后service iptables restart,最后/etc/rc.d/init.d/iptables save即可。

    当然也可以使用指令完成:

    1. 在网上找了一下,删除规则的方法:   
    2. 语法是: iptables -D chain rulenum [options]   
    3. 其中: chain 是链的意思,就是INPUT FORWARD 之类的   
    4.              rulenum 是规则的编号。从1 开始。可以使用  --line-numbers 列出规则的编号   
    5.     
    6. 所以,例如上面要删除一个INPUT链的规则的话可以这样:iptables -D INPUT 3   
    7. 意思是删除第3条规则。   
    8. 还有第二种方法。第二种办法是 -A 命令的映射,不过用-D替换-A。当你的链中规则很复杂,而你不想计算它们的编号的时候这就十分有用了。也就是说,你如何用iptables -A.... 语句定义了一个规则,则删除此规则时就用 -D 来代替- A  其余的都不变即可。   
    9. ======================   
    10. 说一下上面的 --line-numbers 选项,如下面的命令:   
    11. iptables -L INPUT --line-numbers   列出INPUT 链所有的规则   
    12. num  target     prot opt source               destination            
    13. 1    REJECT     tcp  --  anywhere             anywhere            tcp dpt:microsoft-ds reject-with icmp-port-unreachable   
    14. 2    REJECT     tcp  --  anywhere             anywhere            tcp dpt:135 reject-with icmp-port-unreachable   
    15. 3    REJECT     tcp  --  anywhere             anywhere            tcp dpt:netbios-ssn reject-with icmp-port-unreachable   
    16.   
    17. ...   
    18. ...   
    19. 删除指定行规则:   
    20. [root@localhost rc.d]# iptables -D INPUT 4  

      6.最后补充一下,如果想针对某IP进行单独开放端口可以如下配置:

    1. 如果我需要对内网某机器单独开放mysql端口,应该如下配置:   
    2. iptables -A INPUT -s 192.168.2.6 -p tcp -m tcp --dport 3306 -j ACCEPT   
    3. iptables -A OUTPUT -s 192.168.2.6 -p tcp -m tcp --sport 3306 -j ACCEPT  

    7.彻底禁止某IP访问:

    1. #屏蔽单个IP的命令是   
    2. iptables -I INPUT -s 123.45.6.7 -j DROP   
    3. #封整个段即从123.0.0.1到123.255.255.254的命令   
    4. iptables -I INPUT -s 123.0.0.0/8 -j DROP   
    5. #封IP段即从123.45.0.1到123.45.255.254的命令   
    6. iptables -I INPUT -s 124.45.0.0/16 -j DROP   
    7. #封IP段即从123.45.6.1到123.45.6.254的命令是   
    8. iptables -I INPUT -s 123.45.6.0/24 -j DROP   
    9. 指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可  

    linux

    来源:http://www.linuxidc.com/Linux/2012-03/56066.htm

  • 相关阅读:
    request的getServletPath(),getContextPath(),getRequestURI(),getRealPath("/")区别
    Google Guava
    Mybatis分页插件-PageHelper
    Mybatis通用Mapper
    IntelliJ Idea 常用快捷键
    @JProfiler
    sparkStreaming消费kafka-0.8方式:direct方式(存储offset到zookeeper)
    kafka其中一台节点坏掉的迁移或者数据迁移
    sparkStreaming序列化问题
    【CSS】最全的CSS浏览器兼容问题
  • 原文地址:https://www.cnblogs.com/chenjw-note/p/5771433.html
Copyright © 2011-2022 走看看