IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 域内双向NAT技术 -> 正文阅读

[网络协议]域内双向NAT技术

域内双向NAT

实验目的

企业内部有需要想要将内网的HTTP Server中WEB服务映射到公网地址10.1.12.100的80端口上,一般该需求只需要我们部署NAT Server,就可以使得其他网络内的客户端通过公网地址10.1.12.100访问内网HTTP 服务器的目的。

此时如果我们内网客户端也想要通过该公网地址去访问HTTP Server,那么会出现错误导致无法访问。将HTTP Server的私网地址直接透露出来,也不利于保障WEB服务器的安全性。

本实验通过部署域内双向NAT,使得内网地址能够通过访问10.1.12.100(即映射出的公网地址)来达成访问HTTP Server的目的。

实验拓扑

)

图:域内双向NAT场景

正常情况下,我们需要将内网的HTTP Server映射到外网,以便其他网络内的主机对该地址进行资源访问。首先我们部署内网的映射配置,将内网HTTP Server(192.168.1.100)映射到10.1.12.100。并登录到Clietn3,测试Client3访问10.1.12.100

1、全网配置IP地址

Clietn 1 ip:192.168.1.2/24 GW 192.168.1.254(AR1的G0/0/0)
Clietn 3 ip:192.168.2.2/24 GW 192.168.2.254(AR2的G0/0/0)
AR1和AR2互联地址为10.1.12.1 和10.1.12.2。其余地址图内均有标识

2、在AR1和AR2的G0/0/1出接口上部署easy NAT,使得内网地址能够正常访问外网。

AR1和AR2的配置如下,就是双方的acl per地址网段有所差异。
[AR1]acl 2000
[AR1-acl-basic-2000]rule per sou 192.168.1.0 0.0.0.255
[AR1-acl-basic-2000]quit
//匹配source 地址为192.168.1.0/24

[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat outbound 2000
//配置easy NAT,使得内网地址能够成功访问外网

3、配置基本的NAT Server,将内网服务器映射到10.1.12.100,以便处于其他网络的Clietn3能够正常访问。

在AR1的G0/0/1出接口上进行如下配置:

AR1的G0/0/1出接口配置如下:
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat server pro tcp glo 10.1.12.100 80 inside 192.168.1.100 80
// 用于将内网的Server 映射到10.1.12.100 .

在经过上述部署后,Clietn3能够正常通过公网地址10.1.12.100 访问内部的HTTP Server,

内部HTTP Server的配置很简单,就是一个启用的过程,这里就直接跳过了。

此时我们验证其他域的Client3访问10.1.12.100能否正常通信。

图:Client3成功访问HTTP Server

此时Client3能够正常通过10.1.12.100访问内部的HTTP Server服务器,但我们本次实验是为了探究域内双向NAT的过程。我们查看域内Client1能否正常访问内部的HTTP Server服务器。

图:Client1无法访问HTTP Server

此时本次实验的重点来了,由于Client1访问10.1.12.100时,他会将HTTP请求给到网关(或者说是TCP连接请求)。到达网关时,网关发现目的地址是10.1.12.100(AR1的G0/0/1同网段地址),于是想要将该数据包从G0/0/1发出,不过G0/0/1接口上配置了NAT Server,发现转换后的地址是AR1的G0/0/0网段地址,那么该HTTP请求又从G0/0/0接口发回,G0/0/0接口上并没有配置NAT Server进行转换。所以此时的HTTP 请求数据包,Src ip是Client1地址,Dst 地址为10.1.12.100。但内网又没人是这个地址,于是该TCP请求被丢弃。

**备注:**可以通过抓包发现,AR1的G0/0/1出接口并无数据包,而G0/0/0的接口存在TCP无回应。

于是为了解决该一现象,我们可以在AR1的G0/0/0接口上通过配置转换,将Dst 10.1.12.100转换回服务器地址。使得Client1或域内其他客户端能够通过公网地址服务器的访问操作。

4、在AR1的G0/0/0接口上执行如下命令,完成 “域内双向NAT” 的部署。

[AR1]acl 3000
[AR1-acl-adv-3000]rule per tcp des 10.1.12.100 0
[AR1-acl-adv-3000]quit
//配置ACL 3000,匹配目标地址为10.1.12.100的数据。

[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat server pro tcp glo 10.1.12.100 80 inside 192.168.1.100 80
[AR1-GigabitEthernet0/0/0]nat outbound 3000
[AR1-GigabitEthernet0/0/0]

//在G0/0/0接口上也部署一个NAT Server转换。使得内网的HTTP请求数据包的目的地址能够转换成192.168.1.100

我们再次在Client1上面测试访问,看看能否成功通信!

图:Client1成功访问HTTP Server

成功完成通信!至此,域内双向NAT成功。

实验思考

Q:在AR1的G0/0/0上进行部署时,需要配置ez NAT,若不配置,通信是否正常?

Q:需要ez NAT的原因是:防止回包不经过网关接口而无法进行NAT server地址转换,若在交换机上部署隔离,能否正常通信呢?

Q:NAT的妙用可不止这些哦,各位可以好好想想。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 11:41:25  更:2021-07-10 11:41:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 15:15:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码