Linux:iptables防火墙(SNAT和DNAT)

news2024/11/25 6:38:42

Linux:iptables防火墙

  • 一、SNAT策略及应用
    • 1.1 SNAT原理
    • 1.2 SNAT应用
  • 二、DNAT策略及应用
    • 2.1 DNAT原理
    • 2.2 DNAT应用

一、SNAT策略及应用

1.1 SNAT原理

  • SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet(私有不能在Internet中正常路由)。
  • SNAT原理:修改数据包的源地址。
  • SNAT转换前提条件
    1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址
    2.Linux网关开启IP路由转发

1.2 SNAT应用

  • 准备三台主机模拟外网服务器,内网主机和网关服务器

在这里插入图片描述
- 提醒:三台模拟机都需要关闭防火墙和清空iptables防火墙中的规则

systemctl stop firewalld或者systemctl enable --now firewalld
setenforce 0
iptables  -F && iptables -t nat -F #安装并启动以后查看,如果有就清除再添加新规则

  • 第一步:设置外网服务器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  • 第二步:处理内网主机

在这里插入图片描述

  • 第三步:处理服务器网关

在这里插入图片描述
在这里插入图片描述

  • 关闭防火墙和安装iptables防火墙服务,清空并添加新规则
systemctl enable --now firewalld
setenforce 0
yum install -y iptables iptables-servce
iptables  -F && iptables -t nat -F

在这里插入图片描述

  • 第四步:验证内网主机访问外网服务器
    在这里插入图片描述
    查看外网主机日志文件
    在这里插入图片描述

一个IP地址做SNAT转换,一般可以让内网 100到200 台主机实现上网。

二、DNAT策略及应用

2.1 DNAT原理

  • DNAT 应用环境:在Internet中发布位于局域网内的服务器
  • DNAT原理:修改数据包的目的地址。
  • DNAT转换前提条件:
    1.局域网的服务器能够访问Internet
    2.网关的外网地址有正确的DNS解析记录
    3.Linux网关开启IP路由转发

2.2 DNAT应用

  • 准备三台主机模拟外网主机,内网服务器和网关服务器
    在这里插入图片描述
  • 提醒:三台模拟机都需要关闭防火墙和清空iptables防火墙中的规则
systemctl stop firewalld或者systemctl enable --now firewalld
setenforce 0
iptables  -F && iptables -t nat -F #安装并启动以后查看,如果有就清除再添加新规则

  • 第一步:修改网关服务器

在这里插入图片描述

  • 第二步:内网服务器安装阿帕奇服务
    在这里插入图片描述
  • 第三步:修改外网网卡等

在这里插入图片描述
在这里插入图片描述

  • 第四步:将外网访问内网的IP地址转换为内网IP进行访问
  • 注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回
    在这里插入图片描述

在这里插入图片描述

tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.80.0/24 -w ./target.cap
tcp: ip icmp arp rarp 和 tcp、udp、icmp这些协议选项等都要放到第一个参数的位置,用来过滤数据包的类型
-i ens33: 只抓经过接口ens33的包
-t:不显示时间戳
-s 0:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据
-c 100:只抓取100个数据包
dst port !22:不抓取目标端口是22的数据包
src net 192.168.1.0/24 :数据包的源网络地址为192.168.1.0/24
-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
  • DNAT是把私网的端口映射到公网当中,所以只有通过抓包来实现验证,可以通过 sz 文件名 拖到Windows中用wireshark进行分析

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库笔记——进阶篇

文章目录 存储引擎MySQL体系结构存储引擎简介InnoDB介绍MyISAMMemory 存储引擎的选择小结 索引概述索引结构概述BtreeBTreeHash 存储引擎 MySQL体系结构 连接层: 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案…

《计算机网络—自顶向下方法》 Wireshark实验(十):NAT 协议分析

NAT(Network Address Translation)网络地址转换,即在私有地址和全局地址之间转换的协议。私有地址是不能用在 Internet 上(路由器将丢弃寻址这种地址的包)的内部地址。这些地址是不能够在公网上面用的,只能用在局域网的内部。私有…

win安装Nodejs

文章目录 1、安装环境2、安装步骤3、更换npm源为淘宝镜像4、更多node版本下载 1、安装环境 node.js下载官网: nodejs官网 点击选中图标下载即可: 2、安装步骤 1、双击安装包,一直点击next 2、点击change按钮,更换到自己的指定安装位置&…

基于fpga的图像处理之3x3_5x5算子模板中值排序

本文的思路框架: ①本文介绍3x3算子模块和5x5算子模块中,矩阵转化成串行数据后,对其排序,并获取矩阵中值数据; ②本例程中采用的FPGA设计技巧,可用于借鉴,一是采用for循环实现串行数据转化并行数…

vite创建vue2项目

使用vite首先需要注意官方给出的兼容性注意 Vite 需要 Node.js 版本 14.18,16。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。 1.初始化vite项目 输入以下命令&#…

Spring MVC 是什么?与 Struts 的区别是什么?

Spring MVC是Spring框架中的一个模块,它提供了一种基于MVC(Model-View-Controller)架构的Web开发方式。与传统的JSP/Servlet开发方式相比,Spring MVC更加灵活、高效,可以帮助开发人员快速构建高质量的Web应用程序。本文…

