一.查看现有防火墙策略

# 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. 手把手教你学习R语言

    本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反 ...

  2. C#配置文件

    今天为大家讲一下为什么有时候我们创建项目的时候没有自带的配置文件项目,如下: 图1没有自己的配置文件,图二有自己的配置文件. 其实很简单,那是因为很多时候我们创建项目的时候,默认就会创建.NET Fr ...

  3. LaTeX 交叉引用系统简介

    目录 摘要 1. 简介 2. 指定标签或标记符 3. 标签的位置 4. 引用的生成和更新 5. 引用相关的警告信息 6. 扩展引用功能的宏包 6.1 varioref宏包 6.2 cleveref宏包 ...

  4. ubuntu 安装cuda 9.1 pytorch 0.3.0

    毕业再没用配过机器学习的环境了,既亲切又陌生,久违了. 系统 mint18  x64 1安装cuda 按官网提示 选的9.1版  https://developer.nvidia.com/cuda-t ...

  5. linux修改网卡名为eth0

    方法1: 1.编辑网卡的配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 将里面的NAME和DEVICE项修改为eth0,ONBOOT修改为yes. ...

  6. Asp.net core 学习笔记 ( User Secrets )

    参考 : http://cnblogs.com/nianming/p/7068253.html https://docs.microsoft.com/en-us/aspnet/core/securit ...

  7. Java使用Spring初识

    1.首先是引用了,然后pom.xml如下: <dependency> <groupId>org.springframework</groupId> <arti ...

  8. docker安装成功启动失败

    docker安装成功却启动失败,查看docker服务,systemctl status docker.service, 服务日志提示Failed to start Docker Application ...

  9. bedtools神器 | gtf转bed | bed文件运算

    我们生信技能书有一篇介绍bedtools的文章,可以在微信里搜着看下,非常有用. http://bedtools.readthedocs.io/en/latest/ gtf转bed用Linux命令完全 ...

  10. Python Web简单加法器的实现--Python

    坚持写博客来记录学习过程,哪怕学习的东西多么简单!下面是python中cgi相关知识. Template.py:(模板引擎文件) #模板引擎def start_response(resp=" ...