【华为】NAT的分类和实验配置

【华为】NAT的分类和实验配置

  • NAT产生的技术背景
  • IP地址分类
  • NAT技术原理
  • NAT分类
    • 静态NAT
    • 动态NAT
    • NAPT
    • Easy IP(PAT)
    • NAT Server
  • 配置
    • 拓扑
      • 静态NAT
        • 测试
        • 抓包
      • 动态NAT
        • 测试
        • 抓包
      • NAPT
        • 测试
        • 抓包
      • PAT
        • 测试
        • 抓包
      • NAT Server
        • 检测
        • 抓包
      • PC1
      • PC2
      • 服务器

在这里插入图片描述

NAT产生的技术背景

随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。
同时IPV4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。
一方面NAT缓解IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性

IP地址分类

公有地址: 公有地址是互联网上全局唯一且可访问的地址,就是可以直接上网,由Internet NIC(Internet Network Information Center,因特网信息中心)负责分配和管理。
私有地址: 私有地址则是一类特殊的IPv4地址,主要用于内部网络(如企业局域网、家庭网络等)之间的通信。这些地址在公共互联网上不被识别和使用,因此不能直接从互联网上进行访问。

A、B、C类地址中格预留一些地址专门作为私有地址:
A类:10.0.0.0 - 10.255.255.255
B类:172.16.0.0 - 172.31.255.255
C类:192.168.0.0 - 192.168.255.255

NAT技术原理

NAT是将IP数据报文头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。

NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。

通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。

NAT分类

静态NAT

静态NAT通过建立一对一的地址映射关系来实现内外网之间的通信。
内部主机的私有IP地址被手动配置映射到一个公有IP地址。当内部主机发送数据包时,NAT设备会检查数据包的源IP地址,并在静态NAT转换表中查找与源IP地址匹配的映射规则。
将内接口192.168.10.1 转换成 全局接口IP(公有IP地址) 202.101.1.100
在这里插入图片描述

动态NAT

动态NAT使用地址池中的公有IP地址来动态地为内部网络的主机分配地址。
当内部主机需要访问外部网络时,NAT设备会从地址池中选取一个未使用的公有IP地址,并将其与内部主机的私有IP地址建立映射关系。
现网中几乎没有用,当作了解即可
在这里插入图片描述

NAPT

NAPT(Network Address Port Translation,网络地址端口转换)
NAPT是NAT的一种扩展形式,它允许多个内部主机共享一个公有IP地址,NAPT不仅转换IP地址,还转换TCP或UDP端口号

当内部主机向外部网络发送数据包时,NAPT设备会将源IP地址和源端口号替换为公有IP地址和一个不冲突的端口号,并在转换表中记录这个映射关系。
在这里插入图片描述

Easy IP(PAT)

实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于EasyIP没有地址池的概念,直接用出接口IP地址作为NAT转换的公有地址。

Easy IP适用于不具备固定公网IP地址的场景: 如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。

NAT Server

NAT Server是一种在NAT设备上实现的特定服务,它允许内部网络中的特定服务器通过公有IP地址暴露给外部网络。

指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网
当私有网络中的服务器需要对公网提供服务时使用。
外网主机主动访问[公有地址:端口]实现对内网服务器的访问。

外部网络的客户端可以通过这些公有IP地址访问内部服务器,而NAT设备会负责将外部请求转发给内部服务器,并将内部服务器的响应返回给外部客户端。
(就是能够从公网访问到我内部服务器)

配置

拓扑

在这里插入图片描述

静态NAT

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1[AR1]undo info-center enable 
Info: Information center is disabled.
##配置IP地址
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0] ip address 202.101.1.2 255.255.255.0 
[AR1-GigabitEthernet0/0/0]quit ## 1、全局下开启,需要在接口下调用
[AR1]nat static global 202.101.1.100 inside 192.168.10.1[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0] nat static enable'## 2、直接在接口下调用
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0]nat static global 202.101.1.100 inside 192.168.10.1'
测试

