Linux系统安全②SNAT与DNAT

目录

一.SNAT

1.定义

2.实验环境准备

(1)三台服务器:PC1客户端、PC2网关、PC3服务端。

(2)硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡

(3)网络模式要求:PC1为NAT模式、PC2中作为PC1网关的网卡为NAT模式、作为PC3网关的网卡为仅主机

(4)IP地址要求:

①PC1为192.168.227.101/24--网关为192.168.227.102

②PC2网关的ens33网卡地址为192.168.227.102/24--网关为192.168.227.102、ens36为12.0.0.254/24--不需要网关

③PC3为12.0.0.100/24--网关为12.0.0.254

3.实验拓扑

4.实验步骤

(1)关闭防火墙安装HTTP

(2)配置PC3服务端

(3)配置PC1客户端

(4)配置PC2网关服务器

(5)开启PC2网关服务器路由转发

(6)检测PC1、PC2、PC3三台机器之间是否互通(使用虚拟机做实验默认是互通的,是由于处在同一环境中,生产环境内网和外网没有SNAT的情况下是不通的)

(7)在PC1上curl 服务端ip,然后在服务端实时查看/var/log/httpd/access_log日志。可查看到源ip为PC1的ip,所以是未经过NAT的,生产环境中不可能直接curl通

(8)在PC2中添加防火墙规则使得来源于192.168.30.0/24网段的所有从ens36网卡流出数据的ip全部NAT为12.0.0.254。然后再使用PC1去curl 服务端并在服务端实时查看日志。

5.结论

二.DNAT

1.定义

2.DNAT实验环境准备

(1)三台服务器:PC1客户端、PC2网关、PC3服务端。

(2)硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡

(3)网络模式要求:PC1为NAT模式、PC2中作为PC1网关的网卡为NAT模式、作为PC3网关的网卡为仅主机模式、PC3为仅主机模式。

(4)IP地址要求:

①PC1为192.168.227.101/24--网关为192.168.227.102

②PC2网关的ens33网卡地址为192.168.227.102/24--网关为192.168.227.102、ens36为12.0.0.254/24--不需要网关

③PC3为12.0.0.100/24--网关为12.0.0.254

3.实验拓扑

4.实验

(1)首先给三台机器做一个SNAT,原因是做DNAT之后内网的PC1需要通过SNAT给公网的用户返回数据包

(2)在内网PC1上安装一个httpd服务并开启,作为内网的业务服务器

(3)PC2网关服务器上配置DNAT规则

(4)实时查看PC1的/var/log/httpdd/access_log日志,使用PC3公网地址直接curl 内网的PC1,可以看到日志中源地址。

5.结论


一.SNAT

1.定义

利用SNAT技术实现2台私网地址都可以访问公网

2.实验环境准备

(1)三台服务器:PC1客户端、PC2网关、PC3服务端。
(2)硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡
(3)网络模式要求:PC1为NAT模式、PC2中作为PC1网关的网卡为NAT模式、作为PC3网关的网卡为仅主机
(4)IP地址要求:
①PC1为192.168.227.101/24--网关为192.168.227.102
②PC2网关的ens33网卡地址为192.168.227.102/24--网关为192.168.227.102、ens36为12.0.0.254/24--不需要网关
③PC3为12.0.0.100/24--网关为12.0.0.254

3.实验拓扑

4.实验步骤

(1)关闭防火墙安装HTTP
三台机器全部执行:
systemctl stop firewalld
setenforce 0
yum install httpd -y
(2)配置PC3服务端
PC3执行:
vim /etc/sysconfig/network-script/ifcfg-ens33
文本添加内容:
IPADDR=12.0.0.100
NETMASK=255.255.255.0
GATEWAY=12.0.0.254
(3)配置PC1客户端
PC1执行:
vim /etc/sysconfig/network-script/ifcfg-ens33
文本添加内容:
IPADDR=192.168.227.101
NETMASK=255.255.255.0
GATEWAY=192.168.227.102
(4)配置PC2网关服务器
PC2执行:
vim /etc/sysconfig/network-script/ifcfg-ens33
文本添加内容:
IPADDR=192.168.227.102
NETMASK=255.255.255.0
GATEWAY=192.168.227.102cp /etc/sysconfig/network-script/ifcfg-ens33  /etc/sysconfig/network-script/ifcfg-ens36
#复制ens33配置文件给ens36网卡,新增网卡不会有配置文件
ens36配置文件修改:将UUID此行删除,修改ip和网关
IPADDR=12.0.0.254
NETMASK=255.255.255.0
GATEWAY=12.0.0.254
(5)开启PC2网关服务器路由转发
vim /etc/sysctl.conf
添加内容:
net.ipv4.ip_forward=1
(6)检测PC1、PC2、PC3三台机器之间是否互通(使用虚拟机做实验默认是互通的,是由于处在同一环境中,生产环境内网和外网没有SNAT的情况下是不通的)
(7)在PC1上curl 服务端ip,然后在服务端实时查看/var/log/httpd/access_log日志。可查看到源ip为PC1的ip,所以是未经过NAT的,生产环境中不可能直接curl通
(8)在PC2中添加防火墙规则使得来源于192.168.30.0/24网段的所有从ens36网卡流出数据的ip全部NAT为12.0.0.254。然后再使用PC1去curl 服务端并在服务端实时查看日志。
PC2执行:
iptables -t nat  -A POSTROUTING -s 192.168.227.0/24 -o ens36 -j SNAT --to 12.0.0.254
# -t nat 指定使用nat表
# -A POSTROUTING 添加在数据流出链,原因为在输出时添加只需要添加一次。
# -s 指定源ip
# -o 指定输出网卡为ens36时
# -j 指定跳转到SNAT处理
# --to 指定SNAT nat为12.0.0.254这个地址

