防火墙——SNAT和DNAT策略的原理及应用、防火墙规则的备份、还原和抓包

news2024/10/5 14:09:57

防火墙—SNAT和DNAT策略的原理及应用、防火墙规则的备份、还原和抓包

  • 一、SNAT策略概述
    • 1、SNAT应用环境
    • 2、SNAT原理
    • 3、SNAT转换的前提条件
  • 二、SNAT策略的应用
    • 1、临时打开
    • 2、永久打开
    • 3、SNAT转换1:固定的公网IP地址
    • 4、SNAT转换2:非固定的公网IP地址(共享动态IP地址)
    • 5、实验
  • 三、DNAT策略概述
    • 1、DNAT应用环境
    • 2、DNAT原理
    • 3、DNAT前提条件
  • 四、DNAT策略的应用
    • 1、DNAT转换1:发布内网的Web服务
    • 2、DNAT转换2:发布时修改目标端口
    • 3、扩展
    • 4、实验
  • 五、防火墙规则的备份、还原和抓包
    • 1、导出(备份)所有表的规则
    • 2、导入(还原)规则
    • 3、iptables自动还原
    • 4、Linux抓包工具tcpdump

一、SNAT策略概述

  • SNAT(Source Network Address Translation,源地址转换)是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据特定的条件修改数据包的源IP地址。

1、SNAT应用环境

  • 局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由)

在这里插入图片描述

2、SNAT原理

  • 修改数据包源地址

3、SNAT转换的前提条件

  • 局域网各主机已正确设置IP地址、子网掩码、默认网关地址
  • Linux网关开启IP路由转发

二、SNAT策略的应用

1、临时打开

Linux网关开启IP路由转发:

echo 1 > /proc/sys/net/ ipv4/ip_forward
或
sysctl -w net. ipv4.ip_forward=1

2、永久打开

Linux网关开启IP路由转发:

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1      #将此行写入配置文件

sysctl -p           #读取修改后的配置

在这里插入图片描述

3、SNAT转换1:固定的公网IP地址

iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to 12.0.0.1
或
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to-source 12.0.0.1-12.0.0.10
                                     内网IP       出站 外网网卡                      外网IP或地址池

4、SNAT转换2:非固定的公网IP地址(共享动态IP地址)

iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j MASQUERADE

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

5、实验

  • SNAT环境准备:三台主机,一台私网主机、一台公网主机、一台做SNAT转换的网关服务器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体操作如下:

  • 首先将外网,内网服务器的防火墙都关上

  • 然后在外网服务器上安装httpd,并在/var/www/html目录下创建一个文本内容

在这里插入图片描述

  • 在内网和外网服务器上将其网卡的网关地址改成对应的服务器上对应的内外网地址

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

  • 在网关服务器的 /etc/sysctl.conf文件中打开路由转发功能

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

在这里插入图片描述
- -to(- -to-source的缩写)为转换后的地址也可以写一个地址范围比如192.168.154.100-192.168.154.200
iptables -t nat -A POSTROUTING -s 192.168.154.0.24 -o ens36 -j MASQUERADE ##非固定的公网IP地址(共享动态IP地址)

  • 然后去内网主机去访问外网主机的http服务

在这里插入图片描述

三、DNAT策略概述

1、DNAT应用环境

  • 在Internet中发布位于局域网内的服务器

2、DNAT原理

  • 修改数据包的目标地址

3、DNAT前提条件

  • 局域网的Web服务器能够访问Internet
  • 网关的外网IP地址有正确的DNS解析记录
  • Linux网关支持IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

sysctl -p

在这里插入图片描述

四、DNAT策略的应用

1、DNAT转换1:发布内网的Web服务

#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.80.11
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.80.11
或
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.80.11
                             入站 外网网卡  外网IP											   内网服务器IP
 
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j DNAT --to 192.168.80.11-192.168.80.20

2、DNAT转换2:发布时修改目标端口

#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.80.11:22

#在外网环境中使用SSH测试
ssh -p 250 root@12.0.0.1

yum -y install net-tools 		#若没有 ifconfig 命令可提前使用 yum 进行安装
ifconfig ens33

  • 注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回。

