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

使用IPSEC VPN 在有防火墙的场景和有NAT转换的场景下实现隧道通信实验

目录

一、在有防火墙的场景

 1、为所有设备配置对应ip地址:

2、进入两个防火墙实现公网互通

3、测试公网是否互通

4、进入SW1配置IPSEC VPN

5、进入SW2配置IPSEC VPN

6、配置策略方向ESP的流量

7、尝试使用PC1访问PC2 

二、在有NAT地址转换的场景

 1、为新增加的路由器配置ip:

2、在AR2上做NAT

3、修改SW1配置

4、修改SW2上的策略:

5、进行IPSEC配置

 6、尝试访问:


一、在有防火墙的场景

实验拓扑:

 1、为所有设备配置对应ip地址:

SW1:

[USG6000V1-GigabitEthernet0/0/0]ip add 192.168.159.100 24
[USG6000V1-GigabitEthernet0/0/0]service-manage all permit 
[USG6000V1-GigabitEthernet0/0/0]int gi 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip add 10.1.1.2 24
[USG6000V1-GigabitEthernet1/0/0]service-manage all permit 
[USG6000V1-GigabitEthernet1/0/0]int gi 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip ad 100.1.1.2 24
[USG6000V1-GigabitEthernet1/0/0]service-manage  all  permit 

SW2:

[USG6000V1-GigabitEthernet0/0/0]ip add 192.168.159.101 24
[USG6000V1-GigabitEthernet0/0/0]service-manage all permit 
SG6000V1-GigabitEthernet1/0/0]int gi 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip add 100.2.1.2 24	
[USG6000V1-GigabitEthernet1/0/0]service-manage all permit 
[USG6000V1-GigabitEthernet1/0/0]int gi 1/0/1
[USG6000V1-GigabitEthernet1/0/1]ip address 10.2.1.2 24	
[USG6000V1-GigabitEthernet1/0/1]service-manage all permit 

 PC1-PC2:


AR1:

[r2]int gi 0/0/0
[r2-GigabitEthernet0/0/0]ip address  100.1.1.1 24
[r2-GigabitEthernet0/0/0]int gi 0/0/1
[r2-GigabitEthernet0/0/1]ip add 100.2.1.1 24

2、进入两个防火墙实现公网互通

(1)划分接口区域、并且配置路由

SW1:

 注:需要开启ping服务用于测试

SW2:

(2)指定策略放行

SW1:

SW2:

3、测试公网是否互通

 成功访问,之后就可以删除这条策略了

4、进入SW1配置IPSEC VPN

(1)第一阶段 IKE SA 放行UDP 500 to 500

 (2)IPSEC SA 方向 PC1到PC2的流量

(3)配置IPSEC

 

配置加密数据流:

 

 安全提议:

5、进入SW2配置IPSEC VPN

(1)第一阶段 ike sa 放行UDP 500 to 500

 (2)IPSEC SA 放行PC1到PC2的流量

(3)配置IPSEC

加密数据流:

 安全提议:与SW1完全一致

6、配置策略方向ESP的流量

SW1:

SW2:

7、尝试使用PC1访问PC2 

 成功实现ISPEC VPN访问

二、在有NAT地址转换的场景

拓扑:在第一个实验的基础上再SW1和AR2之间增加一台AR3即可

 1、为新增加的路由器配置ip:

[r3]int gi 0/0/0
[r3-GigabitEthernet0/0/0]ip add 10.3.1.2 24
[r3-GigabitEthernet0/0/0]int gi 0/0/1
[r3-GigabitEthernet0/0/1]ip add 100.1.1.2 24
[r3-GigabitEthernet0/0/1]q
[r3]ip route-static 0.0.0.0 0 100.1.1.1
[r3]ip route-static 0.0.0.0 0 10.3.1.1

2、在AR2上做NAT

[r3]acl 2000 
[r3-acl-basic-2000]rule permit source 10.3.1.0 0.0.0.255
[r3]int gi 0/0/1
[r3-GigabitEthernet0/0/1]nat outbound 2000

3、修改SW1配置

