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

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


上个实验中(地址重叠的时候怎么使用NAT解决访问问题,看这里),我们通过搭配使用DNS ALG和nat inbound的方式,实现了内网用户通过NAT访问地址重叠的外网主机,主要配置点有3个:

1、搭配使用DNS ALG功能和nat inbound,对DNS服务器返回的IP地址进行地址转换,转换为非公网接口的IP地址;

2、使用nat outbound对内网访问外网的流量进行地址转换,和公网接口地址是否重叠影响不大;

3、需要增加去往对端地址转换后虚地址的明细路由,使得流量能从公网口发出。

但是考虑到很多时候的业务访问并不是使用域名的方式,而且也不是所有的主机都能直接支持NAT ALG功能,所以需要探讨一下使用IP地址进行转换的场景需求。

组网需求

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

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

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

组网图

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

实验环境

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)

配置思路

1、因为主要是从A办公点向B办公点发起访问,为保证B办公点能正常响应请求流量,所以RTA应该配置nat outbound转换请求的源地址。

2、可以在RTB上配置一对一静态映射,使得A办公点通过虚地址访问B办公点的主机。

3、也可尝试在RTA上配置一对一静态映射,使得A办公点通过虚地址访问B办公点的主机。

配置步骤

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

在RTA的上行口配置nat outbound。

#
interface GigabitEthernet0/1
 nat outbound

然后在RTB上配置一对一的静态映射,将实际的地址段192.168.1.0/24映射为192.168.2.0/24。(此处以两个内网地址192.168.1.101和1.102为例。)

首先注意到设备支持网段到网段的静态地址转换映射,那就先测试一下效果。

#
nat static outbound net-to-net 192.168.1.101 192.168.1.102 global 192.168.2.0 255.255.255.0
#
interface GigabitEthernet0/1
 nat static enable

从PCA1上测试对PCB1和PCB2的访问。

可以看到,网段到网段的静态地址转换映射是对相同掩码的主机地址进行转换,主机位地址是一样的,而不是从第一个开始,这样做会方便得多。

我们从RTB上看一下NAT记录。

可以看到,将访问192.168.2.101的流量的目的地址转换为了192.168.1.101,将访问192.168.2.102的流量的目的地址转换为了192.168.1.102,并且看到请求的源地址都是RTA的上行口地址12.1.1.1,访问成功。

如果设备不支持网段到网段的静态地址转换映射,也可以使用一对一的静态映射来实现。这次将实际的地址192.168.1.101和1.102映射为192.168.2.201和2.202。

#
 natstatic outbound 192.168.1.101 192.168.2.201
 natstatic outbound 192.168.1.102 192.168.2.202
#
interface GigabitEthernet0/1
 nat static enable

看一下访问结果,访问成功。

看一下RTB上的转换过程。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
9月前
|
C++
基于Reactor模型的高性能网络库之地址篇
这段代码定义了一个 InetAddress 类,是 C++ 网络编程中用于封装 IPv4 地址和端口的常见做法。该类的主要作用是方便地表示和操作一个网络地址(IP + 端口)
380 58
|
9月前
基于Reactor模式的高性能网络库github地址
https://github.com/zyi30/reactor-net.git
213 0
|
6月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
508 10
|
7月前
|
Shell 开发工具 git
使用代理访问网络各项命令总结
工作中常需设置代理,容易导致环境混乱。本文总结了 SourceTree 无法拉取代码的问题,排查了环境变量、Git 全局配置及系统代理设置,最终通过清除 Git 代理配置解决。内容涵盖排查步骤、命令整理及脚本处理,帮助快速定位并解决代理相关网络问题。
411 3
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
2131 7
|
11月前
|
域名解析 监控 网络协议
21.7K star!再见吧花生壳,没有公网ip,也能搞定所有网络访问!内网穿透神器NPS
“nps”是一款强大的内网穿透工具,支持多种协议与功能。它无需公网IP或复杂配置,可实现远程桌面、文件共享和私有云搭建等。项目采用Go语言开发,具有高性能与轻量级特点,适用于远程办公、物联网管理等场景。其核心亮点包括零配置穿透、多级代理网络、实时流量监控及企业级安全特性。对比同类工具,“nps”在安装复杂度、协议支持和管理界面方面表现优异。项目地址:https://github.com/ehang-io/nps。
2624 12
|
11月前
|
网络协议 安全 网络安全
NAT网络地址转换
NAT(网络地址转换)是一种关键的网络技术,通过将内部私有地址转换为外部公网地址,实现多设备共享单一公网IP上网。它不仅解决了IPv4地址不足的问题,还增强了网络安全,隐藏了内部网络结构。NAT主要分为静态NAT、动态NAT和NAPT(网络地址端口转换)三种类型,广泛应用于家庭和企业网络中。然而,NAT也存在对某些应用不友好、增加延迟及与IPv6不兼容等缺点。
1619 14
|
安全 程序员 Linux
全球头号勒索软件来袭!即刻严控网络访问
全球头号勒索软件来袭!即刻严控网络访问
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
883 2
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
2141 6