5.结论

不经过nat的地址为pc1自己的地址,使用虚拟机环境才会出现这种情况,生成环境是不通的。

经过nat之后的地址是公司的公网ip地址,由网关服务器iptables规则SNAT实现。

二.DNAT

1.定义

从公网访问的用户只能通过nat为业务服务器的私网网关地址才可访问。

2.DNAT实验环境准备

(1)三台服务器:PC1客户端、PC2网关、PC3服务端。
(2)硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡
(3)网络模式要求:PC1为NAT模式、PC2中作为PC1网关的网卡为NAT模式、作为PC3网关的网卡为仅主机模式、PC3为仅主机模式。
(4)IP地址要求:
①PC1为192.168.227.101/24--网关为192.168.227.102
②PC2网关的ens33网卡地址为192.168.227.102/24--网关为192.168.227.102、ens36为12.0.0.254/24--不需要网关
③PC3为12.0.0.100/24--网关为12.0.0.254

3.实验拓扑

4.实验

(1)首先给三台机器做一个SNAT,原因是做DNAT之后内网的PC1需要通过SNAT给公网的用户返回数据包
(2)在内网PC1上安装一个httpd服务并开启,作为内网的业务服务器
(3)PC2网关服务器上配置DNAT规则
PC2执行:
iptables -t nat  -A PREROUTING -d 12.0.0.254 -i ens36 -p tcp  --dport 80 -j DNAT --to 192.168.227.101
# 从ens36网卡进入的流量目的地址为12.0.0.254目的端口为80的tcp协议NAT处理为访问192.168.227.102
# -t nat 指定使用nat表
# -A PREROUINTG 添加在路由选择前数据进入链,在输入时直接判断。
# -d 指定目的ip
# -i 指定输出网卡为ens36时
# -p 指定协议为tcp协议
# --dport 指定目的端口为80
# -j 指定跳转到DNAT处理
# --to 指定DNAT nat到192.168.227.101这个地址
(4)实时查看PC1的/var/log/httpdd/access_log日志,使用PC3公网地址直接curl 内网的PC1,可以看到日志中源地址。

5.结论

经过DNAT之后的用户访问公网的网关即会跳转到内网的PC1内网的httpd服务中。PC1内网日志会显示访问的源公网ip。

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

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

相关文章

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的自动驾驶目标检测系统详解(深度学习+Python代码+PySide6界面+训练数据集)

摘要:开发自动驾驶目标检测系统对于提高车辆的安全性和智能化水平具有至关重要的作用。本篇博客详细介绍了如何运用深度学习构建一个自动驾驶目标检测系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并对比了YOLOv7、YOLOv6、YOLO…

IntelliJ IDEA 2023.3.4创建JavaWeb应用和集成Tomcat服务器

1. 创建项目 如下图所示,只需要给项目起一个项目名称,然后点击Create即可: 2. Project Structure 设置 创建完成后如下图 3. 集成Tomcat服务器 4. 实现Servlet接口 当我们实现Servlet接口时,发现没有Servlet相关的依赖时&am…

AcWing 2. 01背包问题