(1)接口和网关

 (2)IKE SA:

 (3)将ESP流量修改为UDP4500、ip地址修改

 

4、修改SW2上的策略:

(1)ESP

5、进行IPSEC配置

SW1:

 注:需要将下面的协商模式修改为野蛮模式

SW2:

  注:需要将下面的协商模式修改为野蛮模式

 6、尝试访问:

相关文章:

使用IPSEC VPN 在有防火墙的场景和有NAT转换的场景下实现隧道通信实验

目录 一、在有防火墙的场景 1、为所有设备配置对应ip地址: 2、进入两个防火墙实现公网互通 3、测试公网是否互通 4、进入SW1配置IPSEC VPN 5、进入SW2配置IPSEC VPN 6、配置策略方向ESP的流量 7、尝试使用PC1访问PC2 二、在有NAT地址转换的场景 1、为新增加…...

Go和Java实现适配器模式

Go和Java实现适配器模式 我们通过下面的实例来演示适配器模式的使用,其中,音频播放器设备只能播放 mp3 文件,通过使用一个更高级 的音频播放器来播放 vlc 和 mp4 文件。 1、适配器模式 适配器模式是作为两个不兼容的接口之间的桥梁。这种…...

接口相似数据结构复用率高?Apipost这招搞定!

在API设计和开发过程中,存在许多瓶颈,其中一个主要问题是在遇到相似数据结构的API时会产生重复性较多的工作:在每个API中都编写相同的数据,这不仅浪费时间和精力,还容易出错并降低API的可维护性。 为了解决这个问题&a…...

【零基础学Rust | 基础系列 | Hello, Rust】编写并运行第一个Rust程序

文章目录 前言一,创建项目二,两种编译方式1. 使用rustc编译器编译2. 使用Cargo编译 总结 前言 在开始学习任何一门新的编程语言时,都会从编写一个简单的 “Hello, World!” 程序开始。在这一章节中,将会介绍如何在Rust中编写并运…...

代理模式.

前言: 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式: 静态代理 动态代理 静态代理 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色 代理角色 : 代理真实角色 ; 代理真实角色后 , 一…...

BS框架说明

B/S架构 1.B/S框架,意思是前端(Browser 浏览器,小程序、app、自己写的)和服务器端(Server)组成的系统的框架结构 2.B/S框架,也可理解为web架构,包含前端、后端、数据库三大组成部分…...

iOS——Block签名

首先来看block结构体对象Block_layout(等同于clang编译出来的__Block_byref_a_0) #define BLOCK_DESCRIPTOR_1 1 struct Block_descriptor_1 {uintptr_t reserved;uintptr_t size; };#define BLOCK_DESCRIPTOR_2 1 struct Block_descriptor_2 {// requi…...

Flutter 图片选取及裁剪

在开发项目里修改用户头像的功能,涉及到图片选取及裁剪,基本实现步骤如下: 1、pubspec.yaml 添加 image_picker: ^1.0.1 image_cropper: ^4.0.1: dependencies:image_picker: ^1.0.1image_cropper: ^4.0.1flutter:sdk: flutter…...

C语言每日一题:11.《数据结构》链表分割。

题目一: 题目链接: 思路一:使用带头链表 1.构建两个新的带头链表,头节点不存储数据。 2.循环遍历原来的链表。 3.小于x的尾插到第一个链表。 4.大于等于x尾插到第二个链表。 5.进行链表合并,注意第二个链表的尾的下一…...

记一次Oracle归档日志异常增长问题的排查过程

Oracle归档日志是Oracle数据库的重要功能,用于将数据库的重做日志文件(Redo Log)保存到归档日志文件(Archive Log)中。归档日志的作用是提供数据库的备份和恢复功能,以及支持数据库的持续性和数据完整性。 …...

Java设计模式——类之间的关系

1.继承关系(泛化) 类与子类的关系,指一个类继承另外的一个类。 2.实现关系 一个类可以实现多个接口,实现所有接口的功能。 3.依赖关系 类B作为类A方法中的局部变量或者参数出现,表示A依赖B。 4.关联关系 类B作为类A中的成员变量出现&#…...

