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

linux-安全-iptables防火墙基础笔记

目录

一、 iptables链结构

五链

二、 iptables表结构

四表

三、 匹配流程

四、 语法

五、 匹配

1. 通用匹配

2. 隐含匹配

3. 显示匹配

六、 SNAT

七、 DNAT

八、 规则备份及还原

1. 备份

2. 还原


这篇将讲解iptables防火墙的基础知识

一、 iptables链结构

规则的作用:对数据包进行过滤或处理

规则链的作用:容纳各种防火墙的规则

五链

  1. input:处理入站数据包
  2. output:处理出站
  3. forward:处理转发
  4. postrouting:在路由选择后处理   内到外   SNAT
  5. prerouting:在路由选择前处理   外到内   DNAT

二、 iptables表结构

规则表作用:容纳各种规则链

四表

  1. raw:确定是否对该数据包进行状态跟踪
  2. mangle:为数据包设置标记
  3. nat:修改源、目标IP/端口
  4. filter:确定是否过滤

表链示意图


三、 匹配流程

表:raw-mangle-nat-filter

  • 入站:prerouting-input
  • 出站:output-postrouting
  • 转发:prerouting-forward-postrouting

链内匹配顺序:按顺序一次检查,匹配即停(log除外),若找不到相匹配的规则,则按该链默认策略

入站数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理(是 否修改数据包地址等),然后进行路由选择(判断该数据包应发往何处);如果数据包的 目标地址是防火墙本机(如Internet用户访问网关的Web服务端口),那么内核将其传 递给INPUT链进行处理(决定是否允许通过等),通过以后再交给系统上层的应用程序 (如httpd 服务器)进行响应

转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理,然 后再进行路由选择;如果数据包的目标地址是其他外部地址(如局域网用户通过网关访 问QQ服务器),则内核将其传递给FORWARD链进行处理(允许转发或拦截、丢弃), 最后交给POSTROUTING链(是否修改数据包的地址等)进行处理

出站数据流向:防火墙本机向外部地址发送的数据包(如在防火墙主机中测试公网DNS 服务时),首先进行路由选择,确定了输出路径后,再经由OUTPUT链处理,最后再 交给POSTROUTING链(是否修改数据包的地址等)进行处理


四、 语法

iptables [-t表名] 选项 [链名] [条件] [-j控制类型]

选项

  • -A:添加
  • -I:插入
  • -D:删除
  • -L:列出
  • -n:数字形式
  • -v:更详细
  • -F:删所有
  • -P:设置默认

控制类型

  • ACCEPT:允许
  • DROP:丢弃
  • REJECT:拒绝
  • LOG:日志

五、 匹配

1. 通用匹配

协议匹配:-p 协议名

地址

        -s:源地址

        -d:目标地址

接口

        -i:入站

        -o:出战

2. 隐含匹配

端口匹配

        --sport:源端口

        --dport:目标端口

ICMP

        --icmp-type 类型

3. 显示匹配

多端口

        -m multiport --sports

        -m multiport --dports

IP范围

        -m iprange --src-range

MAC

        -m mac --mac-source

状态

        -m state --state

域名

        -m string --string ".com" --algo bm

六、 SNAT

1. 源地址转换,修改数据包的源地址

iptables -t nat -A POSTROUTING -s 192.168.180.0/24 -o ens37 -j SNAT --to-source 100.0.0.1

2. 地址伪装-MASQUERADE,适用于外网IP地址不固定

iptables -t nat -A POSTROUTING -s 192.168.180.0/24 -o ens37 -j MASQUERADE

七、 DNAT

1. 目标地址转换,修改数据包的目标地址

iptables -t nat -A PREROUTING -i ens37 -d 100.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.180.100

八、 规则备份及还原

1. 备份

iptables-save
iptables-save > 1.txt    //备份并保存到1.txt里

2. 还原

iptables-restore
iptables-restore < 1.txt    //从1.txt文件里导出备份的内容

相关文章:

linux-安全-iptables防火墙基础笔记

