NAT网络地址转换

news2024/12/23 8:52:58

1.前言

随着网络设备的数量不断增长,对IPv4地址的需求也不断增加,导致可用IPv4地址空间逐渐耗尽。解决IPv4地址枯竭问题的权宜之计是分配可重复使用的各类私网地址段给企业内部或家庭使用。但是,私有地址不能在公网中路由,即私网主机不能与公网通信,也不能通过公网与另外一个私网通信。

NAT(Network Address Translation)是将IP数据报报头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。NAT一般部署在连接内网和外网的网关设备上。当收到的报文源地址为私网地址、目的地址为公网地址时,NAT可以将源私网地址转换成一个公网地址。这样公网目的地就能够收到报文,并做出响应。此外,网关上还会创建一个NAT映射表,以便判断从公网收到的报文应该发往的私网目的地址。

在这里插入图片描述

NAT的优点:

  • 有效避免来自外网的攻击,可以很大程度上提高网络安全性
  • 控制内网主机访问外网,同时也控制外网主机访问内网,解决了内网与外网不能互通的问题。

2.NAT的类型

2.1 静态NAT

在本示例中,源地址为192.168.1.1的报文需要发往公网地址100.1.1.1。在网关RTA上配置了一个私网地址192.168.1.1到公网地址200.10.10.1的映射。当网关收到主机A发送的数据包后,会先将报文中的源地址192.168.1.1转换为200.10.10.1,然后转发报文到目的设备。目的设备回复的报文目的地址是200.10.10.1。当网关收到回复报文后,也会执行静态地址转换,将200.10.10.1转换成192.168.1.1,然后转发报文到主机A。和主机A在同一个网络中其他主机,如主机B,访问公网的过程也需要网关RTA做静态NAT转换。
在这里插入图片描述

  • 如果希望一台主机优先使用某个关联地址,或者想要外部网络使用一个指定的公网地址访问内部服务器时,可以使用静态NAT
  • 但这种一对一的IP地址映射无法缓解公用地址短缺的问题

2.2 动态NAT

本示例中,当内部主机A和主机B需要与公网中的目的主机通信时,网关RTA会从配置的公网地址池中选择一个未使用的公网地址与之做映射。每台主机都会分配到地址池中的一个唯一地址。当不需要此连接时,对应的地址映射将会被删除,公网地址也会被恢复到地址池中待用。当网关收到回复报文后,会根据之前的映射再次进行转换之后转发给对应主机。
在这里插入图片描述

  • 动态NAT地址池中的地址用尽以后,只能等待被只占用的公网地址被释放后,其他主机才能使用它来访问公网。

2.3 端口NAT - NAPT

本例中,RTA收到一个私网主机发送的报文,源IP地址是192.168.1.1,源端口号是1025,目的IP地址是100.1.1.1,目的端口是80。RTA会从配置的公网地址池中选择一个空闲的公网IP地址和端口号,并建立相应的NAPT表项。这些NAPT表项指定了报文的私网IP地址和端口号与公网IP地址和端口号的映射关系。之后,RTA将报文的源IP地址和端口号转换成公网地址200.10.10.1和端口号2843,并转发报文到公网。当网关RTA收到回复报文后,会根据之前的映射表再次进行转换之后转发给主机A。主机B同理
在这里插入图片描述

  • NAPT(Network Address Port Translation),也称NAT-PT或PAT,网络地址端口转换,允许多个私网地址映射到同一个公网地址的不同端口
  • 通常适用于大型企业网络(申请多个固定的公网地址)
  • 当端口不固定的时候可以用Easy IP
  • 相比动态NAT多个利用同一地址的内部主机不能同时上网,可以实现多个内部主机同时上网

2.4 NAT服务器

指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的读物起需要对公网提供服务时使用
在这里插入图片描述

  • NAT具有“屏蔽”内部主机的作用,但有时内网需要向外网提供服务
  • 当外网用户访问内网服务器时,NAT Servce 事先通过配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址+端口号”根据映射关系替换成对应的“私网IP地址+端口号”

