【华为】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
服务器
相关文章:

【华为】NAT的分类和实验配置
【华为】NAT的分类和实验配置 NAT产生的技术背景IP地址分类NAT技术原理NAT分类静态NAT动态NATNAPTEasy IP(PAT)NAT Server 配置拓扑静态NAT测试抓包 动态NAT测试抓包 NAPT测试抓包 PAT测试抓包 NAT Server检测抓包 PC1PC2服务器 NAT产生的技术背景 随着…...

拉普拉斯丨独家冠名2024年度ATPV技术分论坛,助力产业科技持续创新
为了进一步促进行业技术交流,推进光伏行业发展及标准建设的进程,针对高效电池,领跑组件,新产品认证及应用等技术专题及国内外光伏标准的最新进程,由中国绿色供应链联盟光伏专委会(ECOPV)指导的2…...
LangChain入门教程 - 使用代理Agent
对于大模型,比如某些场景,需要数学计算,或者需要从某些网站获取参考资料,就必须使用专门的代理来完成任务。这里我们使用langchain提供的数学工具来实现一个最简单的例子,下一篇我们会讲如何自己实现代理。 首先创建一…...
windows驱动开发-内核编程技术汇总(五)
使用安全字符串函数 和应用层不一样的是,windows内核完全使用Unicode字符串,许多支持AsciiC的windowsAPI,是在应用层完成项Unicode的切换的。许多系统安全问题是由缓冲区处理不善和生成的缓冲区溢出引起的。 糟糕的缓冲区处理通常与字符串操…...
Java中的optional类是啥和例子
Optional 是 Java 8 引入的一个容器对象,用于表示值存在或不存在。这是一个可以为 null 的容器对象,但使用 Optional 比直接使用 null 更安全,因为 Optional 类提供了许多有用的方法,以便更优雅地处理可能存在或不存在的值。 使用…...

AI大模型探索之路-训练篇16:大语言模型预训练-微调技术之LoRA
系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…...
mysql事务锁排查
-- mysql show full PROCESSLIST; -- 查看哪些表在锁。 show open tables where IN_use>0; -- 正在执行的事务: SELECT * FROM information_schema.INNODB_TRX;-- 8.0之前 查看正在锁的事务 select * from information_schema.innodb_locks;-- 查看等待锁的事务 …...

ChatGPT变懒原因:正在给自己放寒假!已被网友测出
ChatGPT近期偷懒严重,有了一种听起来很离谱的解释: 模仿人类,自己给自己放寒假了~ 有测试为证,网友Rob Lynch用GPT-4 turbo API设置了两个系统提示: 一个告诉它现在是5月,另一个告诉它现在是1…...

C#标签设计打印软件开发
1、新建自定义C#控件项目Custom using System; using System.Collections.Generic; using System.Text;namespace CustomControls {public class CommonSettings{/// <summary>/// 把像素换算成毫米/// </summary>/// <param name="Pixel">多少像素…...

Springboot+vue+小程序+基于微信小程序的在线学习平台
一、项目介绍 基于Spring BootVue小程序的在线学习平台从实际情况出发,结合当前年轻人的学习环境喜好来开发。基于Spring BootVue小程序的在线学习平台在语言上使用Java语言进行开发,在数据库存储方面使用的MySQL数据库,开发工具是IDEA。…...

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-13-按键实验
前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…...

ubuntu与redhat的不同之处
华子目录 什么是ubuntu概述 ubuntu版本简介桌面版服务器版 安装部署部署后的设置设置root密码关闭防火墙启用允许root进行ssh登录更改apt源安装所需软件 安装nginx安装apache网络配置Netplan概述配置详解配置文件DHCP静态IP设置设置 软件安装方法apt安装软件作用常用命令配置ap…...

三岁孩童被家养大型犬咬伤 额部撕脱伤达10公分
近期,一名被家养大型犬咬伤了面部的3岁小朋友,在被家人紧急送来西安国际医学中心医院,通过24小时急诊门诊简单救治后,转至整形外科,由主治医师李世龙为他实施了清创及缝合手术。 “患者额部撕脱伤面积约为10公分&…...
@click=“handleClick()“不会传递默认事件参数
当你使用click"handleClick()"这种形式绑定事件处理器时,Vue会将它视为一个函数调用,而不是一个事件监听器。在这种情况下,Vue不会自动传递原生事件对象作为默认参数。 如果你想让Vue自动传递原生事件对象作为默认参数,…...
KVM安装Ubuntu24.04简要坑点以及优点
本机环境是ubuntu22.04的环境,然后是8核16线程 ssd是500的 目前对于虚拟机的选择,感觉kvm确实会更加流畅,最重要的一点是简洁,然后实际安装效果也比较的好,如果对于速度方面希望快一点,并且流畅一点的话这…...

QT_day1
#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//修改窗口标题this->setWindowTitle("4.6.0");//修改窗口图标this->setWindowIcon(QIcon("C:\\Users\\zj\\Desktop\\yuanshen\\icon"));//修改窗口大小this…...

AWS宣布推出Amazon Q :针对商业数据和软件开发的生成性AI助手
亚马逊网络服务(AWS)近日宣布推出了一项名为“Amazon Q”的新服务,旨在帮助企业利用生成性人工智能(AI)技术,优化工作流程和提升业务效率。这一创新平台的推出,标志着企业工作方式的又一次重大变…...

C++:多继承虚继承
在C中,虚继承(Virtual Inheritance)是一种特殊的继承方式,用于解决菱形继承(Diamond Inheritance)问题。菱形继承指的是一个类同时继承自两个或更多个具有共同基类的类,从而导致了多个实例同一个…...

Linux进程间通信
每个进程的用户空间都是独立的,不能相互访问。 所有进程的内核空间(32位系统3G-4G)都是共享的 应用场景 作为缓冲区,处理速度不同的进程之间的数据传输资源共享:多个进程之间共享同样的资源,一个进程对共享数据的修改,…...
【二叉树算法题记录】222. 完全二叉树的节点个数
题目描述 给你一棵 完全二叉树 的根节点root ,求出该树的节点个数。 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...