vue diff算法与虚拟dom知识整理(10) 梳理patch处理相同节点比较的基本逻辑

这次 我们来讲 diff算法处理到 当新旧节点 是同一个节点时的处理 我们之前也说过 如果不是同一个节点 他就会暴力拆旧 把新的插上去 但当他们是同一个节点 需要精细化比较 最做小化更新 这块我们还没有处理 打开我们的案例 打开 patch.js 对应其实就还是这一块还没有写 我们…

PostgreSQL查询引擎——transform expressions之AEXPR_OP

static Node *transformAExprOp(ParseState *pstate, A_Expr *a){Node *lexpr a->lexpr; Node *rexpr a->rexpr; // 操作符左右表达式Node *result;/* Special-case "foo NULL" and "NULL foo" for compatibility with standards-broke…

Bug——后端返回LocalDateTime类型数据中间出现一个T

错误如下图所示: 返回的JSON格式数据里面会有一个多出来的T. 解决方案: 在后端的POJO层的实体类的LocalDateTime属性上面加上一个注解 JsonFormat(pattern"yyyy-MM-dd HH:mm:ss") 如下所示,然后在返回JSON格式数据时就不会出现那个多余的T了…

C++之模板初阶

目录 前言 1.泛型编程 2.模板 2.1 函数模板 2.1.1 函数模板概念 2.1.2 函数模板格式 2.1.3 函数模板的原理 2.1.4 函数模板的实例化 2.1.5 模板参数的匹配原则 2.2 类模板 2.2.1 类模板定义模式 2.2.2 类模板的实例化 前言 我们会不会有疑惑为什么C语言中&#xf…

Python学习笔记——cmeans模糊聚类例程

文章目录 模糊聚类应用简介安装环境demo:运行结果 模糊聚类应用简介 模糊聚类即通过模糊数学(处理模糊或不确定性信息的数学方法)的相关算法进行聚类分析任务。 常用的模糊聚类算法包括模糊C均值聚类(FCM,Fuzzy-c mea…

TryHackMe-Red Team Capstone Challenge (红队挑战)【真实红队模拟】

Red Team Capstone Challenge 注意:我不会在这里提及相关的flag,只专心打;flag可以自己用各个hostname尝试一遍 挑战作者的一句话 这个房间被评为坚硬,但因为它是你前面的一座山,它可能被评为疯狂。但是,…

【Vue3】滑动验证组件 | 滑动验证

前言 滑块验证不只判断是否滑动到尾部,真正的目的是检测用户行为,检测行为是人为、脚本、还是其它。 防止使用脚本大量注册、请求等 。比如发送请求时,判断用户在某个页面停留了多长时间。登录、注册时是否点击了登录、注册按钮,…

Lesson1——数据结构前言

前言: 今天我们正式开始一个新的专栏——初阶数据结构(C语言实现),本专栏后续持续更新时间复杂度空间复杂度、顺序表、链表、栈和队列、二叉树、排序等算法的相关知识,欢迎大家互相学习,可以私信互相讨论哦…

一次oracle环境 enq: TX - allocate ITL entry锁问题分析

enq: TX - allocate ITL entry锁问题分析 通过分析问题时间段两个节点的AWR报告,TOP1等待为锁竞争enq: TX - allocate ITL entry,该等待事件是由于缺省情况下创建的表的INITRANS参数为1,索引的INITRANS参数值为2.当有太多的并发DML操作的数据行处于相同的…

日志模块封封装:单例模式+策略模式+构建者模式+bugly

日志模块封封装:单例模式策略模式构建者模式bugly 一.单例模式策略模式构建者模式二.日志模块封装1.日志等级:LoggerLevel枚举类2.日志输出类型:LoggerType枚举类3.ILogger接口4.LogCatLogger/FileLogger/NetWorkLogger/EmailLogger5.使用构建者模式创建…

相同格式相同分辨率图片不同大小分析

1、问题 有三张图片,如下: 这三张图片均为jpg格式,分辨率均为1851*580,肉眼看不出区别。但是大小不同。 2号为217KB,4号为1.15MB,5号为1.06MB。 我们看下常规信息,先看2号: 可以…

初识Linux:第五篇

初识Linux:第五篇 初识Linux:第五篇1.Linux下的用户2.Linux权限管理2.1文件权限管理2.2文件权限的更改2.21改变文件访问权限属性2.22改变文件的身份 3.三个问题 总结 初识Linux:第五篇 😁本篇主要介绍Linux权限的相关知识&#x1…

vue+elementui+nodejs高校校园在线打印预约系统

在线提交文档进行打印 首页简单介绍系统 语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 顶部或主页按钮转到打印 用户可以登录 查看历史打印记录 用户分学生和非学生 学生可以享有优惠…

基于.NetCore开源的Windows的GIF录屏工具

推荐一个Github上Start超过20K的超火、好用的屏幕截图转换为 GIF 动图开源项目。 项目简介 这是基于.Net Core WPF 开发的、开源项目,可将屏幕截图转为 GIF 动画。它的核心功能是能够简单、快速地截取整个屏幕或者选定区域,并将其转为 GIF动画&#x…