目录

一,Iptables概述

二,iptables组成

1,表

2,链

3,链表对应关系

4,数据包过滤的匹配流程

5,规则匹配策略

三,iptables防火墙配置

1,iptables命令

2,常用控制类型

3,命令操作

四,规则的匹配

1,通用匹配

2,隐含匹配

3,显氏匹配


一,Iptables概述

iptables作为内核级别的防火墙,具有高效,稳定,安全的特点

iptables的表,链,规则结构非常灵活,可使用各种不同的网络环境和应用场景

iptables相对于其他防火墙工具而言比较容易学习和掌握,并且拓展性很强

二,iptables组成

iptables的核心是由表,链,规则三部分组成的

1,表

在iptables之内,表是一个规则的集合,每个表都包含一些链和对应的规则常用的有五种:

raw表:确定是否对该数据包进行数据跟踪

mangle表:更改数据包,用来做流量整形的,给数据包设置标记。包含五个规则链,INPUT,OUTPUT,FORWAR,PREROUTING,POSTROUTING

nat表:负责网络地址转换,用来更改数据包之内的源,目标IP地址和端口,包括三个规则链,OUTPUT,PREROUTING,POSTROUTING

filter表:负责过滤数据包,是否放行该数据包,包含三个规则链,INPUT,FORWARD,OUTPUT

优先级:raw>mangle>nat>filter

2,链

在iptables之内,链是一个规则的集合,每个链都包含一些有关的规则        

INPUT链:当接收到防火墙本机地址的数据包时,应用此链之内的规则

OUTPUT链:当防火墙本机向外发送数据包时,应用此链之内的规则

FORWARD链:当接收到需要通过防火墙发送给其他地址的数据包时,应用此链之内的规则

PREROUTING链:在对数据包做路由选择之前,应用此链之内的规则,用来更改目的地址

POSTROUTING链:在对数据包做路由选择之前,应用此链之内的规则,用来更改源地址

3,链表对应关系

nat表:PREROUTING链,POSTROUTING链

filter表:INPUT链,FORWARD链,OUTPUT链

4,数据包过滤的匹配流程

转发:目的地不是本机,数据包先从A网络过滤,经过PREROUTING链,看是否是自己的目的地址,如果是外网到内网需要用nat转换成内网IP,找到内网用户,经过FORWARD链进行过滤;允许放通的到达POSTROUTING链,再把内网地址转换成公网,这样数据包才能回去,内网发往外网就需要反过来

总结:当一个数据包进到网卡时,数据包首先进到PREROUTING链,内核根据数据包IP判断是否需要转送发出,要是数据包是进到本机的,数据包就会沿着图向上移动,到达INPUT链。数据包到达INPUT链之后,所有进程都会收到,本机上运行的程序可以发到数据包,这些包经过OUTPUT链,再发送出,要是数据包时需要发送的,内核还允许转发,数据包就会向右移动,经过FORWARD链,再到达到POSTROUTING链输出

5,规则匹配策略

自上而下进行顺序匹配,匹配到即停止不会再看下面的规则,再通过允许或丢掉或拒绝等规则进行数据包的处理

三,iptables防火墙配置

1,iptables命令

选项意义
-t指定表明
-j指定控制类型
-A指定链的末尾追加一条规则
-I在指定链的开头插一条规则;未指定序号时固定作为第一条规则
-D删除指定链之内的一条规则,可指定规则序号或具体内容
-L列出指定链之内的所有规则;未指定链名则列出表之内的所有链
-F删除指定链之内的所有规则;未指定链名则删除表之内的所有链
-v输出详细信息,包括每条规则的匹配包数量和匹配字节数
--line-number查看规则时,输出规则的行号
-p指定要匹配的数据包的协议类型
-s指定要匹配的数据包的源IP地址
-d指定要匹配的数据包的目的IP地址
-i指定数据包进到本机的网络接口
--dport指定目的的端口号

2,常用控制类型

控制类型作用
ACCEPT允许数据包通过
DROP直接丢掉数据包,不给出回应消息
REJECT拒绝数据包通过,会给数据发送一个相应信息
SNAT更改数据包的源地址
DNAT更改数据包的目的地址

3,命令操作

(1),

iptables -t filter -nL --line-numbers
#以数字形式显示详细信息并显示规则序号

(2),

iptables -t filter -A INPUT -p icmp -j REJECT
#在filter表的INPUT链之内添加拒绝icmp的规则

(3),

iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
#在filter表的INPUT链的TCP协议22号端口添加ACCEPT规则

  