3、扩展

  • 主机型防火墙:主要使用 INPUT、OUTPUT 链,设置规则时一般要详细的指定到端口

  • 网络型防火墙:主要使用 FORWARD 链,设置规则时很少去指定到端口,一般指定到IP地址或者到网段即可

4、实验

  • DNAT环境准备:三台主机,一台私网主机、一台公网主机、一台做DNAT转换的网关服务器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体操作如下:

  • 首先将外网,内网服务器的防火墙都关上

  • 然后在外网服务器上安装httpd,并在/var/www/html目录下创建一个文本内容

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

  • 在内网和外网服务器上将其网卡的网关地址改成对应的服务器上对应的内外网地址

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

  • 在网关服务器的 /etc/sysctl.conf文件中打开路由转发功能

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

  • 然后去外网主机去访问内网主机的http服务

在这里插入图片描述

五、防火墙规则的备份、还原和抓包

1、导出(备份)所有表的规则

iptables-save > /opt/ipt.txt

2、导入(还原)规则

iptables-restore > /opt/ipt.txt

3、iptables自动还原

  • 将iptables规则文件保存在/etc/sysconfig/iptables 中,iptables服务启动时会自动还原规则
iptables-save > /etc/ sysconfig/ iptables

systemctl stop iptables .      #停止iptables服务会清空掉所有表的规则
systemctl start iptables       #启动iptables服务会自动还原/etc/ sysconfig/ iptables中的规则

4、Linux抓包工具tcpdump

tcpdump -i ens32 -s 0 src net 12.0.0.0/24 -w /opt/tar.cap
-i ens32只抓经过接口ens32的包
-t不显示时间戳
-s 0抓取数据包时默认抓取长度为68字节。加上-s 0后可以抓到完整的数据包
src net 12.0.0.0/24数据包的源网络地址为12.0.0.0/24
-w /opt/tar.cap保存成cap文件, 方便用ethereal (即wireshark)分析

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

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

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

相关文章

一文搞懂,PO设计模式详解

PO模式: 全称:page objece,分层机制,让不同层去做不同类型的事情,让代码结构清晰,增加复⽤性。 PO模式的优势: 1)效率⾼ :同理,PO模式的逻辑层⽅法有具体定…

Flink第六章:多流操作

系列文章目录 Flink第一章:环境搭建 Flink第二章:基本操作. Flink第三章:基本操作(二) Flink第四章:水位线和窗口 Flink第五章:处理函数 Flink第六章:多流操作 文章目录 系列文章目录前言一、分流1.侧输出流(process function) 二、合流1. 联合(Union)2…

CVE-2018-2894WebLogic未授权任意文件上传

CVE-2018-2894WebLogic未授权任意文件上传 这个洞的限制就比较多了 限制版本 Oracle WebLogic Server版本 10.3.6.0 12.1.3.0 12.2.1.2 12.2.1.3 限制配置 该漏洞的影响模块为web服务测试页,在默认情况下不启用。 /ws_utc/config.do /ws_utc/begin.do 默认情况下不…

在职字节6年,一个29岁女软件测试工程师的心声

简单的先说一下,坐标杭州,14届本科毕业,算上年前在字节跳动的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少) 其中成功的有4家&a…

Linux防火墙----firewalld

文章目录 一、firewalld概述二、firewalld 与 iptables 的区别三、firewalld 区域的概念四、firewalld数据处理流程五、firewalld防火墙的配置方法5.1 使用firewall-config 图形工具5.2 编写/etc/firewalld/中的配置文件5.3使用firewall-cmd 命令行工具 一、firewalld概述 fir…

AI:帮助你更好地发声!

正文共 978 字,阅读大约需要 3 分钟 公务员必备技巧,您将在3分钟后获得以下超能力: 快速生成倡议书 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片由Lex…

当你知道前后端分离与不分离的6个特点,你就不该再当点工了

Web 应用的开发主要有两种模式: 前后端不分离 前后端分离 理解它们的区别有助于我们进行对应产品的测试工作。 前后端不分离 在早期,Web 应用开发主要采用前后端不分离的方式,它是以后端直接渲染模板完成响应为主的一种开发模式。以前后端不…