在这里插入图片描述

抓包

转换成功
在这里插入图片描述

动态NAT

配置步骤
① 先创建一个地址池
② 配置地址转换的ACL规则(感兴趣流量)
③ 接口视图下部署带地址池的NAT outbound(no-pat)

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1[AR1]undo info-center enable 
Info: Information center is disabled.
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0] ip address 202.101.1.2 255.255.255.0 
[AR1-GigabitEthernet0/0/0]quit ## 创建NAT地址池 1
[AR1]nat address-group 1 202.101.1.10 202.101.1.12## 创建ACL规则,匹配哪些流量可以进行地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule 10 permit source 192.168.10.0 0.0.0.255 
[AR1-acl-basic-2000]quit ## 进入接口视图下部署带地址池的NAT outbound,并关联ACL 2000
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 no-pat    
[AR1-GigabitEthernet0/0/0]quit
## no-pat参数指定不进行端口转换[AR1]ip route-static 0.0.0.0 0.0.0.0 202.101.1.1
测试

通信虽然成功了,但因为我们NAT地址池中只有三个公有地址,会导致ping包不够用,这个就是动态NAT的缺陷
我们在现网当中,常用的是NAPT和Easy IP,所以这个动态NAT当作一个了解就好
在这里插入图片描述

抓包

在抓到的数据包中会更明显
在这里插入图片描述

NAPT

配置步骤
① 先创建一个地址池
② 配置地址转换的ACL规则(感兴趣流量)
③ 接口视图下部署带地址池的NAT outbound

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1[AR1]undo info-center enable 
Info: Information center is disabled.
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0] ip address 202.101.1.2 255.255.255.0 
[AR1-GigabitEthernet0/0/0]quit ## 创建NAT地址池 1
[AR1]nat address-group 1 202.101.1.10 202.101.1.12## 创建ACL规则,匹配哪些流量可以进行地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule 10 permit source 192.168.10.0 0.0.0.255 
[AR1-acl-basic-2000]quit ## 进入接口视图下部署带地址池的NAT outbound,并关联ACL 2000
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1   ## 默认是端口转换
[AR1-GigabitEthernet0/0/0]quit[AR1]ip route-static 0.0.0.0 0.0.0.0 202.101.1.1
测试

这个就已经是5个报文全通了,和上面的动态NAT有区别了
NAPT是用一个公有IP地址的端口来进行转换,而伪端口又有很多个,所以完全够用
在这里插入图片描述

抓包

在这里插入图片描述

PAT

配置步骤
① 配置地址转换的ACL规则(感兴趣流量)
② 接口视图下部署NAT outbound

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1[AR1]undo info-center enable 
Info: Information center is disabled.
[AR1]interface GigabitEthernet0/0/0
[AR1-GigabitEthernet0/0/0] ip address 202.101.1.2 255.255.255.0 
[AR1-GigabitEthernet0/0/0]quit ## 创建ACL规则,匹配哪些流量可以进行地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule 10 permit source 192.168.10.0 0.0.0.255
[AR1-acl-basic-2000]quit ## 进入出接口部署 NAT outbound,并关联ACL 2000
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000
[AR1-GigabitEthernet0/0/0]quit[AR1]ip route-static 0.0.0.0 0.0.0.0 202.101.1.1
测试

在这里插入图片描述

抓包

直接将出接口IP地址202.101.1.2 拿来做端口转换
在这里插入图片描述

NAT Server

<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname AR1[AR1]undo info-center enable 
Info: Information center is disabled.
## 将192.168.10.100 端服务器地址端口8080 映射给 公网地址202.101.1.200 的 80 端口上
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0] ip address 202.101.1.2 255.255.255.0 
[AR1-GigabitEthernet0/0/0]nat server protocol tcp global 202.101.1.200 www insid
e 192.168.10.100 8080  
检测

在这里插入图片描述

抓包

