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

一个局域网通过NAT访问另一个地址重叠的局域网(IP方式访问)

d986ca932ebf59ccacd8251967369647.gif

正文共:1335 字 7 图,预估阅读时间:4 分钟

现在,我们已经可以通过调整两台设备的组合配置地址重叠时,用户如何通过NAT访问对端IP网络?或仅调整一台设备的配置仅操作一台设备,如何实现本地访问另一个相同网段的私网?,来实现一个局域网通过IP地址访问另一个地址重叠的局域网。

之前的案例中,我们模拟的是专线互访,但是实际应用中,专线场景可能比较少的出现这种情况。但是现在的SD-WAN场景SD-WAN网络中的IPsec流量是怎么转发的?我给你简单演示一下就不一样了,出现的概率就高了很多。那在SD-WAN网络中,如果出现这种问题要怎么解决呢?

0e15994aa90d1c9d756bbcee62b0a5d5.png

组网需求

ec0cadcbaf1dd7263719198d875b9aed.png

1、某公司有两个办公点,内网网段地址均为10.1.1.0/24,现在通过SD-WAN方案将两个办公点内网打通,但是因为有生产业务,不能改变主机地址。

2、该公司拥有组网图中所有地址段的所有地址的使用权。

3、需要实现,PCA能够访问PCB。

27dc58e0f7fd5dc99631ca7eb743ba26.png

组网图

一个局域网通过NAT访问另一个地址重叠的局域网(IP访问)

4c979dcf1ccdea202740131e22e2ec65.png

8a33eaf0687d54590ec736b1765537c7.png

实验环境

Windows 10专业版(1909-18363.1556,16 GB内存)
HCL 3.0.1
MSR 36-20(Version 7.1.064, Release 0821P11)

8aa6ccc5d98fe3846364edde0fe39bee.png

配置思路

d985837956ee3be4f7aa04277748fdb9.png

首先回顾RFC2401(IPsec:互联网协议的安全架构),我们知道IPsec仅仅是一种安全封装,他是在接口上对报文做安全封装,自身并不是接口。如果我们将前两个案例中的中间线路替换为IPsec,则在设备上行口不能再做NAT转换了,这种场景我们已经有了结论,无法实现访问。

那我们可以想一下之前的IPsec和GRE组合使用的场景,我们可以将RTA和RTB使用GRE打通,再使用IPsec进行封装即可。

2731757b4f01ae2d8f408c407c0afc89.png

配置步骤

d34173b0a6de8398cd2bbbb402907b1d.png

按照配置思路,直接上使用GRE+NAT实现访问的配置,此时尚未做IPsec封装。

8cf0b833e17a11de8574a83366d23d9b.png

RTA

#
sysname RTA
#
nat static outbound 10.1.1.2 20.1.1.2
#
policy-based-route NAT permit node 1if-match acl 3402apply next-hop 13.1.1.3
#
interface GigabitEthernet0/0ip address 10.1.1.1 255.255.255.0nat static enableip policy-based-route NAT
#
interface GigabitEthernet0/1ip address 12.1.1.1 255.255.255.0
#
interface Tunnel1 mode greip address 13.1.1.1 255.255.255.0source 12.1.1.1destination 23.1.1.3nat outbound
#
ip route-static 23.1.1.0 24 12.1.1.2
#
acl advanced 3402rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

6f5c64aa85cccda1a0eff3a063a77f0a.png

ISP

#
sysname ISP
#
interface GigabitEthernet0/0ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/1ip address 23.1.1.2 255.255.255.0

b4f1fa7e484b8aa1b05978e85e8ca135.png

RTB

#
sysname RTB
#
interface GigabitEthernet0/0ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/1ip address 23.1.1.3 255.255.255.0
#
interface Tunnel2 mode greip address 13.1.1.3 255.255.255.0source 23.1.1.3destination 12.1.1.1
#
ip route-static 12.1.1.0 24 23.1.1.2

b772155a2397508dd3abb8cd6449f88f.png

验证配置

d119fc023aeea575ff4fc28f7b4de5a7.png

测试从PCA使用地址20.1.1.2访问PCB,发现可以访问,TTL值为253。

efa4732529e0b7371c9000214dbc20ec.png

在RTA上查看报文处理过程。

621b772642ac9eceacfaf23083f86e57.png

1、从接口G0/0收到报文,源地址10.1.1.2,目的地址20.1.1.2;

2、在入接口上做NAT转换,源地址10.1.1.2,目的地址10.1.1.2;

3、匹配策略路由,将报文转发到接口Tunnel1;

