iptables 规则管理

2023-11-01

参考:http://www.zsythink.net/archives/1517

有两台测试机

zk02   192.168.27.152

zk03   192.168.27.153 

目录

1、增加规则

2、追加规则


1、增加规则

首先看一条命令,表示如果报文来自192.168.27.153 ,则将报文进行丢弃

iptables -t filter -I INPUT -s 192.168.27.153 -j DROP

解读:

"-t"  指定操作fitler 表,不使用-t 选项指定表时,默认操作filter 表

"-I" 指定将规则插入到哪个链中,-I表示insert ,即插入的意思,所以-I INPUT 表示将规则插入到INUT链中,即添加规则之意.

"-s" 指定匹配条件中的 "源地址",即如果报文的源地址属于-s 对应的地址,那么报文则满足匹配的条件,-s 表示source ,表示源地址.

"-j"  指定当匹配条件被满足时,所对应的动作,上例中指定的动作为DROP.

 再次查看

[root@zk02 ~]# iptables -nvL INPUT
Chain INPUT (policy ACCEPT 186 packets, 13147 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   60  6140 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0      

在153 机子ping zk02 发现,ping 发送的报文没有被152 (zk02) 机子接受.

2、追加规则

[root@zk02 ~]# iptables -t filter -A INPUT -s 192.168.27.153 -j ACCEPT

使用-A 选项,表示在对应链中追加规则,-A 即 append 之意,所以-A INPUT 表示在INPUT链中追加规则,而之前示例中使用的-I选项则表示在链中"插入规则" ,它们都是本意都是添加一条规则,-A 表示在链的尾部追加规则,-I 表示在链的首部添加规则.

Chain INPUT (policy ACCEPT 17 packets, 1192 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  194 17396 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0    

再次在zk03 上ping  zk02 发现 ,ping 还是没有反应.说明第二条添加的规则并没有生效.

使用-I 添加一个ACCPET规则

iptables -t filter -I INPUT -s 192.168.27.153 -j ACCEPT
[root@zk02 ~]# iptables -nvL INPUT
Chain INPUT (policy ACCEPT 14 packets, 1097 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    6   504 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0           
  402 34868 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0       

可以发现ping 已经通了.

从上面可以看出,规则的顺序很重要.

如果报文已经被前面的规则匹配到,iptables 则会对报文执行对应的动作,即使后面的动作也能匹配到当前的报文,很有可能也没机会再对报文执行响应的动作了。

使用--line-numbers 列出规则的序号

[root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 121 packets, 8835 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      288 24192 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0           
2      402 34868 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0           
3        0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0   

我们也可以在添加规则时,指定规则的编号,这样我们就能在任意位置插入规则了, 后面的规则序号往后移动,如:

[root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 12 packets, 792 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      288 24192 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0           
2        0     0 ACCEPT     all  --  *      *       192.168.27.188       0.0.0.0/0           
3      402 34868 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0           
4        0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0    

 

3、删除规则

有两种方式

a、根据规则的编号删除规则

b、根据具体的匹配条件与动作删除规则

首先看一下filter 链中的INPUT规则

root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 12 packets, 792 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      288 24192 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0           
2        0     0 ACCEPT     all  --  *      *       192.168.27.188       0.0.0.0/0           
3      402 34868 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0           
4        0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0     

删除上图中的第2条规则  ,-D 表示删除指令链中的某条规则

[root@zk02 ~]# iptables -t filter -D INPUT 2
[root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 6 packets, 396 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      288 24192 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0           
2      402 34868 DROP       all  --  *      *       192.168.27.153       0.0.0.0/0           
3        0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0     

下面根据匹配的条件与动作删除规则,删除 源地址 192.168.27.153 ,动作为DROP的规则 ,命令如下:

[root@zk02 ~]# iptables -t filter -D INPUT -s 192.168.27.153 -j DROP

[root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 12 packets, 792 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      288 24192 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0           
2        0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0   

删除对应的规则时,仍然使用-D选项,剩下的规则选项与添加规则时一样.

删除指定表中某条链的所有规则

iptables -t 表名 -F 链名

-F为flush 的意思,即冲刷指定的链,删除指定链中的所有规则,但是请注意,此操作属于删除操作,在没有保存iptables 规则情况下,请慎用.  

其实,-F 不仅能清空指令链上的规则,其实它还能清空指定表上所有链的规则,不指定链名,只指定表名即可删除表的所有规则,命令如下:

iptables -t 表名 -F

注意: 在没有保存iptables 规则时,请勿随便清空或者表中的规则 ,除非你明白你在干什么.

4、修改规则

将如下规则中的DROP 改为REJECT

[root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 12 packets, 792 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      288 24192 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0   

  使用-R 选项指定链中的规则,在修改规则时指定链中的编号即可.

[root@zk02 ~]# iptables -t filter  -R INPUT 1 -s  192.168.27.153  -j REJECT
[root@zk02 ~]# iptables --line-numbers  -nvL INPUT
Chain INPUT (policy ACCEPT 24 packets, 1584 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REJECT     all  --  *      *       192.168.27.153       0.0.0.0/0            reject-with icmp-port-unreachable
2        0     0 ACCEPT     all  --  *      *       192.168.27.153       0.0.0.0/0  

如果不使用-s 指定源地址,你修改规则中的源地址会变为0.0.0.0/0 (此IP表示匹配所有网段的ip地址)

 

修改默认规则: 

每张表的每条链中,都有自己的默认策略,我们也可以理解为默认动作.

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

iptables -t filter -P INPUT DROP

5、保存规则

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

service iptables save

注意:centos7 默认使用firewalld ,如果想使用上述命令保存规则,需要安装iptables-service 

或者使用如下方法保存规则

iptables-save > /etc/sysconfig/iptables

也可以使用如下命令从指定的文件载入规则,注意:重载规则时,文件中的规则将会覆盖现有规则

iptables-restore < /etc/sysconfig/iptables

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iptables 规则管理 的相关文章

  • 智能家居网络系统的设计

    今天开始学习制作智能家居网络系统 这个项目相对简单的多 但对于新手还是有难度的 所以今天我写出来 尽我最大努力写详细一点 单本人能力实在是有限 文章中肯定会出现很多错误 望大家指出来 一定改正 讲解过程中所涉及全部代码下载地址 智能家居网络
  • Linux环境基础开发工具的使用:

    创建新用户 新建用户操作 删除用户 Linux器 vim使用 1 vim的基本概念 vim的三种模式 其实有好多模式 目前掌握这3种即可 分别是命令模式 command mode 插入模式 Insert mode 和底行模式 last li
  • uboot环境变量分析

    项目情景 最近我在一个新平台的开发过程中遇到烧录问题 具体的问题是使用原厂提供的烧录脚本烧录成功 但是固件却没有更新 其中kernel和dtb烧录指令如下 adnl exe Partition M mem P 0x1000000 F lin
  • pip安装更换镜像

    原文链接 使用pip来安装python包有时候安装起来会非常慢 因此需要换成国内的源来加速下载 1 使用命令 以Torch为例 pip install i https pypi tuna tsinghua edu cn simple tor
  • iptables 查看相关命令

    参考 https www zsythink net archives 1493 一些命令的总结 1 查看对应表的所有规则 t 指定要操作的表 省略 t 表名时 默认表示操作filter 表 L 表示列出规则 即查看规则 iptables t
  • 初步安装dns

    dns安装详解 dns的实现工具 bind 查找系统中的bind的rpm包 DNS服务器的监听端口 查看监听端口相关信息 dns的实现工具 bind 查找系统中的bind的rpm包 yum list grep bind bind x86 6
  • 四、网络编程001

    1 2 文章目录 1 网络基础 1 网络应用程序设计模式 2 协议概念 3 分层模型 4 arp协议格式 请求获取对方mac 5 ip协议 6 传输层 7 tcp udp 传输层协议 8 socket编程 9 套接字预备知识 9 3scck
  • linux目录与文件相关操作

    一 目录相关操作 1 pwd 显示目前所在目录 pwd pwd P 显示真正的所在目录路径 而非链接文件路径 2 mkdir 建立新目录 mkdir lt 目录名 gt mkdir m lt 权限 gt lt 目录名 gt m指定目录的权限
  • Linux学习第11天:字符设备驱动开发:一字一符总见情

    本文是驱动开发的第一篇笔记 主要内容是字符设备驱动开发最基础的内容 主要包括字符设备的概念 开发步骤以及一个十分重要的概念 设备号 其思维导图能简单的显示本文的基本框架 如下 一 字符设备 字符设备就是一个一个字节 按照字节流进行读写操作的
  • 查询CPU的核数

    超线程技术就是利用特殊的硬件指令 把两个逻辑内核模拟成两个物理芯片 让单个处理器都能使用线程级并行计算 进而兼容多线程操作系统和软件 减少了CPU的闲置时间 提高的CPU的运行效率 超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CP
  • LVS 之 集群搭建

    官网地址 http www linuxvirtualserver org zh lvs1 html 首先 准备4台虚拟机 一个用于客户端 一个用于LVS 调度器 2个用于后端服务器 LVS NAT配置 1 zk02 开启内核的核心转发功能
  • Linux dstat监控工具简讲

    1 小声哔哔 记得在19年的年末 我第一次接触sar命令时将其奉为经典 至今看来仍不为过 可见我之前的博客 运维入门必备Linux sar命令 说回今天我们的工具dstat 与sar命令很相像 都很全面且强大 但是dstat更类似于看板 可
  • bash下的单方括号和双方括号

    bash下的单方括号和双方括号概念以及用法 一 bash 单括号 两个符号左右都要有空格分隔 内部操作与操作变量之间要有空格 val gt10 字符
  • 改变linux命令行中的颜色

    黑色背景 白色字体虽然是最经典的 但是有时候太多白花花的英文在一起也会变得乱 下面是我的改变字体的办法 目前我只实现了让root目录下的字体变为绿色 如下图 这个只是最简单的改变颜色的 虽然对大牛们来说很简单 但对我这个初学者来说 真是费了
  • dns配置

    dns配置文件详解 dns配置文件默认在 etc named conf中 vim etc named conf options 影响zone设置 listen on port 53 127 0 0 1 监听端口和ip 若监听所有 则 any
  • Linux 内存分配/内存管理 相关接口

    Linux 内存分配 内存管理 相关接口 分配栈内存 alloca 分配堆内存 直接分配 malloc 分配初始化空间 calloc 分配对齐空间 posix memalign aligned alloc 过时 memalign 过时 va
  • IRET指令详解

    copy from http lion3875 blog 51cto com 2911026 532347 当使用IRET指令返回到相同保护级别的任务时 IRET会从堆栈弹出代码段选择子及指令指针分别到CS与IP寄存器 并弹出标志寄存器内容
  • 常见的八种导致 APP 内存泄漏的问题

    像 Java 这样具有垃圾回收功能的语言的好处之一 就是程序员无需手动管理内存分配 这减少了段错误 segmentation fault 导致的闪退 也减少了内存泄漏导致的堆空间膨胀 让编写的代码更加安全 然而 Java 中依然有可能发生内
  • WSL 修改默认用户

    通常可以通过以下命令来指定进入 wsl 的时候使用的用户 wsl u
  • Tomcat单实例安装部署

    自说 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器 属于轻量级应用服务器 主要用于处理动态web数据 部署java环境 上传jdk包 使用xftp上传 解压 tar zxvf u01 jdk 8u333 linux i58

随机推荐

  • yolov3为什么对大目标检测不好_基于改进YOLOv3的交通场景小目标检测方法与流程...

    本发明提出一种基于改进yolov3的交通场景小目标检测方法 解决yolov3网络过深问题 提高对小目标检测的精确度和速度 一定程度上避免训练神经网络出现的过拟合现象 属于智能交通领域 背景技术 在交通目标识别应用中 小目标的识别与跟踪是研究
  • 【SQL注入-02】SQL注入点的简单判断

    目录 1 实验环境 2 准备工作 3 判断是否存在SQL注入点及注入的类型 4 结论 1 实验环境 实验靶场 虚拟机 IP为172 16 1 1 本节实验靶场是在win2008系统上基于phpstudy搭建的一个简单网站 win2008及p
  • 区块链学习笔记1

    1 什么是区块链 区块链是通过去中心 化去信任的方式集体维护一个可靠数据库的技术方案 参与系统中的任意多个节点把系统一段时间内的全部的信息 数据通过密码学算法计算和记录到一个数据块 区块block 并且生成该区块的指纹用于链接下一个区块和校
  • Hadoop三种运行模式详解

    5 1 本地运行模式 本地运行模式不需要额外的设置 只需要执行响应的jar包就可以了 不需要任何的集群配置 本地运行模式其实也是一种单节点模式 Hadoop提供了两个案例 我们执行这两个案例 5 1 1 官方 grep 案例 这个案例是提供
  • Fast Global Registration 快速全局配准

    目录 1 算法过程 2 基于四元约束关系集的生成 3 基于关系集目标函数的构建 4 目标函数的优化 本文出自CSDN点云侠 爬虫自重 把自己当个人 1 算法过程 Fast Global Registration算法利用四元约束剔除匹配的关系
  • 字符串去掉小数点后取整数

    字符串去掉小数点后取整数 String str 70 2 if str contains int indexOf str indexOf str str substring 0 indexOf int matchRateInt Intege
  • VS 项目中查找中文正则表达式

    u4E00 u9FA5 u4E00 u9FA5 直接在VS中用Ctrl F或者Ctrl Shift F 在 查找内容 中输入 u4E00 u9FA5 u4E00 u9FA5 然后在 查找选项 使用正则表达式 打钩 就能找出所有这些中文字符串
  • ios gzip 压缩字符串

    1 import zlib h 2 libz 1 2 5 tbd 3 NSData gzipDeflate NSString str NSData data str dataUsingEncoding NSUTF8StringEncodin
  • CeiT阅读笔记

    CeiT Incorporating Convolution Designs into Visual Transformer 纯Transformer架构通常需要大量的训练数据和额外的监督才能获得与卷积神经网络CNNs相当的性能 为了克服这
  • Docker容器访问宿主机网络

    业务请求量小的时候 我们会把一些工程部署到同一台机器上 这些工程之间也会相互访问 如果是http的接口 我们最方便的是使用localhost带地本机的ip 不过结合docker容器后出现了问题 docker容器中localhost表示容器的
  • IDEA项目实践——JavaWeb简介以及Servlet编程实战

    系列文章目录 IDEA项目实践 创建Java项目以及创建Maven项目案例 使用数据库连接池创建项目简介 IDEWA项目实践 mybatis的一些基本原理以及案例 IDEA项目实践 动态SQL 关系映射 注解开发 IDEA项目实践 Spri
  • C# 系统应用之清除Cookies、IE临时文件、历史记录

    本文主要是项目 个人电脑使用记录清除软件 系类文章中关于清除浏览器Cookies IE临时文件 最近使用历史记录等内容 该篇文章的基本思想路线是首先了解上网历史记录的Windows中常用文件路径 再通过文件delete方法删除该文件下内容
  • leetcode86 分割链表

    题目 给你一个链表的头节点 head 和一个特定值 x 请你对链表进行分隔 使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前 你应当 保留 两个分区中每个节点的初始相对位置 示例 输入 head 1 4 3 2 5 2 x 3
  • LeetCode-216-组合总和Ⅱ

    题目链接 LeetCode 216 组合总和 解题思路 回溯算法 注意事项注释中有 代码实现 class Solution 和为 n 个数为 k 求的是组合 不要求顺序 递归的深度是 k public List
  • 2019.9.4 key-value stores 和 timestamps

    这一章先是将key value stores 其实这个就是对应的关系型数据库的以schema为基础的存储原理 一般的nosql就是用的这种 特点就是没有什么明显的schema 除了key以外就是一大坨的value 不需要有什么整齐的格式 讲
  • Leetcode刷题笔记:二叉树篇(下)

    1 Leetcode 110 平衡二叉树 难度 递归 迭代 给定一个二叉树 判断它是否是高度平衡的二叉树 本题中 一棵高度平衡二叉树定义为 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1 示例 1 给定二叉树 3 9 20 nu
  • Java类文件结构、Java类加载过程、类加载器(双亲委派模型)、Java对象实例化过程

    1 类文件结构 根据 Java 虚拟机规范 类文件由单个 ClassFile 结构组成 ClassFile u4 magic Class 文件的标志 u2 minor version Class 的小版本号 u2 major version
  • 【银河麒麟V10】【服务器】系统负载分析

    一 cpu负载 1 CPU基本概念 1 1 什么是物理cpu个数 物理cpu个数即主板上实际能够看到的cpu个数 也是cpu插槽数 1 2 什么是cpu核数 cpu核数指的是物理cpu个数 每个物理cpu的核心数 因为每个物理cpu可能包含
  • 深度学习笔记(八):目标检测性能评价指标(mAP、IOU..)

    一 mAP 这里首先介绍几个常见的模型评价术语 现在假设我们的分类目标只有两类 计为正例 positive 和负例 negtive 分别是 1 True positives TP 被正确地划分为正例的个数 即实际为正例且被分类器划分为正例的
  • iptables 规则管理

    参考 http www zsythink net archives 1517 有两台测试机 zk02 192 168 27 152 zk03 192 168 27 153 目录 1 增加规则 2 追加规则 1 增加规则 首先看一条命令 表示