【iptables】修改规则和保存规则

1 修改规则

(1)修改指定表中指定链的规则

                iptables -t 表名 -R 链名 规则序号 -s 源地址 -j 处理动作

        接着上面的例子,假如我们想把下面的规则中的动作从DROP改为ACCEPT

        可以使用-R选项来修改指定的链中的规则,在修改规则时指定规则对应的编号即可,如图所示:

        上例中,-R选项表示修改指定的链,使用 -R INOUT 1 表示修改INPUT链的第1条规则,使用-j REJECT 表示INPUT 链中的第一条规则的动作修改为REJECT。

注意:-s选项以及对应的源地址不可省略。

        即使我们已经指定了规则对应的编号,但是在使用-R选项修改某个规则时,必须指定规则对应的原本的匹配条件(如果有多个匹配条件,都需要指定)。如果上图中的命令没有使用-s指定对应规则中原本的源地址,那么在修改完成后,你修改的规则中的源地址对应的原本的匹配条件会自动变成0.0.0.0/0(此IP表示所以网段的IP地址),而此时,-j对应的动作又为REJECT,所以在执行上述命令时,如果没有指明规则原本的源地址,那么所有IP的请求都被拒绝了(因为没有指定原本的源地址,当前规则的源地址自动变成0.0.0.0/0),如果你正在使用ssh远程到服务器上进行iptables设置,那么你的ssh请求也将会被阻断。

        既然使用-R选项修改规则时,必须指明规则原本的匹配条件,那么我们则可以理解为,只能通过-R选项修改规则对应的动作了,所以如果你想要修改某条规则,还不如先将这条规则删除,然后在同样位置再插入一条新规则,这样更好,当然,如果你只是为了修改某条规则的动作,那么使用-R选项时,不要忘了指明规则原本对应的匹配条件。

拓展:DROP和REJECT的区别

        上例中,我们已经将规则中的动作从DROP改为了REJECT,那么DROP与REJECT有什么不同呢?从字面上理解,

  • DROP表示丢弃,直接丢弃数据包,不给出任何回应信息
  • REJECT表示拒绝,拒绝数据包通过,会给数据发送端一个响应信息

        我们分别从133主机上向132主机上发起ping请求,有不同的结果:

DROP的现象

REJECT的现象

        当132主机中的iptables规则对应的动作为REJECT时,从133上进行ping操作时,直接就提示”目标端口不可达”,并没有像之前那样卡在那里,看来,REJECT比DROP更加”干脆”。

(2)修改指定链的默认策略

        一般每个链都有默认规则,即该链没有任何规则或者没有任何一条规则被匹配的情况下,对数据的放行策略是怎么样的。

        当报文没有被链中的任何规则匹配到时,或者,当链中没有任何规则时,防火墙会按照默认动作处理报文,我们可以修改指定链的默认策略,使用如下命令即可

                iptables -t 表名 -P 链名 处理动作

        使用-t指定要操作的表,使用-P选项指定要修改的链,上例中,-P FORWARD DROP表示将表中FORWRD链的默认策略改为DROP。

2 保存规则

        在默认的情况下,我们对”防火墙”所做出的修改都是”临时的”,换句话说就是,当重启iptables服务或者重启服务器以后,我们平常添加的规则或者对规则所做出的修改都将消失,为了防止这种情况的发生,我们需要将规则”保存”。

        在centos6中,直接使用“service iptables save”命令即可保持规则,规则默认保存在/etc/sysconfig/iptables文件中,我系统使用的是centos7,已经不能再使用类似service iptables start这样的命令了,所以service iptables save也无法执行,同时,在centos7中,使用firewall替代了原来的iptables service,不过我们只要通过yum源安装iptables与iptables-services即可(iptables一般会被默认安装,但是iptables-services在centos7中一般不会被默认安装),在centos7中安装完iptables-services后,即可像centos6中一样,通过service iptables save命令保存规则了,规则同样保存在/etc/sysconfig/iptables文件中。

centos7中配置iptables-service的步骤:

#配置好yum源以后安装iptables-service
# yum install -y iptables-services#停止firewalld
# systemctl stop firewalld#禁止firewalld自动启动
# systemctl disable firewalld#启动iptables
# systemctl start iptables#将iptables设置为开机自动启动,以后即可通过iptables-service控制iptables服务
# systemctl enable iptables

        上述配置过程只需一次,以后即可在centos7中愉快的使用service iptables save命令保存iptables规则了。

        当我们添加一条如下规则时,

        使用保持规则命令

                service iptables save

        可以看到,新规则已经被保存到 /etc/sysconfig/iptables 中。当我们重启设备的时候,再次看规则,可以发现刚刚新加的REJECT 133的规则已经存在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/307399.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GA/T1400公安视图库在视频监控系统中对接及方案

公安视频图像信息应用系统系列标准,标号为GA/T 1400,现行版本为2017年版,由公安部发布。现较广泛地使用于平安城市安防监控系统、智慧城市安防监控系统、雪亮工程安防监控系统之中。 公安视频图像信息应用系统系列标准,共分为4个部…

web三层架构

目录 1.什么是三层架构 2.运用三层架构的目的 2.1规范代码 2.2解耦 2.3代码的复用和劳动成本的减少 3.各个层次的任务 3.1web层(表现层) 3.2service 层(业务逻辑层) 3.3dao 持久层(数据访问层) 4.结合mybatis简单实例演示 1.什么是三层架构 三层架构就是把…

echarts半圆进度条半圆饼图

drawmonthproduce(){this.monthproduce echarts.init(document.getElementById(monthproduce));var data 60; //数值大小var max 100; //满刻度大小this.monthproduce.setOption({title: [{text: data %, left: 50%,top: 70%,textAlign: center,textStyle: {// fontWeight…

【neo4j】desktop下载

【neo4j】desktop下载 https://neo4j.com/download/ 点击download,填写表格 之后就可以正常使用了

【数据结构】七、图

一、概念 图:记为G(V,E) 有向图:每条边都有方向 无向图:边无方向 完全图:每个顶点都与剩下的所有顶点相连 完全有向图有n(n-1)条边;完全无向图有n(n-1)/2条边 带权图:边上标有数值的图 连通图&#…

共享单车之数据存储

文章目录 第1关:获取工作簿中的数据第2关:保存共享单车数据 第1关:获取工作簿中的数据 相关知识 获取工作簿中的信息,我们可以使用Java POI(POI是一个提供API给Java程序对Microsoft Office格式档案读和写的功能&#…

FindMy技术用于遥控器

遥控器已经悄然成为我们生活中的常客。无论是控制电视机的开关,调整音量,切换频道,还是控制空调的温度,调节灯光亮度,甚至远程操控智能家居设备,遥控器都为我们提供了极大的便利。 将遥控器与FindMy技术相结…

信号与线性系统翻转课堂笔记16——离散LTI系统的各类响应

信号与线性系统翻转课堂笔记16——离散LTI系统的各类响应 The Flipped Classroom16 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1,重点…

AI赋能金融创新:技术驱动的未来金融革命

人工智能(AI)作为一种技术手段,正逐渐改变金融行业的方方面面。从风险管理到客户体验,从交易执行到反欺诈,AI带来了许多创新和机遇。本文将探讨AI在金融领域的应用和其赋能的金融创新。 金融领域一直以来都面临着复杂的…

如何使用Pyxamstore快速解析Xamarin AssemblyStore文件

关于Pyxamstore Pyxamstore是一款针对Xamarin AssemblyStore文件(assemblies.blob)的强大解析工具,该工具基于纯Python 2.7开发,支持从一个APK文件中解包并重封装assemblies.blob和assemblies.manifest Xamarin文件。 什么是ass…

Spring高手之路-@Autowired和@Resource注解异同点

目录 相同点 不同点 1.来源不同。 2.包含的属性不同 3.匹配方式(装配顺序)不同。 ​编辑 4.支持的注入对象类型不同 5.应用地方不同 相同点 都可以实现依赖注入,通过注解将需要的Bean自动注入到目标类中。都可以用于注入任意类型的Bean…

Linux开发工具——gdb篇

Linux下调试工具——gdb 文章目录 makefile自动化构建工具 gdb背景 gdb的使用 常用命令 总结 前言: 编写代码我们使用vim,编译代码我们使用gcc/g,但是我们,不能保证代码没问题,所以调试是必不可少的。与gcc/vim一样&…