能看到我的202.101.1.1 去ping 202.101.1.200 80 端口,就说明这个配置没有问题,只是模拟器的服务器不支持Telnet登入,所以才会导致失败,命令是没有问题的
在这里插入图片描述

PC1

在这里插入图片描述

PC2

在这里插入图片描述

服务器

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【管理篇】管理三步曲:团队建设(二)

目录标题 如何着手团队建设提升个人能力1、要提升员工的什么能力2、提升员工个人能力的初衷是什么&#xff1f;3、如何达成上述目标4、应该如何激发员工学习的动力和意愿呢5、关于提升员工的能力&#xff0c;有两个信念特别重要&#xff1a; 提升员工的工作意愿和积极性1、管理…

Spring与AI结合-spring boot3整合AI组件

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 spring ai简介 单独整合al接口 整合Spring AI组件 起步条件 ​编辑 进行必要配置 写在最后 写在前面 本文介绍了springboot开发后端服务中&#xff0c;AI组件(Spring A…

软件工程案例学习-图书管理系统-面向对象方法

文档编号&#xff1a;LMS_1 版 本 号&#xff1a;V1.0 ** ** ** ** ** ** 文档名称&#xff1a;需求分析规格说明书 项目名称&#xff1a;图书管理系统 项目负责人&#xff1a;计敏 胡杰 ** ** …

使用Docker安装MySql数据库

大家好&#xff0c;今天给大家分享一下如何使用docker安装MySql数据库&#xff0c;关于docker的安装和常用命令&#xff0c;大家可以参考下面两篇文章&#xff0c;本文中不做过多描述。 Docker在Windows与CentOS上的安装 Docker常用命令 一、拉取MySql数据库镜像 docker pul…

IIS部署vue项目 IIS重写URL

