iptables增加、删除、修改、查询、保存防火墙策略教程
一.查看现有防火墙策略
# 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增加、删除、修改、查询、保存防火墙策略教程的更多相关文章
- [JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改
上一次的文章,我们讲解了如何用JAVA访问MySql数据库,对数据进行增加删除修改查询.那么这次我们把具体的页面的数据库操作结合在一起,进行一次简单的学生信息操作案例. 首先我们创建一个专门用于学生管 ...
- Nodejs之MEAN栈开发(九)---- 用户评论的增加/删除/修改
由于工作中做实时通信的项目,需要用到Nodejs做通讯转接功能,刚开始接触,很多都不懂,于是我和同事就准备去学习nodejs,结合nodejs之MEAN栈实战书籍<Getting.MEAN.wi ...
- 在Javascript操作JSON对象,增加 删除 修改
在Javascript操作JSON对象,增加删除修改全有的,详情见代码 <script type="text/javascript"> var jsonObj2 = { ...
- AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层
AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层 AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层我理解的图层的作用大概是把 ...
- Spring Boot 增加删除修改 批量
1.批量删除 a.自定义Repositoy中写 前台处理https://blog.csdn.net/yhflyl/article/details/81557670首先前台先要获取所有的要删除数据的I ...
- php后台增加删除修改跳转页面
第一步 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- jQuery增加删除修改tab导航特效
HTML: <div class="container iden_top"> <ul> ...
- ztree树形菜单的增加删除修改和换图标
首先需要注意一点,如果有研究过树形菜单,就会发现实现删除和修改功能特别简单,但是增加却有一点复杂.造成这个现象是ztree树形菜单的历史遗留问题.大概是之前的版本没有增加这个功能,后来的版本加上了这个 ...
- Sql增加,删除,修改列
1. 查看约束条件 - MySQL: SELECT * FROM information_schema.`TABLE_CONSTRAINTS` where table_name = 'book'; - ...
随机推荐
- 初步:jenkins自动构建安卓Apk
1:本地搭建jenkins 2:下载插件 3:配置相关信息(git,sdk等等) 3:拉取git仓库代码 4:编译执行 参考文章:http://www.cnblogs.com/reblue520/p/ ...
- 力扣(LeetCode) 905. 按奇偶排序数组
给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素. 你可以返回满足此条件的任何数组作为答案. 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] ...
- 解决Android Studio卡在Gradle:Resolve dependecies 'app:_debugCompile'问题
转载: http://blog.csdn.net/callzjy/article/details/53662073 该死的破墙,我被恶心了一个晚上. 做墙的技术员,TMD的能不能上点心,至少把技术网站 ...
- 《HTTP 权威指南》笔记:第十二章 基本认证体制
导言 客户端可以通过网络来得到想要的信息,但是有一些信息并不能是对所有人都能看到的,因此必须有一种认证机制.服务器需要通过这种方式来了解用户身份,一旦服务器知道了用户的身份,就可以让用户能够访问请求的 ...
- 有序广播和标准广播 --Android开发
一.标准广播和有序广播也很容易理解的. 标准广播: (1)通过sendBroadcast()方法发送 (2)通过异步方式发送,广播接收者的执行顺序是不明确的 有序广播: (1)通过sendOrderB ...
- C#后台Post提交XML 及接收该XML的方法
//发送XML public void Send(object sender, System.EventArgs e) { string WebUrl = "http:/ ...
- 发布web站点数据库环境的问题
今天在公司部署web站点的时候发现了一个比较低级的错误,公司映射的外网的IP我们内部人员是无法进行访问的,结果我把站点配置文件中的IP改成是外网的IP,站点一直无法访问到数据.后面发现问题是,当外网用 ...
- file 文件处理
python文件处理 #写文件 >>> f=open("test.log","w") #"w"写入模式 >>& ...
- 0.1.2 max_element和min_element的用法
找到的位置都是第一个最大(小)的元素,即存在多个相同大小的元素的时候找到的是第一个. 返回的是指针(元素地址). printf("%d\n",*max_element(a,a+n) ...
- 4.1.2 A Funny Game(POJ 2484)
Problem description: n枚硬币排成一个圈,A和B轮流从中取一枚或两枚硬币,不过取两枚时,所取的两枚硬币必须是连续的.硬币取走之后留下空位,相隔空位的硬币视为不连续的.A开始先取,取 ...