(4),

iptables -D INPUT 3
#删除INPUT链上的3号规则
iptables -D INPUT -p icmp --icmp-type 8 -j DROP
#删除INPUT链上的icmp协议8号类型的DROP规则

(5),

iptables -F OUTPUT
#删除OUTPUR链上的所有规则

四,规则的匹配

1,通用匹配

可以直接用,不依赖另外的条件和扩展包括网络协议,IP协议,网络接口条件等

(6),

iptables -I INPUT -i ens33 -s 192.168.40.0/24 -j REJECT
#拒绝从192.168.40.0/24网段的ens33网络接口进

2,隐含匹配

某些条件。像端口,tcp标记,icmp类型,隐含需要以特定的协议匹配作为前提

(8),

iptables -I FORWARD -d 192.168.40.0/24 --dport 22:25 -j DROP
#丢掉FORWARD链192.168.40.0/24网段22至25端口的数据包

(9),

iptables -I OUTPUT -p tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j REJECT
#在OUTPUT链tcp协议22号端口上拒绝RST,ACK包,接收SYN包

(10),

iptables -A INPUT -p icmp --icmp-type 8 -j DROP
#丢掉INPUT链icmp协议并关闭目标主机的echo request回复

3,显氏匹配

需要以m的形式明确指出类型,包括多端口,mac地址,ip范围,数据包状态等条件

(11),

iptables -A INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT
#允许放通INPUT链tcp协议的22和80端口
iptables -A INPUT -p tcp -m iprange --dstrange 192.168.40.10-192.168.40.20 -j DROP
#丢掉INPUT链tcp协议IP地址范围是192.168.40.10至192.168.40.20之内的数据包

打赏链接:

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

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

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

相关文章

[优选算法专题二——NO.16最小覆盖子串]

题目链接 LeetCode最小覆盖子串 题目描述 代码编写 、关键注意点 仅统计目标相关字符:通过 hash1.count(in) 判断字符是否在 t 中,避免无关字符(如 s 中的 D、E)干扰统计,提升效率。count 的更新时机:仅当…

考研408计算机网络近年第34题真题解析(2021-2024.34)

(2021.34)此题已明确为差分曼彻斯特编码,通常第一个时间间隙可能不太好判断,因为0,或1可以变化,但差分曼彻斯特编码的其它位置可以判断,图中黄色数字的时间间隙位置,开始位置和前面一…

微信小程序开发教程(八)

目录:1.全局配置-tabBar2.小程序的页面配置3.数据请求-GET和POST请求4.数据请求-request请求的注意事项1.全局配置-tabBar注意tabar页面必须放到Page头部位置2.小程序的页面配置3.数据请求-GET和POST请求4.数据请求-request请求的注意事项

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(29):文法運用第9回3+(考え方11)

日语学习-日语知识点小记-构建基础-JLPT-N3阶段(31):文法運用第9回31、前言(1)情况说明(2)工程师的信仰2、知识点1ー 復習2ー 单词训练3、单词(1)日语单词  …

小鹏汽车在 VLA(视觉 - 语言 - 动作)算法模型框架细节与原理

小鹏汽车的 VLA(视觉 - 语言 - 动作)算法模型框架是其端到端自动驾驶系统的核心,融合了多模态感知、语言推理与动作生成能力。以下是其技术细节与原理的深度解析: 一、整体架构:混合式端到端设计 小鹏 VLA 采用云端基座…

京东商品详情 API 全解析:合规对接与 B2C 场景实战指南

在 B2C 电商运营中,商品详情数据是支撑店铺管理、库存调控、营销决策的核心基础。京东商品详情 API 作为官方合规的数据获取通道,不仅能稳定返回商品标题、价格、库存等关键信息,还针对 B2C 场景新增了预售锁库、次日达标识等特色字段。本文从…

【Visual Studio 2017 和 2019下载】

Visual Studio 2017 和 2019下载VS2017下载地址:VS2019下载地址:VS2017下载地址: Visual Studio 2017 Community 链接 Visual Studio 2017 Enterprise 链接 VS2019下载地址: Visual Studio 2019 Community 链接 Visual Studio …

Python 轻松实现替换或修改 PDF 文字

在日常开发或文档处理过程中,经常会遇到需要对 PDF 文档中的文字进行修改的场景。例如更新合同条款、修正报表数据,或者批量替换文件中的特定内容。由于 PDF 格式以固定排版为特点,直接修改文字不像 Word 那样直观,因此需要借助专…