【第一步】安装IIS {1&#xff09;打开控制面板 -> 打开程序和功能 -> 打开启用或关闭windows功能 &#xff08;2&#xff09;找到 Internet Information Services 勾选【web管理工具】和【万维网服务】&#xff0c;然后 确定 【第二步】安装URL重写模块 1). 安装URL …

C++ | Leetcode C++题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; class Solution { public:void setZeroes(vector<vector<int>>& matrix) {int m matrix.size();int n matrix[0].size();int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for …

【笔试训练】day20

1.经此一役小红所向无敌 默认小红血量无限。直接计算出经过几轮攻击后&#xff0c;会出现人员伤亡。 对于对立来说他最多承受n轮光的攻击&#xff0c;对于光来说&#xff0c;他最多承受立得m轮攻击。 所以在经过min(n,m)轮回合之后&#xff0c;他们两个人至少死一个。活下来的…

html实现网页插入音频

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要介绍html中 如何插入音乐和视频 视频插入 标签:<video></video> 兼容格式:mp4,因为别的浏览器都有不兼容的格式&#xff0c;唯一对mp4全都兼容。所以尽量使用mp4格式。 属性: 属性属性值…

解决Win10家庭版找不到组策略gpedit.msc的·方法

因为电脑出问题&#xff0c;一开机就会自动开启ie浏览器&#xff0c;所以就想找有没有方法解决&#xff0c;然后就了解到了gpedit.msc的作用以及相关的一些方法&#xff0c;也是为之后也许有人遇到相同的问题有个提供方法的途径。 首先我们直接运行gpedit.msc 是找不到的&…

【Qt QML】QLibrary加载共享库中的类

QLibrary是一个用于加载动态链接库&#xff08;或称为共享库&#xff09;的类。它提供了一种独立于平台的方式来访问库中的功能。 在QLibrary中&#xff0c;可以通过构造函数或setFileName()方法设置要加载的库文件名。当加载库文件时&#xff0c;QLibrary会搜索所有平台特定的…

计算机网络【应用层】邮件和DNS

文章目录 电子邮件DNSDNS提供的服务&#xff1a;域名分级域名解析流程DNS资源记录DNS服务器类型 电子邮件 使用SMTP协议发送邮件之前&#xff0c;需要将二进制多媒体数据编码为ASCII码SMTP一般不使用中间邮件服务器发送邮件&#xff0c;如果收件服务器没开机&#xff0c;那么会…

【iOS】多线程

文章目录 前言一、多线程的选择方案二、GCD和NSOperation的比较二、多线程相关概念任务队列 三、死锁情况主队列加同步任务 四、任务队列组合主队列异步并发队列异步 前言 这两天将iOS的多线程的使用都看了一遍&#xff0c;iOS的多线程方案有许多&#xff0c;本篇博客主要总结…

流畅的python-学习笔记_符合python风格的对象

对象表示形式 查看对象说明&#xff0c;可以通过__repr__和__str__方法&#xff0c;前者主要用于开发者&#xff0c;后者主要用于用户&#xff0c;这两个方法分别对内置函数repr和str函数提供支持 向量类 备选构造方法 classmethod和staticmethod staticmethod用的不是特别…

基于鸢尾花数据集的四种聚类算法(kmeans,层次聚类,DBSCAN,FCM)和学习向量量化对比

基于鸢尾花数据集的四种聚类算法&#xff08;kmeans&#xff0c;层次聚类&#xff0c;DBSCAN,FCM&#xff09;和学习向量量化对比 注&#xff1a;下面的代码可能需要做一点参数调整&#xff0c;才得到所有我的运行结果。 kmeans算法&#xff1a; import matplotlib.pyplot a…

音视频开发3 视频基础,图片基础

图片像素&#xff08;Pixel&#xff09; 一张图片是由多少个 像素 构成的。 例如一张图片是由60x50组成的。 位深度 bit depth RGB表示法 红&#xff08;Red&#xff09;、绿&#xff08;Green&#xff09;、蓝&#xff08;Blue&#xff09; 除了24bit&#xff0c;常见的位深…

electron 通信总结

默认开启上下文隔离的情况下 渲染进程调用主进程方法&#xff1a; 主进程 在 main.js 中&#xff0c; 使用 ipcMain.handle&#xff0c;添加要处理的主进程方法 const { ipcMain } require("electron"); 在 electron 中创建 preload.ts 文件&#xff0c;从 ele…

在Linux上使用Selenium驱动Chrome浏览器无头模式

大家好&#xff0c;我们平时在做UI自动化测试的时候&#xff0c;经常会用到Chrome浏览器的无头模式&#xff08;无界面模式&#xff09;&#xff0c;并且将测试代码部署到Linux系统中执行&#xff0c;或者平时我们写个爬虫爬取网站的数据也会使用到&#xff0c;接下来和大家分享…

Elasticsearch初步认识

Elasticsearch初步认识 ES概述基本概念正向索引和倒排索引IK分词器ik_smart最少切分ik_max_word为最细粒度划分 ES索引库基本操作对索引库操作对文档操作 ES概述 Elasticsearch&#xff0c;简称为 ES&#xff0c;是一款非常强大的开源的高扩展的分布式全文检索引擎&#xff0c…

神经网络中的归一化

我们今天介绍一下神经网络中的归一化方法~ 之前学到的机器学习中的归一化是将数据缩放到特定范围内&#xff0c;以消除不同特征之间的量纲和取值范围差异。通过将原始数据缩放到一个特定的范围内&#xff0c;比如[0,1]或者[-1,1]&#xff0c;来消除不同特征之间的量纲和取值范围…

【前沿模型解析】一致性模型CM(一)| 离散时间模型到连续时间模型数学推导

文章目录 1 离散时间模型2 连续时间模型 得到 SDE 随机微分方程2.1 从离散模型到SDE的推理步骤 3 补充&#xff1a;泰勒展开近似 1 − β i \sqrt{1-\beta_i} 1−βi​ ​ CM模型非常重要 引出了LCM等一系列重要工作 CM潜在性模型的数学公式推导并不好理解 一步一步&#xf…