锐捷—NAT地址映射+IPsec隧道
任务目标
在出口路由器R3上将R5私网地址1对1映射的公网地址与R1建立IPsec隧道,使得R4在访问R5的映射公网地址时,可以进行IPsec隧道的转发
要求:
1、R4和R5可通过NAT转换正常访问互联网地址(R2的lo0)
2、R5的私网地址在R3上映射为20.1.1.3/29
3、R1与R5映射后的地址建立IPsec隧道进行私网流量的转发
4、R1的IPsec隧道要求为动态隧道,R3为静态隧道

配置
1、配置各设备的IP地址,并保证各设备间的互联互通,R2的lo0接口模拟互联网
R1
int g0/1
ip add 10.1.1.1 30
int g0/0
ip add 192.168.10.254 24
exit
ip route 0.0.0.0 0.0.0.0 10.1.1.2
R2
int g0/1
ip add 10.1.1.2 30
int g0/3
ip add 20.1.1.1 29
int lo0
ip add 2.2.2.2 32
exit
R3
int g0/3
ip add 20.1.1.2 30
int g0/0
ip add 192.168.20.254 24
exit
ip route 0.0.0.0 0.0.0.0 20.1.1.1
R4
int g0/0
ip add 192.168.10.1 24
exit
ip route 0.0.0.0 0.0.0.0 192.168.10.254
R5
int g0/0
ip add 192.168.20.1 24
exit
ip route 0.0.0.0 0.0.0.0 192.168.20.254
2、在R1和R3上配置NAT,使得R4和R5可通过NAT访问互联网
R1
ip access-list extended 10110 permit ip 192.168.10.0 0.0.0.255 anydeny ip any any
ip nat pool PC_to_Internet 10.1.1.1 10.1.1.1 netmask 255.255.255.252
ip nat inside source list 101 pool PC_to_Internet overload
int g0/1
ip nat outside
int g0/0
ip nat inside
exit
R3
ip access-list extended 10110 permit ip 192.168.20.0 0.0.0.255 anydeny ip any any
ip nat pool PC_to_Internet 20.1.1.1 20.1.1.1 netmask 255.255.255.248
ip nat inside source list 101 pool PC_to_Internet overload
int g0/1
ip nat outside
int g0/0
ip nat inside
exit
3、配置NAT地址映射,在R3的G0/3接口上将192.168.20.1映射至公网地址20.1.1.3/29
R3
ip nat inside source static 192.168.20.1 20.1.1.3 permit-inside
4、建立IPsec隧道
R1
crypto isakmp policy 1encryption 3desauthentication pre-sharehash md5group 2crypto isakmp key 7 ruijie@123 address 0.0.0.0 0.0.0.0
crypto ipsec transform-set myset esp-3des esp-md5-hmaccrypto dynamic-map dymymap 5set transform-set mysetcrypto map mymap 10 ipsec-isakmp dynamic dymymap
interface GigabitEthernet 0/1crypto map mymap
R3,这里IPsec感兴趣流量的源地址需要匹配的是NAT映射后的地址,因为R5的流量经过接口后会优先进行地址映射,然后再进行其他服务模块的操作
ip access-list extended 11010 permit ip 20.1.1.0 0.0.0.7 192.168.10.0 0.0.0.25520 deny ip any any
!
crypto isakmp policy 1encryption 3desauthentication pre-sharehash md5group 2
!
crypto isakmp key 7 ruijie@123 address 10.1.1.0 255.255.255.252
crypto ipsec transform-set myset esp-3des esp-md5-hmac
!
crypto map mymap 5 ipsec-isakmpset peer 10.1.1.1set transform-set mysetmatch address 110
!
interface GigabitEthernet 0/3crypto map mymap
隧道建立完成后尝试使用R5 ping R4进行测试,这里的PC-2就是R5
PC-2# ping 192.168.10.1
Sending 5, 100-byte ICMP Echoes to 192.168.10.1, timeout is 2 seconds:< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/9/28 ms.
PC-2#
R3上可以查看隧道的详细信息

R1上同样也会出现隧道信息

虽然此时R1上以及有了去往R3的隧道,但此时R4 ping 20.1.1.3时还是会进行地址转换,因为R1出接口的NAT模块优先于IPsec执行
这里有个很奇怪的现象:R4的流量通过NAT从R1发往R5了,R5也回复了,但R1的NAT转换表上并没有相应的记录,回程流量到R1上以后就被R1接收了,不发给R4



暂时先不想那么多,最起码我们目前知道需要在NAT流量中拒绝10.1去往20.1.1.3的流量
R1
ip access-list ex 1015 deny ip 192.168.10.0 0.0.0.255 20.1.1.3 0.0.0.0
exit
再次进行测试
PC-1# ping 20.1.1.3
Sending 5, 100-byte ICMP Echoes to 20.1.1.3, timeout is 2 seconds:< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/4/8 ms.
PC-1#
这里可以看到都是加密后的流量