CI/CD流水线优化实战:从30分钟到5分钟的效能革命

关键词:CI/CD优化、GitHub Actions、Jenkins、自动化部署、流水线加速 一、引言:CI/CD流水线为何需要优化? 在现代软件开发中,CI/CD(持续集成/持续交付)已成为DevOps实践的核心环节。然而,许多团队的流水线存在效率低下问题,​​平均构建时间超过30分钟​​,严重制约…

神经网络矩阵的点乘与叉乘概述

点乘点乘:两个矩阵对应位置元素相乘(逐元素级 element - wise)实现方式:可通过 * 和 torch.mul(x, y) 函数实现(含广播机制)模型符号:一个圆圈中间加一个实心点叉乘叉乘:传统线性代数…

PHP学习(第三天)

网站访问流程 一、静态网站访问流程(如 index.html)1. 流程是怎么样的? 静态网站的页面内容固定,不需要服务器做额外计算,直接把文件返回给浏览器。访问流程大致如下:用户输入网址或点击链接 用户在 个人设…

【办公自动化】如何使用Python脚本自动化处理音频?

在日常办公和内容创作中,音频处理是一项常见需求。无论是处理会议录音、制作播客、编辑音乐背景,还是进行语音识别,Python都能帮助我们高效地完成这些任务。本文将介绍如何使用Python实现音频处理自动化,包括格式转换、音频拼接、…

OpenHarmony AVSession深度解析(二):从本地会话到分布式跨设备协同的完整生命周期管理

1. 系统概述 AVSession是OpenHarmony多媒体框架中的核心组件,负责管理音视频会话的生命周期、状态同步和跨设备协同。它提供了统一的接口供应用创建会话、设置元数据、控制播放状态,并支持分布式场景下的会话迁移。 2. 架构设计 2.1 核心类结构 #mermaid-svg-QwwujBwB3Wo6…

架构思维:在复杂系统中寻找秩序的底层逻辑

在商业世界中,架构师常被视为神秘的存在。懂架构不一定是大师,但,大师一定善于架构,善于拨开迷雾,看透全局。他们穿梭于代码与流程之间,用看不见的线条编织着数字世界的经纬。 架构天然的使命就是面对复杂…

国产凝思debian系Linux离线安装rabbitmq教程步骤

系统环境 由于国内访问debian的apt源太慢了,花了很多很多时间后,反而超时报错。所以采用离线安装方式。 uname -a Linux bogon 4.19.0-11-linx-security-amd64 #1 SMP Linx 4.19.146-1linx10 (2023-05-30) x86_64 GNU/Linux下载安装包 在有网络的电脑…

开发避坑指南(48):Java Stream 判断List元素的属性是否包含指定的值

需求 Java Stream 判断List元素的属性是否包含指定的值该怎么实现? 代码实现 直接上代码 public class OrderInfo {private BigDecimal fee;private String orderStatus; }public class ListTest2 {public static void main(String[] args) {OrderInfo orderInfo n…

Arbess V2.0.7版本发布,支持Docker/主机蓝绿部署任务,支持Gradle构建、Agent运行策略

Arbess 是一款国产开源免费的 CI/CD 工具,产品开源免费,简洁易用。本周Arbess V2.0.7版本发布,新增Docker/主机蓝绿部署策略,Gradle构建任务,新增Agent执行策略。 1、版本更新日志 新增 ➢ 支持Docker蓝绿部署、主机…

万物皆可PID:深入理解控制算法在OpenBMC风扇调速中的应用

引言:智能散热,不仅仅是“开”和“关” 想象一下服务器中的风扇管理。最简单的策略是“bang-bang”控制(双位控制):温度超过阈值,风扇全速运转;温度低于阈值,风扇低速或停止。这种策…

CH347应用 USB转I2C功能之:开源项目i2c-tools工具的使用(2)

目录前言开源地址使用说明i2cdetecti2cdumpi2cset前言 上一篇博客中介绍了CH347配合i2c-tools在Linux下的使用,但我们能不能在Windows中也是用i2c-tools进行I2C设备的调试呢。这里我将i2cdetect、i2cdump、i2cset三个常用的工具移植至Windows平台,并进行…

代码随想录算法训练营第50天 | 图论理论基础、深搜理论基础、98. 所有可达路径、广搜理论基础

图论理论基础 题目链接/文章讲解:https://www.programmercarl.com/kamacoder/%E5%9B%BE%E8%AE%BA%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 了解图的基本概念,连通性,图的构造,图的遍历方式 深搜理论基础 题目链接/文章讲解&…