当前位置: 首页 > news >正文

Linux防火墙基础

一、Linux防火墙的状态机制

        1.iptables是可以配置有状态的防火墙,其有状态的特点是能够指定并记住发送或者接收信息包所建立的连接状态,其一共有四种状态,分别为established  invalid  new  related。

        established:该信息包已建立连接,该连接一直用于发送和接收信息包完全有效

        invalid:该信息包和其他都无关联,可能包含错误的信息

        new:该信息包已经或即将启动新的连接,或者还未与用于发送和接收信息包相关联

        related:表示该信息包已经或正在启动新的连接并和已建立的连接相关联

二、Linux防火墙语法

        1.数据包流向:

                prerouting -> forward -> postrouting

                prerouting -> input -> 本机output -> postrouting

        2.iptables根据不同的数据包处理功能使用不同的规则表,其包括三个表:filter  nat  mangle

                filter:默认的表,包含真正的的防火墙过滤规则,其中的规则链包括:input  output  forward

                nat:包含源地址、目标地址及端口转换使用规则,其中的规则链包括:prerouting  output和postrouting

                mangle:包含用于设置特殊的数据包路由标志的规则,这些标志随后被filter表中的规则检查,其中的规则链包括:prerouting  input  forward  postrouting  output

        3.表对应的相关规则链的功能:

                input链:当一个数据包由内核中的路由计算确定为本地的linux系统后,会通过input链检查

                output链:保留给系统自身生成的数据包

                froward链:经过linux系统路由的数据包

                prerouting链:用于修改目的地址(DNAT)

                postrouting链:用于修改源地址(SNAT)

        4.定义默认策略

                默认策略定义格式:iptables  -t(表名)  -P(链名) (动作)

                -t:表示指定默认策略应用于哪个表,可以使用filter nat  mangle,如果没有指定使用哪个,默认使用filter表

                链名:指定默认策略应用于哪个链,可以使用input  ouput等

                动作:处理数据包的动作,可以使用accept(接收数据包)和 drop(丢弃数据包)

        5.查看iptables规则:

                命令格式:

                        iptables  -t(表名)    -L(链名)

                        -L:查看指定表和指定链的规则列表

        6.增加、插入、删除、替换iptables规则

                参数说明:

                        -t 表名:定义默认策略将应用于哪个表

                        -A:新增一条规则,该规则将会增加到规则列表的最后一行,该参数不能使用规则编号

                        -I:插入一条规则,原本该位置上的规则会往后顺序移动,如果指定规则编号,则在第一条规则前插入

                        -D:从规则列表中删除一条规则,可以输入完整规则或直接指定规则编号来删除

                        -R:替换某条规则,规则被替换并不会改变顺序,必须指定要替换的规则编号

                规则编号:规则编号在插入、删除和替换规则时使用,编号按照规则列表的顺序排列,第一条规则编号为1

                        -i | o 网卡名称:i用于指定数据包从哪块网卡进入,o用于指定数据包从那快网卡输出

                        -p 协议类型:指定规则应用的协议,包含tcp  udp和icmp等

                        -s 源IP地址 |  源子网:后面接源主机IP地址或子网地址

                        --sport 源端口号:数据包的ip源端口号

                        -d 目标ip地址 | 目标子网:后面接目标主机的ip地址或子网地址

                        --dport 目标端口号:数据包的ip目标的端口号

                        -j 动作:

                                accept:接收数据包

                                drop:丢弃数据包

                                redirect:将数据包重新转向本机本机或另一台主机的某一个端口

                                reject:拦截该数据包并发回包通知对方

                                snat:源地址切换,改变数据包的源地址

                                dnat:目标地址切换,改变数据包的目的地址

                                masquerade:ip伪装。主机的ip地址由isp分配动态

                                log:日志功能,将符合规则的数据包相关信息记录在日志中

        7.清除规则和计数器

                在新建规则时往往需要清除原有的旧规则以免影响新设定的规则

                iptables  -t表名  -F  |  Z

                        -F:删除指定表中的所有规则

                        -Z:将指定规则中的数据包计数器和流量计数器归零

三、iptables基础知识

        1.iptables的状态 state

                new:本机向远程机器发送一个连接请求,这个数据包的状态时new

                established:在连接建立之后,远程主机和本机通信数据的状态

                related:和现有联机相关的新联机封包,类似于ftp这样的服务,用21号端口传送命令,用20号端口传送数据

                invalid:无效的数据包,不能识别属于哪个连接状态或没有任何连接状态,一般会被丢弃

        