4、在出接口上做NAT转换,源地址13.1.1.1,目的地址10.1.1.2,并发出报文;

5、从接口Tunnel1收到报文,源地址10.1.1.2,目的地址13.1.1.1;

6、匹配接口Tunnel1的NAT会话,做NAT转换,源地址10.1.1.2,目的地址10.1.1.2,将报文转发到接口G0/0;

7、匹配接口G0/0的NAT会话,做NAT转换,源地址20.1.1.2,目的地址10.1.1.2,并发出报文。

此时看一下RTA发出的报文,报文内容一览无遗。

2c26ed25d48288eb7760584aebaaa756.png

那接下来就是做IPsec封装了,这里我们应该用GRE over IPsec,而且我们也看到了保护流量应该是接口Tunnel1的地址(13.1.1.1/24)到对方私网(10.1.1.2/24)的流量。直接上配置:

1e8a0d44b9e47e438e9e787a19a47efd.png

RTA

#
acl advanced 3403rule 0 permit ip source 13.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
#
ipsec transform-set TRANesp encryption-algorithm 3des-cbcesp authentication-algorithm sha1
#
ipsec policy nat 10 isakmptransform-set TRANsecurity acl 3403remote-address 13.1.1.3
#
ike keychain KEYpre-shared-key address 13.1.1.3 24 key simple nat
#
interface Tunnel1 mode greipsec apply policy nat

7390dce37db3b03272ae85c08572ed2b.png

RTB

#
acl advanced 3403rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 13.1.1.0 0.0.0.255
#
ipsec transform-set TRANesp encryption-algorithm 3des-cbcesp authentication-algorithm sha1
#
ipsec policy nat 10 isakmptransform-set TRANsecurity acl 3403remote-address 13.1.1.3
#
ike keychain KEYpre-shared-key address 13.1.1.1 24 key simple nat
#
interface Tunnel2 mode greipsec apply policy nat

查看RTA发出的报文情况。

2d7e4c7723dd87991726f5f5361f91d8.png

可以看到,有ISAKMP主模式协商的过程,然后是ESP封装报文。

查看RTA上的IKE SA信息。

33b3c055cbc26e9f739e1674ef050ef4.png

查看RTA上的IPsec SA信息。

74fb79bd6131abe3f0c5c48e58cb387b.png

怎么样?你学废了吗?

后台回复“20211213”获取本案例的HCL工程文件。

07f30ef793e5777682ec27499e0f35d5.gif

长按二维码
关注我们吧

6b295325cc51660fe297ccd70343eacf.jpeg

95b290943903ed2fe932e14edc1e34d2.png

仅操作一台设备,如何实现本地访问另一个相同网段的私网?

地址重叠时,用户如何通过NAT访问对端IP网络?

秀啊!Win 11竟然教我怎么使用Windows!

IKE中NAT-Traversal的协商

多分支NAT穿越场景下通过POP节点实现分支间的IPsec加密互联

NAT穿越场景下怎么实现从总部到分支的访问?

http://www.lryc.cn/news/527807.html

相关文章:

  • 05-机器学习-数据标注
  • LQ1052 Fibonacci斐波那契数列
  • AWTK 骨骼动画控件发布
  • 分库分表后如何进行join操作
  • arkui-x 前端布局编码模板
  • 宝塔面板SSL加密访问设置教程
  • c++ set/multiset 容器
  • 前部分知识复习02
  • 开发环境搭建-3:配置 JavaScript 开发环境 (fnm+ nodejs + pnpm + nrm)
  • kotlin内联函数——let,run,apply,also,with的区别
  • 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
  • 数据结构与算法-要点整理
  • Fort Firewall:全方位守护网络安全
  • Nginx实战技巧(Practical Tips for nginx)
  • YOLOv8:目标检测与实时应用的前沿探索
  • 解锁数字经济新动能:探寻 Web3 核心价值
  • Lua 环境的安装
  • Object类(2)
  • 汽车网络信息安全-ISO/SAE 21434解析(中)
  • fatal error C1083: ޷[特殊字符]ļ: openssl/opensslv.h: No such file or directory
  • C#System.Threading.Timer定时器意外回收注意事项
  • 20.Word:小谢-病毒知识的科普文章❗【38】
  • vue3底层原理和性能优化
  • Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
  • 金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南
  • springboot 动态线程池
  • 【PySide6快速入门】qrc资源文件的使用
  • 【creo】CREO配置快捷键方式和默认单位
  • STM32使用VScode开发
  • 数据结构与算法再探(六)动态规划