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

fe0ac792410ccc3f0e22b17b2005bb0b.gif

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

书接上文(地址重叠时,用户如何通过NAT访问对端IP网络?),我们已经通过两台设备的组合配置实现了通过IP地址进行访问。但一般场景中,我们还是希望只变更尽量少的设备和配置,那如果我们只能操作一台设备是否可行呢?

59b226927e234d37ff3fca23a0fd362f.png

组网需求

0318541e1cc07db4a71e0ce8be4f4e8a.png

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

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

3、需要实现,A办公点能够访问B办公点主机。

8319348e47cc3eea5380adf78475a5cd.png

组网图

6f11cfd07d549efaab2a3afa464d5763.png

用户通过NAT访问对端网络配置组网图(地址重叠)

fb0831f080dadafe3f080f1755ff146e.png

62be5f6a4327012bbe41073881821e5b.png

实验环境

Windows 10专业版(1909-18363.1556,16 GB内存)
HCL 3.0.1
MSR 36-20(Version 7.1.064, Release 0821P11)
S5820V2-54QS-GE(Version 7.1.075, Alpha 7571)

3785082883fc0363dcf3e31f26e4741c.png

配置步骤

0723a0a3d45adbb2ee1efe29bc8603fc.png

首先按照组网图完成主机IP地址的基本配置。

我们先尝试将静态地址转换映射配置到RTA的下行口试一下。这次将实际的地址192.168.1.101和1.102映射为192.168.2.1和2.2。

#
nat static outbound 192.168.1.101 192.168.2.1
nat static outbound 192.168.1.102 192.168.2.2
#
interface GigabitEthernet0/0
 nat static enable
#
ip route-static 0.0.0.0 0 12.1.1.2
ip route-static 192.168.2.0 24 12.1.1.2

测试从PCA1访问192.168.2.1,发现可以访问,但是TTL不对。

5b3531ec7d7cea8a37de9f82118b419f.png

查看RTA的NAT转换过程,发现虽然增加了去往192.168.2.0/24的明细路由,但是静态转换是在G0/0接口完成的,流量并没有转发出设备,从G0/0口又回去了。

accc9f690f71d598ec3ca065b929aada.png

那就加个明细路由,让这个流量从G0/1口出去。

#
ip route-static 192.168.1.101 32 12.1.1.2

这个时候还是不通的,查看NAT转换过程貌似没有问题,但是因为明细路由的问题,RTA没办法将报文回给PCA1了。

e4dcc49f56dc4331d47335fbfc8ac015.png

此时PCA1就连访问网关都回不来。

bdfc6cf666da2fbe5ce38432de2eeb1b.png

看来明细路由不行,那就改成策略路由试一下。

#
acl advanced 3402
 rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
#
policy-based-route nat permit node 1
 if-match acl 3402
 apply next-hop 12.1.1.2
#
interface GigabitEthernet0/0
 nat static enable
 ip policy-based-route nat

再测试发现可以正常访问了,TTL值好像也正常了。

f55f72fd22bf0ba90ba39a6827754b24.png

从PCB1上确认一下,确实收到了源地址为12.1.1.1的请求报文。

604e7d9d812c1d72574ad9bd80a35dc8.png

再次从RTA的上行口查看NAT过程。

129c1af809b45d3927b4254c9af6d86e.png

可以看到,第一次转换之后,还是192.168.1.101请求192.168.1.101,但是策略路由将报文丢到了G0/1接口,这样一来,就进行了第二次转换,转换成了12.1.1.1请求192.168.1.101,转发正常。

这里我们考虑一下,出方向一对一静态地址转换通常应用在外网侧接口上,对于经该接口发送的请求报文,将其源IP地址转换为指定的公网地址;对于该接口接收到的请求报文,将匹配的目的IP地址转换为本地地址。

而入方向的一对一静态地址转换,对于该接口接收到的请求报文,将匹配的源IP地址转换为指定的IP地址;对于经该接口发送的请求报文,将匹配的目的IP地址转换为公网IP地址。

如果用nat inbound,那就只能转换源地址,不转换目的地址,主机还以为是请求的自身接口,报文都上送不到RTA。就算两个结合来用,RTA还是会因为目的地址的问题转发失败。