目录 一、 iptables链结构 五链 二、 iptables表结构 四表 三、 匹配流程 四、 语法 五、 匹配 1. 通用匹配 2. 隐含匹配 3. 显示匹配 六、 SNAT 七、 DNAT 八、 规则备份及还原 1. 备份 2. 还原 这篇将讲解iptables防火墙的基础知识 一、 iptables链结构 规则…...

力扣刷题TOP101: 25.BM32合并二叉树

目录&#xff1a; 目的 思路 复杂度 记忆秘诀 python代码 目的&#xff1a; 已知两颗二叉树&#xff0c;将它们合并成一颗二叉树。合并规则是&#xff1a;都存在的结点&#xff0c;就将结点值加起来&#xff0c;否则空的位置就由另一个树的结点来代替。 思路 我们有两棵二…...

R的中文文本处理包--tmcn

文章目录 介绍tmcn 和 jieba 的关系函数&#xff1a;catUTF8toUTF8实例 介绍 tmcn 包是 R 语言中的一个用于处理和分析中文文本的包&#xff0c;特别适用于中文文本的分词、词频统计和文本挖掘等任务。以下是 tmcn 包的基本用法&#xff0c;包括安装、常用函数和示例。 一个用…...

差异基因富集分析(R语言——GOKEGGGSEA)

接着上次的内容&#xff0c;上篇内容给大家分享了基因表达量怎么做分组差异分析&#xff0c;从而获得差异基因集&#xff0c;想了解的可以去看一下&#xff0c;这篇主要给大家分享一下得到显著差异基因集后怎么做一下通路富集。 1.准备差异基因集 我就直接把上次分享的拿到这…...

scrapy对接rabbitmq的时候使用post请求

