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

锐捷—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隧道

相关文章:

  • golang学习笔记26-管道(Channel)【重要】
  • CSS中的font-variation-settings:探索字体的可变性
  • 鸿蒙开发(NEXT/API 12)【请求用户授权】手机侧应用开发
  • 计算机毕业设计 二手图书交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • SpringAOP实现的两种方式-JDK动态代理和CGLIB动态代理
  • 【TypeScript学习】TypeScript基础学习总结一
  • 数字教学时代:构建高效在线帮助中心的重要性
  • C嘎嘎入门篇:类和对象(2)
  • 基于JAVA Web的校园快递代领系统设计与实现(源码+定制+文档)
  • 基于单片机的温湿度检测判断系统
  • 无监督算法目标识别-工业异常检测模型Padim+PatchCore的C++_libtorch实现
  • 【Android】浅析六大设计原则
  • 拓扑结构的理解
  • NVIDIA G-Assist 项目:您的游戏和应用程序AI助手
  • 使用docker搭建zk集群
  • (三)从jvm层面了解线程的启动和停止
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Centos6.8 使用rpm安装mysql5.7
  • Cookie 在前端中的实践
  • java中具有继承关系的类及其对象初始化顺序
  • js ES6 求数组的交集,并集,还有差集
  • Linux Process Manage
  • Linux中的硬链接与软链接
  • overflow: hidden IE7无效
  • Promise初体验
  • SegmentFault 2015 Top Rank
  • vuex 学习笔记 01
  • 百度小程序遇到的问题
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 前端工程化(Gulp、Webpack)-webpack
  • 实现简单的正则表达式引擎
  • 使用common-codec进行md5加密
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 在Unity中实现一个简单的消息管理器
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​secrets --- 生成管理密码的安全随机数​
  • #define用法
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • #职场发展#其他
  • (1) caustics\
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (面试必看!)锁策略
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (十三)Flink SQL
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)socket Aio demo
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .apk文件,IIS不支持下载解决
  • .cn根服务器被攻击之后