当前位置: 首页 > 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;在安防领…...

技能同步工具:跨平台开发环境配置自动化管理方案

1. 项目概述&#xff1a;技能同步&#xff0c;一个被低估的开发者效率工具如果你和我一样&#xff0c;每天需要在多台电脑&#xff08;比如公司的台式机、家里的笔记本、甚至偶尔应急的平板&#xff09;之间切换&#xff0c;并且每台设备上都配置了不同的开发环境、安装了不同的…...

如何在英雄联盟国服免费体验所有皮肤:R3nzSkin换肤工具终极指南

如何在英雄联盟国服免费体验所有皮肤&#xff1a;R3nzSkin换肤工具终极指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 想要在英雄联盟国服中免费体…...

给操作系统爱好者的RISC-V中断实战指南:从SiFive Unleashed开发板到Xv6内核代码

RISC-V中断机制深度解析&#xff1a;从硬件触发到Xv6内核实战 1. RISC-V中断体系架构全景 RISC-V中断系统采用分层设计理念&#xff0c;硬件与软件协同构成了完整的异常处理框架。作为开源指令集架构&#xff0c;RISC-V的中断设计既保持了精简性&#xff0c;又通过可扩展机制满…...

Python热重载工具Reloadium:原理、配置与实战避坑指南

1. 项目概述&#xff1a;重新定义Python热重载的开发体验如果你是一名Python开发者&#xff0c;无论是做Web后端、数据分析脚本还是机器学习模型训练&#xff0c;大概率都经历过这样的场景&#xff1a;修改了一行代码&#xff0c;保存文件&#xff0c;然后不得不手动停止当前运…...

别再死记硬背了!用Python手把手带你画一棵哈夫曼树(附完整代码)

用Python动态构建哈夫曼树&#xff1a;从理论到可视化的完整实践指南 在计算机科学中&#xff0c;数据压缩是一个永恒的话题。想象一下&#xff0c;当你需要传输大量数据时&#xff0c;如何用最少的比特数表示最多的信息&#xff1f;这就是哈夫曼编码要解决的问题。传统的教科书…...

研扬EPIC-RPS9工控主板解析:4英寸板载13代酷睿,赋能边缘AI与机器视觉

1. 项目概述&#xff1a;当“小钢炮”遇上工业严苛环境在工业自动化、边缘计算和嵌入式视觉这些领域里&#xff0c;我们常常面临一个经典矛盾&#xff1a;既要强大的算力来处理海量数据、运行复杂算法&#xff0c;又要设备足够紧凑、坚固&#xff0c;能塞进各种空间受限、环境恶…...

眉山奶油风家具的实际使用效果如何?奶油风家具

测评主体公示本次测评将对以下品牌进行对比&#xff1a;唯品名居家居、顾家家居、芝华仕、左右沙发、全友家居。所有品牌的测评将遵循统一标准&#xff0c;包括测评维度、动作、环境和数据采集方法。测评维度与标准1. 材质质量动作&#xff1a;检查家具表面材质、内部结构 过程…...

树莓派AI智能体进化框架:轻量级边缘持续学习实践

1. 项目概述&#xff1a;一个面向树莓派的AI智能体进化框架最近在折腾树莓派上的AI应用时&#xff0c;发现了一个挺有意思的项目&#xff0c;叫pk-pi-hermes-evolve。光看这个名字&#xff0c;就能拆出不少信息量&#xff1a;“pk”可能指代项目作者或一个特定系列&#xff0c;…...

性能巨兽:基于AMD EPYC 9755与RTX 5090D的UltraLAB GA660M仿真工作站深度解析

在高端制造、能源勘探和前沿科学计算领域&#xff0c;算力永远是稀缺资源。每一次CPU与GPU的代际更迭&#xff0c;都意味着仿真效率的指数级提升。今天&#xff0c;我们解析的这款UltraLAB GA660M241256-MBD工作站&#xff0c;正是集成了2026年顶级硬件技术的算力平台。它不仅是…...

基于RAG与LLM的智能文献分析工具OpenResearcher:从部署到实战全解析

1. 项目概述&#xff1a;一个为研究者量身打造的AI驱动开源工具箱 如果你是一名科研工作者、学术写手&#xff0c;或者任何需要深度处理文献、进行系统性知识梳理的人&#xff0c;那么你大概率经历过这样的场景&#xff1a;面对海量的PDF文献&#xff0c;手动下载、整理、阅读、…...