【华为】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、管理…

继承与组合

【一】什么是继承 继承就是创建新类的一种方式&#xff0c;这个新类可以继承一个或者多个其他类的属性 新的类如果有自己属性&#xff0c;那就叫派生 【二】继承的优点 可以继承父类的所有属性和方法&#xff0c;这样就可以实现代码去重。 【三】继承方式 单继承&#xff…

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 …

2.开始学习C++

开始学习C 写在前面创建C程序1.输入输出2.main()函数3.头文件4.名称空间 C其他语句1.cin2.类3.函数4.自定义函数 写在前面 每次写读书笔记之前我都打算先写一会自己的心得&#xff0c;或者一些前情提要。先说说为什么要写这个读书心得吧。 首先是自己摆烂太久了&#xff0c;从…

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格式。 属性: 属性属性值…

深度学习学习日记(5.6)

在 ViT&#xff08;Vision Transformer&#xff09;模型中&#xff0c;输入图像被分割成固定大小的图块&#xff0c;然后通过一个线性变换&#xff08;通常是一个卷积层&#xff09;来将每个图块投影到一个较低维度的特征空间。这些投影后的图块被视为序列&#xff0c;然后输入…

【linux软件基础知识】-kobject结构

设备驱动模型中的一个基本结构kobject kobject结构是Linux内核设备驱动模型中的一个基本结构。设备驱动模型中的各种对象其内部都会包含一个kobject ,地位相当于面向对象思想中的总基类, 它充当设备驱动程序模型中各种对象的公共基础,并为这些对象提供基本功能。 以下是有…

MATLAB算法实战应用案例精讲-【数模应用】正态性检验(附R语言代码实现)

目录 前言 几个高频面试题目 正态性检验的几个知识点 知识储备

解决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用的不是特别…

算法提高之股票买卖 V

算法提高之股票买卖 V 核心思想&#xff1a;状态机 一共有三种情况 &#xff1a; 空仓&#xff0c;持仓&#xff0c;冻结期f[i,j]表示第i天的状态j状态计算&#xff1a; 如下 #include <iostream>#include <cstring>#include <algorithm>using namespace …

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

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