Dockerfile构建Redis镜像

建立工作目录 [rootlocalhost ~]# mkdir redis [rootlocalhost ~]# cd redis/ 编写Dockerfile文件 [rootlocalhost redis]# vim Dockerfile FROM centos:7 MAINTAINER dddd <dddd163.com> RUN yum -y install epel-release && yum -y install redis RUN sed -i …...

C高级DAY2

1.思维导图 2. 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的二进制c 写一个脚本&#xff0c;包含以下内容&#xff1a; 显示/etc/group文件中第五行的内容创建目录/home/ubuntu/copy切换工作路径到…...

Linux 服务管理

在Linux上&#xff0c;服务管理是指对系统中运行的服务进行启动、停止、重启、监控和配置的过程。以下是一些常用的Linux服务管理工具和命令&#xff1a; 1. systemctl&#xff1a;systemctl 是一个Linux系统服务管理工具&#xff0c;可以管理Systemd初始化系统的服务。常见的…...

问题记录 1 页面初始化触发el-form必填校验

bug: 先编辑table某条数据,然后关闭,再去新增的时候就会触发el-form必填校验, 网上搜了一下是因为 rules里触发的方式为change时,赋值数据的格式不一致导致触发校验, 最后也没找到正确的解决方法, 只能用很low方式去解决了 方案1. 把trigger改为 blur 失焦后触发 方案2. 初始化…...

后端整理(JVM、Redis、反射)

1. JVM 文章仅为自身笔记 详情查看一篇文章掌握整个JVM&#xff0c;JVM超详细解析&#xff01;&#xff01;&#xff01; 1.1 什么是JVM jvm是Java虚拟机 1.2 Java文件的编译过程 程序员编写代码形成.java文件经过javac编译成.class文件再通过JVM的类加载器进入运行时数据…...

1. CUDA中的grid和block

1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU&#xff0c;而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机&#xff08;CPU&#xff09;调用Kernel时&#xff0c;它在GPU上启动&#xff0c;并在许多线程上并行运行。 Grid: 当你…...

宝存科技企业级固态硬盘解决方案助力企业应用性能提升

企业级固态硬盘解决方案的核心 企业级固态硬盘市场具有产品附加值高、同时进入门槛高的特征&#xff0c;由于国内外巨头和初创企业竞争依然激烈。想要在竞争中脱颖而出&#xff0c;根本还是要靠产品本身的品质和厂商实力。 企业级固态硬盘适用于各类企业应用场景 企业级固态硬盘…...

《练习100》31~35

题目31 # press any key to change color,do you want to try it. Please hurry up!# 第一种使用颜色配置输出 # 向终端输出彩色字符&#xff0c;色彩的设置由目标终端文字系统和转义字符控制&#xff0c;与具体的编程语言无关 # 参数名称 参数值 # 文字效果 0&#xff1a;终端…...

额外题目第4天|132 673 841 127 684 657

132 我发现困难题往往是在中等题的基础上再多了一步 分割最少次数的回文子串 这道题就是在之前动态规划法找回文子串 (leetcode第5题) 的基础上更多 这题还是用动规来写 思路参考代码随想录 dp数组表示的意义是从0到i最少切割的次数 递推公式是 取0到i中间值 j 如果从 j1到…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

Netty自定义协议解析

目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...

自定义线程池1.2

自定义线程池 1.2 1. 简介 上次我们实现了 1.1 版本&#xff0c;将线程池中的线程数量交给使用者决定&#xff0c;并且将线程的创建延迟到任务提交的时候&#xff0c;在本文中我们将对这个版本进行如下的优化&#xff1a; 在新建线程时交给线程一个任务。让线程在某种情况下…...

【Linux】使用1Panel 面板让服务器定时自动执行任务

服务器就是一台24小时开机的主机&#xff0c;相比自己家中不定时开关机的主机更适合完成定时任务&#xff0c;例如下载资源、备份上传&#xff0c;或者登录某个网站执行一些操作&#xff0c;只需要编写 脚本&#xff0c;然后让服务器定时来执行这个脚本就可以。 有很多方法实现…...