使用 /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. 4.下面咱就不细说了,具体就是看自己服务器要开放哪些端口或者是要访问哪些端口来做具体的配置,下面是我自己的机器的配置:
  7. /etc/sysconfig/iptables文件配置如下:
  8. # Generated by iptables-save v1.4.7 on Fri Mar  2 19:59:43 2012
  9. *filter
  10. :INPUT DROP [0:0]
  11. :FORWARD DROP [0:0]
  12. :OUTPUT DROP [8:496]
  13. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  14. #ping使用的端口
  15. -A INPUT -p icmp -j ACCEPT
  16. -A INPUT -i lo -j ACCEPT
  17. -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
  18. -A INPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT
  19. #允许服务器自己的SSH(对外部请求来说服务器是目标所以使用--dport)
  20. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
  21. #80端口不用说了吧,服务器网站访问端口
  22. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  23. -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
  24. -A INPUT -p tcp -m tcp --dport 11211 -j ACCEPT
  25. -A INPUT -p tcp -m tcp --dport 11212 -j ACCEPT
  26. -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  27. #53端口是DNS相关,TCP和UDP都要配置
  28. -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
  29. -A INPUT -p udp -m udp --dport 53 -j ACCEPT
  30. #ping使用的端口
  31. -A OUTPUT -p icmp -j ACCEPT
  32. -A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT
  33. -A OUTPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT
  34. #允许服务器SSH到其他机器(使用外部端口就使用--dport)
  35. -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
  36. #允许服务器自己的SSH(自已为源输出就使用--sport)
  37. -A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
  38. #访问外部网站80端口(使用外部端口就使用--dport)
  39. -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
  40. #如果服务器需要访问外部网站,那么OUTPUT也需要配置53端口(使用外部端口就使用--dport)
  41. -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
  42. -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
  43. #如果有访问外部邮箱,那么打开邮箱相关端口(使用外部端口就使用--dport)
  44. -A OUTPUT -p tcp -m tcp --dport 465 -j ACCEPT
  45. -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT
  46. -A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT
  47. #服务器网站访问端口(自已为源输出就使用--sport)
  48. -A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
  49. -A OUTPUT -p tcp -m tcp --sport 3306 -j ACCEPT
  50. -A OUTPUT -p tcp -m tcp --sport 11211 -j ACCEPT
  51. -A OUTPUT -p tcp -m tcp --sport 11212 -j ACCEPT
  52. COMMIT
  53. # 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. 所以,例如上面要删除一个INPUT链的规则的话可以这样:iptables -D INPUT 3
  6. 意思是删除第3条规则。
  7. 还有第二种方法。第二种办法是 -A 命令的映射,不过用-D替换-A。当你的链中规则很复杂,而你不想计算它们的编号的时候这就十分有用了。也就是说,你如何用iptables -A.... 语句定义了一个规则,则删除此规则时就用 -D 来代替- A  其余的都不变即可。
  8. ======================
  9. 说一下上面的 --line-numbers 选项,如下面的命令:
  10. iptables -L INPUT --line-numbers   列出INPUT 链所有的规则
  11. num  target     prot opt source               destination
  12. 1    REJECT     tcp  --  anywhere             anywhere            tcp dpt:microsoft-ds reject-with icmp-port-unreachable
  13. 2    REJECT     tcp  --  anywhere             anywhere            tcp dpt:135 reject-with icmp-port-unreachable
  14. 3    REJECT     tcp  --  anywhere             anywhere            tcp dpt:netbios-ssn reject-with icmp-port-unreachable
  15. ...
  16. ...
  17. 删除指定行规则:
  18. [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进行保存后重启服务即可

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

防火墙启动失败,提示最后一行出错【COMMIT】的更多相关文章

  1. proftpd启动失败提示unable to determine IP address of “xxx.com”

    proftpd启动失败提示unable to determine IP address of “xxx.com”这种proftpd启动失败的原因是无法解析后面主机的IP地址,解决方法是在DNS列表中增 ...

  2. Tomcat启动失败 提示Server Tomcat v7.0 Server at localhost failed to start.六种解决方法

    Tomcat启动失败,提示Server Tomcat v7.0 Server at localhost failed to start 在一次查看自己以前写过的项目中,运行tomcat失败,出现如图提 ...

  3. windows下redis启动失败提示maxheap flag

    windows下redis启动失败 D:\redis>redis-server.exe redis.conf [] Oct ::39.789 # The Windows version of R ...

  4. SQL 2008 R2 启动失败 提示 请求失败或服务未及时响应

    为什么启动sql server 配置管理器出现请求失败或服务未及时响应_百度知道 http://zhidao.baidu.com/link?url=ElemzIan6I2CqJsd7-7uk5TV25 ...

  5. phpStudy启动失败提示:缺少VC9运行库

    镜像是官方2008 64位中文版 按照提示安装了VC9以后 软件依旧无法运行阿帕奇,提示缺少VC9运行库 这是因为:64位系统除了要装64位的运行库也要装32位的运行库 32位的VC9运行库下载:ht ...

  6. apache启动失败提示预期<IfModule>结果<IfModule>>

    经过反复查看httpd.conf文件,发现原因是启动了两遍<IfModule>,也就是出现内容重复标签重复曾经遇到类似的情况Apache2: Expected </> but ...

  7. docker 启动失败 Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

    CentOS7安装docker,安装成功后,启动失败 提示: 我们可以看到此处它提示是Failed to start Docker Application Container Engine. 于是在网 ...

  8. SQL Server(MSSQLSERVER)启动失败,提示“请求失败或服务未及时响应

    1.SQL Server(MSSQLSERVER)启动失败,提示“请求失败或服务未及时响应. --------------------------- SQL Server 配置管理器 -------- ...

  9. haproxy启动时提示失败

    haproxy启动时提示失败:[ALERT] 164/110030 (11606) : Starting proxy linuxyw.com: cannot bind socket 这个问题,其实就是 ...

随机推荐

  1. Kotlin Reference (四) Basic Types

    most from reference 基本类型 在kotlin中,一切都是对象,我们可以在任何变量上调用成员函数和属性.一些类型可以具有特殊的内部表示:例如,数字.字符和布尔值都可以在运行时被表示为 ...

  2. Vim技能修炼教程(3) - 语法高亮进阶

    语法高亮进阶 首先我们复习一下上节学到的三个命令: * syntax match用于定义正则表达式和规则的对应 * highlight default定义配色方案 * highlight link将正 ...

  3. XCOde 5 的界面布局一些新特性

    1.问题 •在iOS程序中,大部分视图控制器都包含了大量的代码用于设置UI布局,设置控件的水平或垂直位置,以确保组件在不同版本的iOS中都能得到合理的布局 •甚至有些程序员希望在不同的设备使用相同的视 ...

  4. learn go ifelse

    package main // 参考文档: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/05.1.md im ...

  5. 【剑指offer】10A--求裴波那切数列的第n项,C++实现

    #本文是牛客网<剑指offer>刷题笔记 1.题目 写入一个函数,输入n,输出裴波那切数列的第n项 2.思路 递归--时间和空间复杂度高 循环--时间和空间复杂度低,通过循环迭代计算第n项 ...

  6. 使用POI对excel进行操作生成二维数组

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  7. LOJ2421 NOIP2015 信息传递 【tarjan求最小环】

    LOJ2421 NOIP2015 信息传递 LINK 题目大意就是给你一个有向图,求最小环 有一个很奇妙的性质叫做每个点只有一条出边 然后我们考虑对每个强联通分量进行考虑 发现每个强联通分量内的边数一 ...

  8. 剑指offer第六章

    剑指offer第六章 1.数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在数组中出现了4次,所以输出4 分析:思路1 ...

  9. Flask第二篇——服务器相关

    web服务器.应用服务器和web应用框架 web服务器:负责处理http请求.响应静态文件,常见的有Apache,Nginx以及微软的IIS 应用服务器:负责处理逻辑的服务器.比如php.python ...

  10. C#连接数据库以及增、删、改、查操作

    using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; usin ...