linux存储技术学习资料

参考 https://www.cnblogs.com/pengdonglin137/p/16525428.html Linux I/O栈 Linux内核的I/O栈大图知乎Linux I/O专栏1Linux 块设备之Block Layer层架构演变Linux VFS机制简析(一)Linux VFS机制简析(二)Linux Kernel文件系统写I…

keycloak入门

realm:领域,指的是在某一个软件业务领域中所涉及的用户认证授权管理相关的对象,在这个realm中有用户、角色、会话session等等用于认证授权管理的对象。 假设一个公司A使用一个erp系统,那么就可以给这个公司A设置一个realm&#xf…

微信小程序nodejs+vue高校食堂餐厅点餐订餐系统ja221

本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用 语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 前端vueelementui, (1) vue引入elementu…

NFC入门介绍

缩写词 NFCNear Field Communication近场通信OEMOriginal Equipment Manufacturer原始设备制造商HWHardware硬件OMAPIOpen Mobile Application Programming Interface开发移动应用程序编程接口eSEEmbedded Secure Element嵌入式安全元件SEMSSecure Element Management Service…

5月22日比特币披萨日,今天你吃披萨了吗?

比特币披萨日 1. Laszlo Hanyecz2. 最贵披萨诞生记3. 梭哈买披萨4. 未完待续 2010年5月22日,美国佛罗里达州的程序员Laszlo Hanyecz(拉兹洛哈涅克斯)用10000个比特币购买了棒约翰(Papa Johns)比萨店一个价值25美元的奶…

Three.js--》实现3d水晶小熊模型搭建

目录 项目搭建 初始化three.js基础代码 加载背景纹理 加载小熊模型 今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多说直接开始。 项目搭建 本案例还是借助框架书写…

vTESTstudio概述

vTESTstudio支持的测试用例编写方式 项目层级结构 从用例编写到测试执行及生成报告的整个流程 vTESTsutido 开发,CANoe执行测试 界面简介 CANoe 创建的测试用例用Test Modules执行,vTESTstudio 创建的测试用例用Test Units执行 先在vTESTstudio里创建pr…

Quard Bayer(COMS SENSOR)

手机越做越紧凑需要模组和芯片尺寸越做越小,在尺寸一定的基础上,高像素和大像素,对于手机摄像头来说,一直是一对矛盾的存在。然而,高像素所带来的高分辨率画质,和大像素带给暗态高感度低噪声的画质&#xf…

Idea使用详解

01.idea简介 (1)idea介绍 IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、…

鸿蒙Hi3861学习十七-Huawei LiteOS-M(MQTT)

一、简介 有关MQTT的相关概念介绍,请看之前的文章,这里不做过多的介绍:MQTT学习总结_t_guest的博客-CSDN博客 本章节需要使用如下软件: Mosquitto(MQTT消息代理工具) Eclipsse paho MQTT工具 二、操作说明…

十款优质企业级Java微服务开源项目(开源框架,用于学习、毕设、公司项目、私活等,减少开发工作,让您只关注业务!)

Java微服务开源项目 前言一、pig二、zheng三、SpringBlade四、SOP五、matecloud六、mall七、jeecg-boot八、Cloud-Platform九、microservices-platform十、RuoYi-Cloud 前言 这篇文章为大家推荐几款优质的 Java 开源项目框架,可以用于学习,毕业设计&…

【腾讯云FinOps Crane 集训营】 Crane入门

前言 随着云计算的快速发展和云原生应用的兴起,容器技术成为了现代化应用部署和管理的重要工具。 越来越多的公司正在选择将应用运行在云上或者自建的 Kubernetes 集群上,但是许多机构的调研 发现,绝大多数的用户集群资源利用率并不高&…

STM8 使用74HC164外扩IO

背景 在嵌入式开发过程中,经常使用时、甚至设计时候,考虑成本等因素,需要外扩IO。这里就是使用STM8S003F3P6,这个芯片比较常用的,这个芯片封装很小,只有20个管脚的MCU,实际产品上用的非常多。 …