综合来看,在接口的入方向对源地址做转换意义不大,还增加了配置的工作量,所以一台设备上操作配置时,一对一静态映射 + SNAT + 策略路由,应该是不错的选择。

后台回复“20211212”获取本实验的HCL工程文件。

73feceab84b3c84e81f34276456d485a.gif

长按二维码
关注我们吧

3a497f87c24e26d782709f869d693636.jpeg

3560dd94ceb17734e0b30fb458fef334.png

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

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

Windows 11怎么激活?能不能跑模拟器?看这里!

NAT穿越场景下采用IKE野蛮模式建立保护IPv4报文的IPsec隧道

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/265039.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浏览器原理篇—渲染阻塞

渲染阻塞 1.DOM 的解析 html 文档 边加载边解析 的;网络进程和渲染进程之间会建立一个共享数据的管道,网络进程接收到数据实时传递给渲染进程,渲染进程的 HTML 解析器,它会动态接收字节流,并将其解析为 DOM 2.字节流…

SpringMVC系列之技术点定向爆破二

SpringMVC的运行流程 客户端发送请求 tomcat接收对应的请求 SpringMVC的核心调度器DispatcherServlet接收到所有请求 请求地址与RequestMapping注解进行匹配,定位到具体的类和具体的处理方法(封装在Handler中) 核心调度器找到Handler后交…

【LeetCode刷题笔记】前缀树

208. 实现 Trie (前缀树) 解题思路: 1. 前缀树 Map实现 ,使用一个 Map<Character, Trie> 来存储 每个字符 对应的 若干子节点 ,在构造函数中初始化 根节点 root 为 当前对象实例 , 在 插入

idea运行tocmat报错

1.检查环境变量是否配置正确。 网上有许多配置tomcat环境变量的方法&#xff0c;这里不再赘述。 2.判断是否有该情况&#xff1a; 在tomcat的bin目录下有三个bat文件(startup.bat,shutdown.bat,catalina.bat)&#xff0c;随意双击一个&#xff0c;会报出上述错误。但是右键使…

c语言:输出一个正方形|练习题

一、题目 输入长度num&#xff0c;输出一个边长为num的正方形 二、思路分析 1、输出的正方形分为三部分&#xff0c;包括&#xff1a; 2、第一行、中间的num-2行&#xff0c;以及最后一行 三、代码图片【带注释】 四、源代码【带注释】 #include <stdio.h> //思路&#…

【大数据】NiFi 中的 Controller Service

NiFi 中的 Controller Service 1.Service 简介1.1 Controller Service 的配置1.1.1 SETTING 基础属性1.1.2 PROPERTIES 使用属性1.1.3 COMMENT 页签 1.2 Service 的使用范围 2.全局参数配置3.DBCPConnectionPool 的使用样例4.在 ExcuseGroovyScript 组件中使用 Service 1.Servi…

【EasyExcel实践】万能导出,一个接口导出多张表以及任意字段(可指定字段顺序)-简化升级版

文章目录 前言正文一、项目简介二、核心代码2.1 pom.xml 依赖配置2.2 ExcelHeadMapFactory2.3 ExcelDataLinkedHashMap2.4 自定义注解 ExcelExportBean2.5 自定义注解 ExcelColumnTitle2.6 建造器接口 Builder2.7 表格工具类 ExcelUtils2.8 GsonUtil2.9 模版类 ExportDynamicCo…

【每日一题】得到山形数组的最少删除次数

文章目录 Tag题目来源解题思路方法一&#xff1a;最长递增子序列 写在最后 Tag 【最长递增子序列】【数组】【2023-12-22】 题目来源 1671. 得到山形数组的最少删除次数 解题思路 方法一&#xff1a;最长递增子序列 前后缀分解 根据前后缀思想&#xff0c;以 nums[i] 为山…

最新ChatGPT网站系统源码+AI绘画系统+支持GPT语音对话+详细图文搭建教程/支持GPT4.0/H5端系统/文档知识库

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

TYPE C 接口知识详解

