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

一个局域网通过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 1
 if-match acl 3402
 apply next-hop 13.1.1.3
#
interface GigabitEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 nat static enable
 ip policy-based-route NAT
#
interface GigabitEthernet0/1
 ip address 12.1.1.1 255.255.255.0
#
interface Tunnel1 mode gre
 ip address 13.1.1.1 255.255.255.0
 source 12.1.1.1
 destination 23.1.1.3
 nat outbound
#
ip route-static 23.1.1.0 24 12.1.1.2
#
acl advanced 3402
 rule 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/0
 ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/1
 ip address 23.1.1.2 255.255.255.0

b4f1fa7e484b8aa1b05978e85e8ca135.png

RTB

#
sysname RTB
#
interface GigabitEthernet0/0
 ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet0/1
 ip address 23.1.1.3 255.255.255.0
#
interface Tunnel2 mode gre
 ip address 13.1.1.3 255.255.255.0
 source 23.1.1.3
 destination 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 3403
 rule 0 permit ip source 13.1.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
#
ipsec transform-set TRAN
 esp encryption-algorithm 3des-cbc
 esp authentication-algorithm sha1
#
ipsec policy nat 10 isakmp
 transform-set TRAN
 security acl 3403
 remote-address 13.1.1.3
#
ike keychain KEY
 pre-shared-key address 13.1.1.3 24 key simple nat
#
interface Tunnel1 mode gre
 ipsec apply policy nat

7390dce37db3b03272ae85c08572ed2b.png

RTB

#
acl advanced 3403
 rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 13.1.1.0 0.0.0.255
#
ipsec transform-set TRAN
 esp encryption-algorithm 3des-cbc
 esp authentication-algorithm sha1
#
ipsec policy nat 10 isakmp
 transform-set TRAN
 security acl 3403
 remote-address 13.1.1.3
#
ike keychain KEY
 pre-shared-key address 13.1.1.1 24 key simple nat
#
interface Tunnel2 mode gre
 ipsec 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.kler.cn/a/523436.html

相关文章:

  • 图漾相机——C++语言属性设置
  • 区块链的数学基础:核心原理与应用解析
  • 文件上传2
  • 8639 折半插入排序
  • 马尔科夫模型和隐马尔科夫模型区别
  • [MySQL]事务的理论、属性与常见操作
  • 【YOLOv11改进- 注意力机制】YOLOv11+SCSA注意力机制(2024): 最新空间和通道协同注意力,助力YOLOv11有效涨点;包含二次创新
  • 力扣动态规划-13【算法学习day.107】
  • Julia Distributed(分布式计算)详解
  • 浅谈Linux的发展
  • iOS开发设计模式篇第二篇MVVM设计模式
  • ReactNative react-devtools 夜神模拟器连调
  • 【云安全】云原生-K8S-搭建/安装/部署
  • 【LeetCode: 941. 有效的山脉数组 + 双指针】
  • 学习数据结构(1)时间复杂度
  • CRM 微服务
  • LeetCode 119. 杨辉三角 II
  • PyCharm中Python打包工具不见了的解决方案
  • parametric_vector = linspace(0, 1, num_points);详细解释
  • 【Python百日进阶-Web开发-FastAPI】Day813 - FastAPI 响应模型
  • Linux——网络基础(1)
  • 基于SpringBoot的阳光幼儿园管理系统
  • MongoDB平替数据库对比
  • DeepSeek:突破传统的AI算法与下载排行分析
  • 输出国际象棋棋盘
  • GBase 8a 9.5.3.27 DBlink配置---源端GBase