总结
当NAT与IPsec同时在接口上应用时,会优先进行NAT转换,然后再进行IPsec,但NAT转换后的地址也可以进入IPsec隧道,因此可直接配置NAT后的地址与对端建立隧道
但这样划分进入隧道的流量并不精细,现网中更多的是规定只有某个网段的流量可以进入IPsec隧道
相关文章:
锐捷—NAT地址映射+IPsec隧道
任务目标 在出口路由器R3上将R5私网地址1对1映射的公网地址与R1建立IPsec隧道,使得R4在访问R5的映射公网地址时,可以进行IPsec隧道的转发 要求: 1、R4和R5可通过NAT转换正常访问互联网地址(R2的lo0) 2、R5的私网地…...
index.html 调用 ajax
index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>AJAX 请求示例</title><script>// 封装 Ajax 为公共函数:传入回调函数 success 和 failfunction myAjax (url, suc…...
uniapp学习(003-1 vue3学习 Part.1)
零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第11p-第p14的内容 文章目录 vue3使用介绍插值表达式例子时间戳随机数输出函数的值 ref响应式数据变量v-bind 绑…...
计算机毕业设计 基于深度学习的短视频内容理解与推荐系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
JavaScript网页设计案例深度解析:从理论到实践
前言 在现代前端开发中,JavaScript 是赋予网页生命的关键技术。静态的 HTML 和 CSS 虽然能创建美观的页面,但当我们需要增强用户交互和页面响应时,JavaScript 无疑成为最得力的工具。从程序员的角度来看,JavaScript 设计不仅仅是…...
spark-sql建表数据同步到hive
1、基础环境 组件版本备注hadoop3.4.0官方下载hive3.1.3自编译sparkspark-3.5.3-bin-hadoop3官方下载,需要内置hive的jar相关内容paimon0.9.0Maven官方下载jdk1.8.0_41maven3.9.6固定版本 2、停止服务、清理日志 先停止,清理数据 sudo kill -9 $(ps -ef…...
Django上下文处理器
1创建 (如frontend目录下)category_processors文件: def categories(request):from backend.models import Categorycategory_list Category.objects.all()return {category_list:category_list}这里,必须返回一个字典。 2&…...
旭升集团携手纷享销客,构建全方位客户关系管理平台
宁波旭升集团股份有限公司(以下简称“旭升集团”)自2003年成立,总部位于中国宁波,集团设有压铸、锻造、挤压、集成四大事业部,在亚洲、欧洲、美洲等地均设立研发中心及制造基地,产品主要覆盖新能源汽车的电…...
uniapp 知识点
自定义导航 在page.json navigationstyle":"custom"navigateTo传参 页面传参只能onLoad(option)里面拿 px和upx的关系 在750设计图中,1px1upx 路由 navigateBack返回上一页 重定向 其实就是把当前页面干掉了 公共组件和页面共同点 computed,watc…...
慢病中医药膳养生食疗管理微信小程序、基于微信小程序的慢病中医药膳养生食疗管理系统设计与实现、中医药膳养生食疗管理微信小程序的开发与应用(源码+文档+定制)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...
解决 Android WebView 无法加载 H5 页面常见问题的实用指南
目录 1. WebView 简介 2. 常见问题 3. 网络权限设置 4. 启用 JavaScript 5. DOM Storage 的重要性 6. 处理 HTTPS 问题 7. 设置 WebViewClient 8. 调试工具 9. 其他调试技巧 10. 结论 相关推荐 1. WebView 简介 Android WebView 是一种视图组件,使得 And…...
Ollama本地部署大模型及应用
文章目录 前言一、下载安装1.Mac2.Windows3.linux4.docker5.修改配置(可选)1.linux系统2.window 系统3.mac系统 二、Ollama使用1.命令2.模型下载3.自定义模型4.API 服务 三、Open WebUI 使用四、Dify使用 前言 Ollama 是一个专注于本地部署大型语言模型…...
读代码UNET
这个后面这个大小怎么算的,这参数怎么填,怎么来的? 这是怎么看怎么算的? 这些参数设置怎么设置?卷积多大,有什么讲究?...
【java】前端RSA加密后端解密
目录 1. 说明2. 前端示例3. 后端示例3.1 pom依赖3.2 后端结构图3.3 DecryptHttpInputMessage3.4 ApiCryptoProperties3.5 TestController3.6 ApiCryptoUtil3.7 ApiDecryptParamResolver3.8 ApiDecryptRequestBodyAdvice3.9 ApiDecryptRsa3.10 ApiCryptoProperties3.11 KeyPair3…...
机器学习 | Scikit Learn中的普通最小二乘法和岭回归
在统计建模中,普通最小二乘法(OLS)和岭回归是两种广泛使用的线性回归分析技术。OLS是一种传统的方法,它通过最小化预测值和实际值之间的平方误差之和来找到数据的最佳拟合线。然而,OLS可以遭受高方差和过拟合时&#x…...
代码随想录冲冲冲 Day60 图论Part11
97. 小明逛公园 floyd算法 其实就是先用i和j拼成一个平面 然后看每次从i到j距离 这里分两种情况 1.中间没有经过别的点 2.中间有经过别的点 那么最小步数就要取这两个的最小值 所有根本逻辑是i j确定一个面 再通过不同的k去看每一个中间点 所以k要在最外层 上一次的值要…...
golang web笔记-1.创建Web Server和Handler请求
1. 创建http web server的两个方法 1.1. 方式一:http.ListenAndServe(addr string, handler Handler) addr string:监听地址,如果为"" ,那么就是所有网络接口的80接口handler Handler:如果为nil,那么就是D…...
【Python】Copier:高效的项目模板化工具
Copier 是一个开源的 Python 工具,用于基于项目模板快速生成新项目。它通过灵活的模板化系统,使开发者可以快速创建、维护和更新项目模板,从而自动化项目的初始化流程。无论是简单的文件复制,还是复杂的项目结构配置,C…...
Spring系列 BeanPostProcessor
文章目录 BeanPostProcessor注册时机执行时机 InstantiationAwareBeanPostProcessorSmartInstantiationAwareBeanPostProcessor 本文源码基于spring-beans-5.3.31 参考:https://docs.spring.io/spring-framework/reference/core/beans/factory-extension.html#beans…...
Qualitor processVariavel.php 未授权命令注入漏洞复现(CVE-2023-47253)
0x01 漏洞概述 Qualitor 8.20及之前版本存在命令注入漏洞,远程攻击者可利用该漏洞通过PHP代码执行任意代码。 0x02 复现环境 FOFA:app"Qualitor-Web" 0x03 漏洞复现 PoC GET /html/ad/adpesquisasql/request/processVariavel.php?gridValoresPopHi…...
罚到肉疼!2026“两个细则”大考:你的风电场还在用“注定不准”的方法做预测吗?
当95%置信概率成为国家标准,单点预测的时代彻底终结2026年的春天,对于新能源发电企业而言,比以往任何时候都要“寒冷”。山东、四川等地新版“两个细则”正式施行,国家发改委“136号文”深入落地,新能源全面进入电力市…...
OpenClaw怎么集成?OpenClaw移动云小白6分钟搭建及使用指南【最新!】
OpenClaw怎么集成?OpenClaw移动云小白6分钟搭建及使用指南【最新!】。OpenClaw怎么部署?本文面向零基础用户,完整说明在轻量服务器与本地Windows11、macOS、Linux系统中部署OpenClaw(Clawdbot)的流程&#…...
掌握Web AR开发:从痛点到实战的AR.js技术指南
掌握Web AR开发:从痛点到实战的AR.js技术指南 【免费下载链接】AR.js Image tracking, Location Based AR, Marker tracking. All on the Web. 项目地址: https://gitcode.com/gh_mirrors/arj/AR.js Web AR开发痛点与解决方案 开发增强现实应用时࿰…...
Flowable 7.x 实战:手把手教你从数据库里捞出BPMN2.0 XML并优雅展示(Vue3 + Spring Boot)
Flowable 7.x 实战:从数据库提取BPMN2.0 XML的工程化实现(Vue3 Spring Boot全链路解析) 在流程引擎的实际应用中,BPMN2.0 XML作为流程定义的标准化载体,其可视化展示能力直接影响开发调试效率。本文将完整演示如何构建…...
SWF逆向工程认证培训师手册:基于JPEXS Free Flash Decompiler的教学指南
SWF逆向工程认证培训师手册:基于JPEXS Free Flash Decompiler的教学指南 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler JPEXS Free Flash Decompiler是一款开源的Flash SWF…...
Simcenter Amesim 2023与Matlab 2023a联合仿真:从环境配置到实战例程详解
1. 联合仿真环境搭建前的准备工作 在开始Simcenter Amesim 2023与Matlab 2023a的联合仿真之前,我们需要做好充分的准备工作。这就像盖房子前要打好地基一样重要,否则后续工作可能会遇到各种意想不到的问题。 首先说说硬件要求。根据我的实测经验…...
Cosmos-Reason1-7B企业应用案例:研发团队用它做内部技术文档逻辑校验与补全
Cosmos-Reason1-7B企业应用案例:研发团队用它做内部技术文档逻辑校验与补全 1. 引言:技术文档的“逻辑陷阱”与AI解法 想象一下这个场景:你所在的研发团队刚刚完成了一个新模块的开发,需要撰写一份详细的技术设计文档。文档洋洋…...
SpringBoot+Vue实战:手把手教你搭建社区居民健康档案管理系统(附完整源码)
SpringBootVue实战:从零构建社区居民健康档案管理系统 在数字化转型浪潮下,社区卫生服务正经历着从纸质档案到智能化管理的转变。对于Java开发者而言,这不仅是技术练兵的好机会,更是解决实际社会需求的切入点。本文将带你用Spring…...
MultiHighlight插件深度解析:掌握代码高亮的艺术与科学
MultiHighlight插件深度解析:掌握代码高亮的艺术与科学 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 在复杂…...
Atomics探究(四)-- atomic flag
本篇将研究atomic_flag相关函数底层汇编指令,以及与其他原子操作函数进行比较,探讨其存在的意义。 1、标准描述: 2、定义 gcc 头文件中定义如下 typedef _Atomic struct { #if __GCC_ATOMIC_TEST_AND_SET_TRUEVAL == 1_Bool __val; #elseunsigned char __val; #endif } at…...