之前做分布式爬虫的时候,都是从push url来拿到爬虫消费的链接,这里提出一个问题,假如这个请求是post请求的呢,我观察了scrapy-redis的源码,其中spider.py的代码是这样写的 1.scrapy-redis源码分析 def make_request_from_data(self, data):"""Returns a Reques…...

vue+elementUI+transition实现鼠标滑过div展开内容,鼠标划出收起内容,加防抖功能

文章目录 一、场景二、实现代码1.子组件代码结构2.父组件 一、场景 这两天做项目&#xff0c;此产品提出需求 要求详情页的顶部区域要在鼠标划入后展开里面的内容&#xff0c;鼠标划出要收起部分内容&#xff0c;详情底部的内容高度要自适应&#xff0c;我这里运用了鼠标事件t…...

大模型语料库的构建过程 包括知识图谱构建 垂直知识图谱构建 输入到sql构建 输入到cypher构建 通过智能体管理数据生产组件

以下是大模型语料库的构建过程&#xff1a; 一、文档切分语料库构建 数据来源确定&#xff1a; 首先&#xff0c;需要确定语料库的数据来源。这些来源可以是多种多样的&#xff0c;包括但不限于&#xff1a; 网络资源&#xff1a;利用网络爬虫技术从各种网站&#xff08;如新闻…...

阿里云ECS服务器域名解析

阿里云ECS服务器域名解析&#xff0c;以前添加两条A记录类型&#xff0c;主机记录分别为www和&#xff0c;这2条记录都解析到服务器IP地址。 1.进入阿里云域名控制台&#xff0c;找到域名 ->“解析设置”->“添加记录” 2.添加一条记录类型为A,主机记录为www&#xff0c…...

牛客周赛71:A:JAVA

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 \hspace{15pt}对于给定的两个正整数 nnn 和 kkk &#xff0c;是否能构造出 kkk 对不同的正整数 (x,y)(x,y)(x,y) &#xff0c;使得 xynxynxyn 。 \hspace{15pt}我们认为两对正整数 (…...

查询产品所涉及的表有(product、product_admin_mapping)

文章目录 1、ProductController2、AdminCommonService3、ProductApiService4、ProductCommonService5、ProductSqlService1. 完整SQL分析可选部分&#xff08;条件筛选&#xff09;&#xff1a; 2. 涉及的表3. 总结4. 功能概述 查询指定管理员下所有产品所涉及的表&#xff1f;…...

算法基础学习Day5(双指针、动态窗口)

文章目录 1.题目2.题目解答1.四数之和题目及题目解析算法学习代码提交 2.长度最小的子数组题目及题目解析滑动窗口的算法学习方法一&#xff1a;单向双指针(暴力解法)方法二&#xff1a;同向双指针(滑动窗口) 代码提交 1.题目 18. 四数之和 - 力扣&#xff08;LeetCode&#x…...

docker 部署 mysql 9.0.1

docker 如何部署 mysql 9 &#xff0c;请看下面步骤&#xff1a; 1. 先看 mysql 官网 先点进去 8 版本的 Reference Manual 。 选择 9.0 版本的。 点到这里来看&#xff0c; 这里有一些基础的安装步骤&#xff0c;可以看一下。 - Basic Steps for MySQL Server Deployment wit…...

关于小标join大表,操作不当会导致笛卡尔积,数据倾斜

以前总是说笛卡尔积&#xff0c;笛卡尔积&#xff0c;没碰到过&#xff0c;今天在跑流程调度时&#xff0c;就碰到笛卡尔积了&#xff0c;本来&#xff0c;就是查询几个编码的信息&#xff0c;然后由于使用的是with tmp as&#xff0c;没使用where in ,所以跑的很慢 现象&#…...

SpringMVC全局异常处理

一、Java中的异常 定义&#xff1a;异常是程序在运行过程中出现的一些错误&#xff0c;使用面向对象思想把这些错误用类来描述&#xff0c;那么一旦产生一个错误&#xff0c;即创建某一个错误的对象&#xff0c;这个对象就是异常对象。 类型&#xff1a; 声明异常&#xff1…...

出海服务器可以用国内云防护吗

随着企业国际化进程的加速&#xff0c;越来越多的企业选择将业务部署到海外服务器上&#xff0c;以便更贴近国际市场。然而&#xff0c;海外服务器也面临着来自全球各地的安全威胁和网络攻击。当出海服务器遭受攻击时&#xff0c;是否可以借助国内的云服务器来进行有效的防护呢…...

从零开始的使用SpringBoot和WebSocket打造实时共享文档应用

在现代应用中&#xff0c;实时协作已经成为了非常重要的功能&#xff0c;尤其是在文档编辑、聊天系统和在线编程等场景中。通过实时共享文档&#xff0c;多个用户可以同时对同一份文档进行编辑&#xff0c;并能看到其他人的编辑内容。这种功能广泛应用于 Google Docs、Notion 等…...

Ant Design Pro实战--day01

下载nvm https://nvm.uihtm.com/nvm-1.1.12-setup.zip 下载node.js 16.16.0 //非此版本会报错 nvm install 16.16.0 安装Ant Design pro //安装脚手架 npm i ant-design/pro-cli -g //下载项目 pro create myapp //选择版本 simple 安装依赖 npm install 启动umi yarn add u…...

pcl点云库离线版本构建

某天在摸鱼的小邓接到任务需要进行点云数据的去噪&#xff0c;在万能的github中发现如下pcl库非常好使&#xff0c;so有了此&#xff0c; 1.下载vs2017连接如下&#xff1a; ed2k://|file|mu_visual_studio_community_2017_version_15.1_x86_x64_10254689.exe|1037144|12F5C1…...

字节高频算法面试题:小于 n 的最大数

问题描述&#xff08;感觉n的位数需要大于等于2&#xff0c;因为n的位数1的话会有点问题&#xff0c;“且无重复”是指nums中存在重复&#xff0c;但是最后返回的小于n最大数是可以重复使用nums中的元素的&#xff09;&#xff1a; 思路&#xff1a; 先对nums倒序排序 暴力回…...

ElasticSearch常见面试题汇总

一、ElasticSearch基础&#xff1a; 1、什么是Elasticsearch&#xff1a; Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎&#xff0c;每个字段都被索引并可被搜索&#xff0c;可以快速存储、搜索、分析海量的数据。 全文检索是指对每一个词建立一个索引…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...