相关文章:

Linux防火墙基础

一、Linux防火墙的状态机制 1.iptables是可以配置有状态的防火墙,其有状态的特点是能够指定并记住发送或者接收信息包所建立的连接状态,其一共有四种状态,分别为established invalid new related。 established:该信息包已建立连接&#x…...

Qt u盘自动升级软件

Qt u盘自动升级软件 Chapter1 Qt u盘自动升级软件u盘自动升级软件思路:step1. 获取U盘 判断U盘名字是否正确, 升级文件是否存在。step2. 升级step3. 升级界面 Chapter2 Qt 嵌入式设备应用程序,通过U盘升级的一种思路Chapter3 在开发板上运行的…...

【Conda 和 虚拟环境详细指南】

Conda 和 虚拟环境的详细指南 什么是 Conda? Conda 是一个开源的包管理和环境管理系统,支持多种编程语言(如Python、R等),最初由Continuum Analytics开发。 主要功能: 包管理:安装、更新、删…...

Python递归函数深度解析:从原理到实战

Python递归函数深度解析:从原理到实战 递归是计算机科学中重要的编程范式,也是算法设计的核心思想之一。本文将通过20实战案例,带你深入理解Python递归函数的精髓,掌握递归算法的实现技巧。 一、递归函数核心原理 1.1 递归三要…...

OpenGL学习笔记(五):Textures 纹理

文章目录 纹理坐标纹理环绕方式纹理过滤——处理纹理分辨率低的情况多级渐远纹理Mipmap——处理纹理分辨率高的情况加载与创建纹理 &#xff08; <stb_image.h> &#xff09;生成纹理应用纹理纹理单元练习1练习2练习3练习4 通过上一篇着色部分的学习&#xff0c;我们可以…...

【TypeScript】基础:数据类型

文章目录 TypeScript一、简介二、类型声明三、数据类型anyunknownnervervoidobjecttupleenumType一些特殊情况 TypeScript 是JavaScript的超集&#xff0c;代码量比JavaScript复杂、繁多&#xff1b;但是结构更清晰 一、简介 为什么需要TypeScript&#xff1f; JavaScript的…...

Notepad++消除生成bak文件

设置(T) ⇒ 首选项... ⇒ 备份 ⇒ 勾选 "禁用" 勾选禁用 就不会再生成bak文件了 notepad怎么修改字符集编码格式为gbk 如图所示...

Android NDK

Android NDK环境 D:\Android SDK\ndk\25.2.9519653 使用clang而不用gcc D:\Android SDK\ndk\25.1.8937393\toolchains\llvm\prebuilt\windows-x86_64\bin\clang --version 查看是否安装成功clang ptrace 在 C 语言中&#xff0c;ptrace 已经被 Linux 内核实现&#xff0…...

内部知识库助力组织智力激发与信息共享实现业绩增长

内容概要 内部知识库是企业知识管理的核心组件&#xff0c;具有不可估量的重要性。通过构建有效的知识库&#xff0c;组织能够将孤立的知识和信息整合成为一个系统性的体&#xff0c;极大提高员工访问和利用这些信息的能力。这不仅简化了决策过程&#xff0c;还通过减少重复劳…...

通过F12收集的信息

按 F12 键打开浏览器的开发者工具&#xff08;DevTools&#xff09;可以获取部分操作系统和中间件信息&#xff0c;但能力有限。以下是具体说明&#xff1a; 一、通过 F12 收集的信息 1. 客户端操作系统信息 - Console 控制台 通过 JavaScript 直接获取客户端操作系统信息&am…...

用Python替代OpenMV IDE显示openmv USB 图像

原理是利用openmv的usb模仿串口&#xff0c;然后用Python代码打开串口接收 能替代openmv ide 跑48帧图像 Python端需要的依赖&#xff1a; 需要的是&#xff1a; from ultralytics import YOLO import cv2 import numpy as np from serial import Serial import time from co…...

c语言:编译和链接(详解)

前言 要将编译和链接&#xff0c;就不得不提及编译器是如何运作的&#xff0c;虽然这部分知识是针对于要创造编译器和创作语言的人所需要清楚的&#xff0c;但作为c语言的学习者也需要了解一下&#xff0c;修炼内功&#xff0c;尤其是对于想学习c的人而言。 编译器的运作过程…...