1、Type C 概述 Type-C口有4对TX/RX分线&#xff0c;2对USBD/D-&#xff0c;一对SBU&#xff0c;2个CC&#xff0c;另外还有4个VBUS和4个地线。 当Type-C接口仅用作传输DP信号时&#xff0c;则可利用4对TX/RX&#xff0c;从而实现4Lane传输&#xff0c;这种模式称为DPonly模式…

C++ 检测 是不是 com组件 的办法 已解决

在日常开发中&#xff0c;遇到动态库和 com组件库的调用 无法区分。检测是否com组件的办法 在头部文件&#xff0c;引入文件 如果能编译成功说明是 com组件&#xff0c;至于动态库如何引入&#xff0c;还在观察中 #import "TerraExplorerX.dll" no_namespace, nam…

云原生之深入解析基于FunctionGraph在Serverless领域的FinOps的探索和实践

一、背景 Serverless 精确到毫秒级的按用付费模式使得用户不再需要为资源的空闲时间付费。然而&#xff0c;对于给定的某个应用函数&#xff0c;由于影响其计费成本的因素并不唯一&#xff0c;使得用户对函数运行期间的总计费进行精确的事先估计变成了一项困难的工作。以传统云…

TCP_滑动窗口介绍

简介 TCP协议中有两个窗口&#xff0c;滑动窗口和拥塞窗口&#xff0c;两者均是一种流控机制&#xff1b;滑动窗口是接收方的流控机制&#xff0c;拥塞窗口是发送方的流控机制。 本文介绍滑动窗口&#xff0c;接收方为TCP连接设置了接收缓存。当TCP连接接收到正确、按序的字节…

Mybatis3系列课程8-带参数查询

简介 上节课内容中讲解了查询全部, 不需要带条件查, 这节我们讲讲 带条件查询 目标 1. 带一个条件查询-基本数据类型 2.带两个条件查询-连个基本数据类型 3.带一个对象类型查询 为了实现目标, 我们要实现 按照主键 查询某个学生信息, 按照姓名和年级编号查询学生信息 按照学生…

MyBatis中延迟加载,全局和局部的开启使用与关闭

文章目录 MyBatis中延迟加载&#xff0c;全局和局部的开启使用与关闭1、问题提出2、延迟加载和立即加载延迟加载立即加载 3、三种对应的表关系中的加载4、打开全局延迟加载&#xff08;实现一对一的延迟加载&#xff09;5、实现一对多的延迟加载&#xff08;将上面设置的全局延…

渲染控制之条件渲染

目录 1、使用规则 2、更新机制 3、使用if进行条件渲染 4、if ... else ...语句和子组件状态 5、嵌套if语句 ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态&#xff0c;使用if、else和else if渲染对应状态下的UI内容。 1、使用规则 支持if、else和else if语句…

pip 常用指令 pip list 命令用法介绍

&#x1f4d1;pip 常用命令归类整理 pip list 是一个用于列出已安装的 Python 包的命令。这个命令会显示出所有已安装的包&#xff0c;以及它们的版本号。 pip list 命令有以下参数 -o, --outdated&#xff1a;列出所有过时的包&#xff0c;即有新版本可用的包。-u, --uptod…

DPDK单步跟踪(3)-如何利用visual studio 2019和visual gdb来单步调试dpdk

准备工作 因为时间的关系&#xff0c;我想到哪说到哪&#xff0c;可能没那么高的完成度。 但其实有心的人&#xff0c;看到这个标题&#xff0c;就关了本文自己能做了。 why和how to build debug version DPDK,见前两篇。这里我们准备开始。 首先&#xff0c;你有一台linux机…

什么是“人机协同”机器学习?

“人机协同”&#xff08;HITL&#xff09;是人工智能的一个分支&#xff0c;它同时利用人类智能和机器智能来创建机器学习模型。在传统的“人机协同”方法中&#xff0c;人们会参与一个良性循环&#xff0c;在其中训练、调整和测试特定算法。通常&#xff0c;它的工作方式如下…

《软件方法(下)》8.2.4 类和属性的命名

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.2 建模步骤C-1 识别类和属性 8.2.4 类和属性的命名 8.2.4.2 关于DDD话语中的“通用语言” DDD&#xff08;领域驱动设计&#xff09;话语中有“通用语言&#xff08;Ubiquitous L…