题目描述 解题思路: 相关代码: import java.util.Scanner; public class Main {public static void main(String[] args){Scanner scanner new Scanner(System.in);/** 背包问题的物品下标最好从1开始。* *//*定义一f[i][j]数组,i表示的…

PDF Expert:强大注释与批注功能,让PDF阅读更高效

PDF Expert软件是一款功能丰富且强大的PDF编辑和管理工具,为用户提供了全面的PDF处理解决方案。以下是其主要的功能特色介绍: PDF编辑功能:PDF Expert允许用户对PDF文件进行深度编辑。这包括但不限于添加、删除、重新排列和合并页面&#xff…

SQLiteC/C++接口详细介绍之sqlite3类(十四)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(十三) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(十五) 43.sqlite3_preupdate_hook sqlite3_preup…

Camtasia 2023 中文MacOS

Camtasia 2023软件在录屏软件中的确表现突出,可以说是佼佼者之一。这款软件不仅功能强大,而且操作简便,适用于各种屏幕录制和视频编辑需求。 一、屏幕录制与视频导入 Camtasia 2023提供了高清的屏幕录制功能,可以轻松地捕捉电脑…

SpringCloud-深度理解ElasticSearch

一、Elasticsearch概述 1、Elasticsearch介绍 Elasticsearch(简称ES)是一个开源的分布式搜索和分析引擎,构建在Apache Lucene基础上。它提供了一个强大而灵活的工具,用于全文搜索、结构化搜索、分析以及数据可视化。ES最初设计用…

应用程序开发教学:医保购药系统源码搭建实战

医保购药系统作为医疗服务的重要组成部分,其开发不仅能够为患者提供更加便捷的购药服务,还能够提高医疗机构的管理效率。接下来,小编将为您讲解医保购药系统的源码搭建过程,介绍应用程序开发的基本步骤和技巧。 一、系统设计 我…

矩阵中移动的最大次数

文章目录 所属专栏:BFS算法 题目链接 思路如下: 1.首先我们需要从第一列开始遍历,寻找每一个都能够满足条件的位置,将它插入到数组里面 2.第一列遍历完了后我们先判断第一列的数是否都满足条件插入到数组里面,如果数组为空&#…

关于微信公众号的一些个心得(持续更新)

微信公众号也是写一些个人心得,也不指望有人关注什么的,如果在一个领域可以深耕的话也希望可以做一些分享。目前也就是写一些心得和体验,摘抄一类的。 字体大小和排版什么的有没有人有经验啊 安装编辑插件,以chorme浏览器为例&a…

ClickHouse:一款高效且强大的列式数据库管理系统

ClickHouse是一款开源的列式数据库管理系统,专为大规模数据仓库和数据分析应用而设计。它允许用户快速地存储和处理海量数据,同时提供了简单易用的SQL接口。本文将介绍ClickHouse的概念、技术原理以及使用案例,并探讨其优势和挑战。 一、引言…

从SLC 到 MLC、TLC颗粒

*以下是个人对相关基础知识的梳理和总结,对于高度专业性的知识个人理解可能会有出入,如果有误,希望各位大佬不吝指教; 1.SLC 颗粒 (Single-Level Cell) SLC颗粒每个储存单元只存储一个信息位(即…

VMware Fusion 13.5.1 OEM BIOS Version - 在 macOS 中运行 Windows 虚拟机的最佳方式

VMware Fusion 13.5.1 OEM BIOS Version VMware Fusion 13 原版 App 中集成 OEM BIOS 请访问原文链接:https://sysin.org/blog/vmware-fusion-13-oem/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 使用 VMware …

世界环境绩效指数EPI数据集(2000-2022年)

环境绩效指数(EPI)是由耶鲁大学和哥伦比亚大学联合发布的一项综合指标,旨在衡量世界各国在可持续环境管理方面的表现。覆盖2000年至2022年,EPI通过分析各国在多个维度上的环境政策执行成效,包括空气质量、水资源管理、…

RequestResponse使用

文章目录 一、Request&Response介绍二、Request 继承体系三、Request 获取请求数据1、获取请求数据方法(1)、请求行(2)、请求头(3)、请求体 2、通过方式获取请求参数3、IDEA模板创建Servlet4、请求参数…

第二百零六回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"给geolocator插件提交问题的结果"相关的内容,本章回中将介绍自定义标题栏.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我…

Rancher操作手册(v2.7.5-rc1)

1.登录 访问地址:10.66.55.132使用账号和密码登录。初始的页面是英文版本,可以点击左下方改为简体中文 登录成功后可以看到现有的集群。右上角可以进行新集群的创建和导入已有集群。点击箭头所指的蓝色集群名称可以进入集群。 2.集群仪表盘 进入到集…

台球厅麻将 馆用什么收银系统,如何下载可接灯控桌球棋牌计时计费管理系统软件

台球厅麻将 馆用什么收银系统,如何下载可接灯控桌球棋牌计时计费管理系统软件 一、前言 以下软件操作教程以 佳易王台球计时计费管理系统软件V18.0为例说明 件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、软件可以同时适用于台球和棋牌&am…

Parade Series - Web Streamer Low Latency

Parade Series - FFMPEG (Stable X64) 延时测试秒表计时器 ini/config.ini [system] homeserver storestore\nvr.db versionV20240312001 verbosefalse [monitor] listrtsp00,rtsp01,rtsp02 timeout30000 [rtsp00] typelocal deviceSurface Camera Front schemartsp ip127…

2024最新PHP彩虹网盘与外链分享程序,支持所有格式文件的上传

彩虹外链网盘是一款基于PHP的在线存储和分享平台,它允许用户上传各种类型的文件,并提供了生成文件链接、图片链接、音乐和视频链接的功能。同时,它还会自动生成相应的UBB代码和HTML代码,支持文本、图片、音乐和视频的在线预览。这…