数据结构【单链表操作大全详解】【c语言版】(只有输入输出为了方便用的c++)

单链表操作的C/C实现详解 在数据结构中&#xff0c;单链表是一种非常基础且重要的数据结构。它由一系列节点组成&#xff0c;每个节点包含数据和指向下一个节点的指针。今天我们就来深入探讨用C/C实现的单链表及其各种操作。 一、单链表的定义 const int N 1e5; //单链表 t…...

leetcode27.删除有序数组中的重复项

目录 问题描述判题标准示例提示 具体思路思路一思路二 代码实现 问题描述 给你一个非严格递增排列的数组nums&#xff0c;请你原地删除重复出现的元素&#xff0c;使每个元素只出现一次&#xff0c;返回删除后数组的新长度。元素的相对顺序应该保持一致 。然后返回nums中唯一元…...

[c语言日寄]越界访问:意外的死循环

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…...

【c++11】包装器

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 包装器&#xff08;Wrapper&#xff09; 是一个常见的编程设计模式&#xff0c;通常用于封装或“包装”某个现有的对象、函数、数据结构或者操作&#xff0c;以提供额外的功能或简化接口。…...

信息学奥赛一本通 1422:【例题1】活动安排

【题目链接】 ybt 1422&#xff1a;【例题1】活动安排 【题目考点】 1. 贪心 【解题思路】 该题属于区间选点问题&#xff0c;ybt 1324&#xff1a;【例6.6】整数区间 是给定一些区间&#xff0c;选择一些点使得每个区间范围内至少有1个点。 本题为&#xff1a;给定一些区…...

数据库、数据仓库、数据湖有什么不同

数据库、数据仓库和数据湖是三种不同的数据存储和管理技术&#xff0c;它们在用途、设计目标、数据处理方式以及适用场景上存在显著差异。以下将从多个角度详细说明它们之间的区别&#xff1a; 1. 数据结构与存储方式 数据库&#xff1a; 数据库主要用于存储结构化的数据&…...

llama.cpp LLM_CHAT_TEMPLATE_DEEPSEEK_3

llama.cpp LLM_CHAT_TEMPLATE_DEEPSEEK_3 1. LLAMA_VOCAB_PRE_TYPE_DEEPSEEK3_LLM2. static const std::map<std::string, llm_chat_template> LLM_CHAT_TEMPLATES3. LLM_CHAT_TEMPLATE_DEEPSEEK_3References 不宜吹捧中国大语言模型的同时&#xff0c;又去贬低美国大语言…...

深度学习的应用场景及常用技术

深度学习作为机器学习的一个重要分支&#xff0c;在众多领域都有广泛的应用&#xff0c;以下是一些主要的应用场景及常用技术。 1.应用场景 1. 计算机视觉 图像分类 描述&#xff1a;对图像中的内容进行分类&#xff0c;识别出图像中物体所属的类别。例如&#xff0c;在安防领…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...

AWS vs 阿里云:功能、服务与性能对比指南

在云计算领域&#xff0c;Amazon Web Services (AWS) 和阿里云 (Alibaba Cloud) 是全球领先的提供商&#xff0c;各自在功能范围、服务生态系统、性能表现和适用场景上具有独特优势。基于提供的引用[1]-[5]&#xff0c;我将从功能、服务和性能三个方面进行结构化对比分析&#…...

【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项

一、条形码识别改名使用教程 打开软件并选择处理模式&#xff1a;打开软件后&#xff0c;根据要处理的文件类型&#xff0c;选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件&#xff0c;就选择 “PDF 识别模式”&#xff1b;若是处理图片文件&…...

解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法

目录 前言 一、问题重现 1、环境说明 2、重现步骤 3、错误信息 二、关于LATERAL 1、Lateral作用场景 2、在四至场景中使用 三、问题解决之道 1、源码追踪 2、关闭sql合并 3、改写处理SQL 四、总结 前言 在博客&#xff1a;【写在创作纪念日】基于SpringBoot和PostG…...

分布式光纤声振传感技术原理与瑞利散射机制解析

分布式光纤传感技术&#xff08;Distributed Fiber Optic Sensing&#xff0c;简称DFOS&#xff09;作为近年来迅速发展的新型感知手段&#xff0c;已广泛应用于边界安防、油气管道监测、结构健康诊断、地震探测等领域。其子类技术——分布式光纤声振传感&#xff08;Distribut…...