3 NAT配置

3.1 静态NAT

方式一:接口视图下配置静态NAT

[Huawei-GigabitEthernet0/0/0] nat static gldbal {global-address} inside {host-address }

global参数用于配置外部公有地址,inside参数用于配置内部私有地址。

方式二:系统视图下配置静态NAT

[Huawei] nat static global { global-address} inside {host-address }

配置命令相同 ,视图为系统视图,之后在具体的接口下开启静态NAT。

[Huawei-GigabitEthernet0/0/0] at static enable

在接口下使能nat static功能。

3.2 动态NAT

1. 创建地址池

[Huawei] nat address-group group-index start-address end-address

配置公有地址范围,其中group-index为地址池编号,start-address、end-address分别为地址池起始地址、结束地址。

2. 配置地址转换ACL规则

[Huaweil acl number
[Huawei-acl-basic-number ] rule permit source source-address source-wildcard

配置基础ACL,匹配需要进行动态转换的源地址范围。

3. 接口视图下配置带地址池的NAT Outbound

[Huawei-GigabitEthernet0/0/0] nat outbound acl-number address-group group-index [ no-pat ]

接口下关联ACL与地址池进行动态地址转换,no-pat参数指定不进行端口转换。

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

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

相关文章

数据结构,Map和Set的使用方法

在数据结构中我们经常会使用到 Map 和 Set ,Map 和 Set 到底是什么,它怎样去使用呢?因此博主整理出 Map 和 Set 这两个接口的介绍与使用方法。 目录 1. 啥是Map和Set? 1.1 Map和Set的模型 2. Map的使用 2.1Map的说明 2.2 Java中Map常用…

【C++】列表初始化声明范围forSTL容器新变化

文章目录 什么是C11列表初始化**C98中{}的初始化**内置类型的列表初始化 关于initializer_list使用场景: 声明auto-变量类型推导decltype类型推导nullptr 范围forSTL的新变化新容器:容器中的一些新方法 什么是C11 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C…

Java 输出机制 数据类型

目录 一、输出机制 1.print和println的差别 2.可接收不同类型参数 3.输出函数中 符号的使用 二、Java 数据类型 1.整型类型 2.浮点类型 3.字符类型 三、基本数据类型转换 1.自动类型转换 2.强制类型转换 3.练习题 四、基本数据类型和String类型的转换 1.基本类…

【LeetCode】 309.最佳买卖股票时机含冷冻期

309.最佳买卖股票时机含冷冻期(中等) 思路 状态定义 一、很容易想到四种状态: a.今天买入;b.今天卖出;c.昨天卖出,今天处于冷冻期,无法进行操作;d.今天不操作,处于持有…

SD卡变成RAW格式怎么办?SD卡RAW格式的解决办法

使用SD卡的小伙伴有没有遇到这种情况,SD卡无法访问提示格式化,查看SD卡的属性发现文件系统类型变成RAW格式,而非之前的NTFS或FAT32格式。那么当SD卡变成raw格式怎么办?如果里面有重要数据怎么办?SD卡RAW格式怎么恢复数…

【Java】什么是SOA架构?与微服务有什么关系?

文章目录 服务化架构微服务架构 我的一个微服务项目,有兴趣可以一起做 服务化架构 我们知道,早期的项目,我们都是把前后端的代码放在同一个项目中,然后直接打包运行这个项目,这种项目我们称之为单体项目,比…

m4a怎么转换成mp3的4种方法值得收藏

m4a怎么转换成mp3?首先我们得了解m4a是什么格式。m4a是MPEG-4音频标准的文件扩展名,它是一种音频格式,由苹果公司推出。该格式的音质没有损失,且不受版权保护,因此可以进行自由编辑和转发。该格式的兼容性相对较弱&…

PIE-SAR软件自动化编译与发布

1.背景 SVN版本控制下多人协调编写代码,会经常性的提交新功能,修改完善已有功能。产品经理、测试人员需定期回归测试,确保禅道Bug已经修复,这就需要经常性地打包软件。为了节省编译时间,也方便产品经理可随时去取最新…

MiniGPT-4,开源了!

上个月GPT-4发布时,我曾写过一篇文章分享过有关GPT-4的几个关键信息。 当时的分享就提到了GPT-4的一个重要特性,那就是多模态能力。 比如发布会上演示的,输入一幅图(手套掉下去会怎么样?)。 GPT-4可以理解…

基于51单片机的差分双路电压检测(基于ADC0832)

文章目录 前言一、本文任务二、材料三、电路图四、代码解读1.引脚定义及参数2.定时器中断与延时开启3.数码管显示定义及ADC0832函数初始化4.数据转换及数码管显示5.主函数及定时器函数6.所有代码(就一个c文件) 总结 前言 博主终于又空出时间啦&#xff…

二战失利,剩下的路?

作者:阿秀 校招八股文学习网站:https://interviewguide.cn 这是阿秀的第「260」篇原创 小伙伴们大家好,我是阿秀。 欢迎今年参加秋招的小伙伴加入阿秀的学习圈,目前已经超过 2300 小伙伴加入!去年认真准备和走下来的基…

如何使用chatGPT生成小红书种草文案

如何使用chatGPT生成小红书种草文案 小红书拥有超千万的日活用户,为商家提供了广阔的变现空间和机会,成为商家选择在小红书上推广的原因之一。 小红书种草文案,例如具有影响力的热门话题、产品使用方法等内容可以让消费者迅速了解产品为品牌…

小米青春版路由器刷openwrt

下载小米路由器R1CL开发版 通过手动上传更新,更改固件版本 将之前地址栏URL中的 /web/home#router 替换为(密码为admin) /api/xqsystem/set_name_password?oldPwd123456789&newPwdadmin如果网页返回 {“code”:0} ,则说明修…

JAVA的BIO、NIO、AIO模式精解(一)

1. BIO、NIO、AIO介绍 在不同系统或进程间数据交互,或高并发场景下都选哟网络通信。早期是基于性能低下的同步阻塞IO(BIO)实现。后支持非阻塞IO(NIO)。 前置须知:javsse,java多线程,javaIO,java网络模型 目的&#xf…

[江西专升本/信息技术]计算机网络基础

1、概论 目前主要从资源共享观点定义计算机网络: 用通信路线和通信设备将分布在不同地点的具有独立功能的多个计算机系统相互连接起来,在功能完善的网络软件的支持下实现彼此之间的数据通信和资源共享的系统; 我们可以这么说,“…

effective c++ item30-34

item30:理解inline 1、inline函数 用inline修饰函数可以防止multiple definition的错误 // foo.h inline int foo(int x){ // 如果不加inline,在编译时会有两个foo.h被包含进去,导致链接出错static int n 1;return x * (n ); } // bar1.cpp #includ…

【车道线算法】GANet-车道线检测环境配置一文通关

目录 GANet配置全纪录 下载代码 conda环境部署 安装torch和cudatoolkit 安装其他包 编译 总结 GANet配置全纪录 下载代码 GitHub - Wolfwjs/GANet: A Keypoint-based Global Association Network for Lane Detection. Accepted by CVPR 2022 进入代码网址的默认master…

ArcGIS Pro工程

目录 1 工程基础架构 2 工程内容 3 新建工程及工程文件 3.1 工程模板 3.2 工程名称和位置 3.2.1 基于“地图模板”创建新工程 3.2.2 基于“目录模板”创建新工程 3.2.3 基于“全局场景”创建新工程 3.2.4 基于“局部场景”创建新工程 3.3 工程文件 3.3.1 默认地理…

子元素选择器

知识点&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" c…

【MySQL高级】——用户与权限管理

一、用户管理 <1> 登录 mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句"-h参数 后面接主机名或者主机IP&#xff0c;hostname为主机&#xff0c;hostIP为主机IP。 -P参数 后面接MySQL服务的端口&#xff0c;通过该参数连接…