一.查看现有防火墙策略

# iptables有filter、nat、mangle、raw四张表
# filter表下默认有PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING五条链
# 默认查看filter表、所有链的策略
iptables -L -n
#--line-number参数会显示策略编号,该编号在删除策略时使用
iptables -L -n --line-number # 查看指定表的所有策略
iptables -t <table_name> -L -n # 查看指定链的策略
iptables -L <chain_name> -n

二.增加防火墙策略(以22端口为例)

iptables -A INPUT -s 192.168.220.0/ -p TCP --dport  -j ACCEPT    #增加网段
iptables -A INPUT -s 192.168.1.1 -p TCP --dport -j ACCEPT #增加单个IP
iptables -A INPUT -p TCP --dport -j DROP

说明:

1. -A代理在末尾追加,如果要在开头插入使用-I

2.多IP使用逗号(半角)相隔,多端口添加-m multiport然后端口使用逗号(半角)相隔

iptables -A INPUT -s 127.0.0.1,1192.168.1.1 -p tcp -m multiport --dport , -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport , -m comment --comment "deny all 22,23" -j DROP

3.对于连续IP合用--src-range

iptables -I INPUT -m iprange --src-range 192.168.220.128-192.168.220.139 -p tcp -m multiport --dport , -m comment --comment "subnet:22,23" -j ACCEPT

注意这个语句的结果中source会变成0.0.0.0/0,但不用担心他会对所有IP放行,后边有source IP range的描述那是起作用的IP:

4. 如果原来没有策略或者不冲突的情况下,-A和-I的结果是一样的;但是在“远程添加防火墙”和“限制22端口”两个条件下,-I可能会让你陷入致命的麻烦:

iptables -I INPUT -p TCP --dport  -j DROP
iptables -I INPUT -s 192.168.1.1 -p TCP --dport -j ACCEPT
iptables -I INPUT -s 192.168.220.0/ -p TCP --dport -j ACCEPT

看起来这三句和-A那三句结果是一样的,但防火墙策略是即时生效的也就是在“iptables -I INPUT -p TCP --dport 22 -j DROP”执行后,你的ssh就马上会断开了后边两句根本不会执行

5.-A等参数后接的是链名,比如前面我们都是INPUT链;类似的,如果我们要操作自定义的规则链,只要将INPUT改成自己的链名即可。规则链创建删除命令如下:

# 创建新规则链
iptables -N <chain_name>
# 删除规则链
iptables -X <chain_name>

三.修改防火墙策略

iptables -R INPUT  -s 192.168.1.1 -p TCP --dport 22 -j DROP   #2是--line-nember查到的,所有参数都要写-R不是在原策略基础上修改而就是直接取化,所以这里的-s虽然原来就是192.168.1.1但还是要写,不然结果就是DROP掉所有ip对22端口的连接请求

四.删除防火墙策略

iptables -D INPUT 2   #2是--line-number查到的,此句会删除第2条策略

iptables -F           #此句会清空所有防火墙规则,慎用

五.保存防火墙规则

上边对防火墙的修改只是临时的,并没有存入配置文件(/etc/sysconfig/iptables),防火墙服务重启之后策略会退回到之前保存的策略状态;要防火墙配置永久生效要进行保存

service iptbales save

iptables增加、删除、修改、查询、保存防火墙策略教程的更多相关文章

  1. [JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改

    上一次的文章,我们讲解了如何用JAVA访问MySql数据库,对数据进行增加删除修改查询.那么这次我们把具体的页面的数据库操作结合在一起,进行一次简单的学生信息操作案例. 首先我们创建一个专门用于学生管 ...

  2. Nodejs之MEAN栈开发(九)---- 用户评论的增加/删除/修改

    由于工作中做实时通信的项目,需要用到Nodejs做通讯转接功能,刚开始接触,很多都不懂,于是我和同事就准备去学习nodejs,结合nodejs之MEAN栈实战书籍<Getting.MEAN.wi ...

  3. 在Javascript操作JSON对象,增加 删除 修改

    在Javascript操作JSON对象,增加删除修改全有的,详情见代码 <script type="text/javascript"> var jsonObj2 = { ...

  4. AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层

    AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层 AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层我理解的图层的作用大概是把 ...

  5. Spring Boot 增加删除修改 批量

    1.批量删除  a.自定义Repositoy中写 前台处理https://blog.csdn.net/yhflyl/article/details/81557670首先前台先要获取所有的要删除数据的I ...

  6. php后台增加删除修改跳转页面

    第一步 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  7. jQuery增加删除修改tab导航特效

    HTML:         <div class="container iden_top">                <ul>             ...

  8. ztree树形菜单的增加删除修改和换图标

    首先需要注意一点,如果有研究过树形菜单,就会发现实现删除和修改功能特别简单,但是增加却有一点复杂.造成这个现象是ztree树形菜单的历史遗留问题.大概是之前的版本没有增加这个功能,后来的版本加上了这个 ...

  9. Sql增加,删除,修改列

    1. 查看约束条件 - MySQL: SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where table_name = 'book'; - ...

随机推荐

  1. 用tsMuxeR GUI给ts视频添加音轨

    收藏比赛的都应该知道,高清的直播流录制了后一般是ts或者mkv封装,前者用tsMuxeR GUI可以对视频音频轨进行操作,后者用mkvtoolnix,两者都是无损操作. 至于其他格式就不考虑了,随便用 ...

  2. ext4.2常用的几种弹框

    以下记录了自己在做项目时,经常用到的几种ext弹框.项目中使用的ext是4.2版本的. 1. Ext.Msg.alert() 使用此种方式时,如果提示信息过长则提示信息会被覆盖掉一部分. Ext.Ms ...

  3. N的阶乘(10000) 51 nod——1057 (大数)

    像这些大整数加法或者乘法什么的思想都一样,就是截位存取,累积进位,最后逆序输出就可以啦 PS:小生是用10000来存取的,300MS就能A,如果单个存取有点危险,题目时间限制好像是1000ms,大家可 ...

  4. Vue项目中如何使用Element-UI以及如何使用sass

    Vue项目中如何使用Element-UI以及如何使用sass 当我们在开发Vue项目的时候通常会选择Element-UI作为我们的UI框架,其官方中文文档地址是http://element.eleme ...

  5. StringBuilderWriter 这个类需要commons.io.2.6这个包才可以使用, 在maven仓库中搜

  6. tomcat允许跨域请求:

    在springmvc-servlet.xml中配置 <mvc:interceptors> <bean class="com.read.api.pc.interceptor. ...

  7. python中socket模块详解

    socket模块简介 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket通常被叫做"套接字",用于描述IP地址和端口,是一个通信 ...

  8. stm32cube使用

    1.使用stm32cube生成CAN代码注意事项: a.需要手动配置CAN过滤器 { CAN_FilterConfTypeDef sFilterConfig; uint32_t filterID = ...

  9. 雷林鹏分享:jQuery EasyUI 树形菜单 - 创建复杂树形网格

    jQuery EasyUI 树形菜单 - 创建复杂树形网格 树形网格(TreeGrid)可以展示有限空间上带有多列和复杂数据电子表格.本教程将演示如何将表格数据排列在分割的网格和多行表头中,以便组织共 ...

  10. 20170706xlVBA汇总历时对阵数据

    Public Sub GatherFilesData() Application.ScreenUpdating = False Application.DisplayAlerts = False Ap ...