NAT基础一览

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: NAT基础一览

最近在研究安全测试相关的内容,安全测试和网络息息相关,网络中NAT又是一个重头戏。下面来详细整理了一些nat的基础内容:

  • 简介

NAT(Network Address Translation)是一种地址转换技术,支持将报文的源地址进行转换,也支持将报文的目的地址进行转换。


  • 分类

根据转换方式的不同,NAT可以分为以下三类:

1. 源NAT

2. 目的NAT

3. 双向NAT

分类

转换内容

是否转换端口

适合场景

源NAT

转换源地址时不转换端口

源IP地址

适合公网IP地址数量充足的、仅有少量私网用户访问Internet场景。私网地址与公网地址一对一转换。

转换源地址时转换端口

源IP地址

适合大量的私网用户访问Internet场景。大量私网地址转换为少量公网地址。

目的NAT

静态目的NAT(包括目的NAT策略和NAT Server):公网地址与私网地址一对一进行映射。

目的IP地址

可选

适用于通过一个公网地址访问一个私网地址或者多个公网地址访问多个私网地址的场景。

静态目的NAT(包括目的NAT策略和NAT Server):公网端口与私网端口一对一进行映射。

目的IP地址

可选

适用于通过一个公网地址的多个端口访问一个私网地址的多个端口的场景。

静态目的NAT(包括目的NAT策略和NAT Server):公网地址的多个端口与多个私网地址一对一进行映射。

目的IP地址

适用于通过一个公网地址的多个端口访问多个私网地址的场景。

静态目的NAT(包括目的NAT策略和NAT Server):多个公网地址与多个私网端口一对一进行映射。

目的IP地址

适用于通过多个公网地址访问一个私网地址的多个端口的场景。

动态目的NAT(包括目的NAT策略和基于ACL的目的NAT):公网的地址随机转换为目的地址池中的地址

目的IP地址

可选

适合公网地址与私网地址不存在固定的映射关系,公网的地址随机转换为目的地址池中的地址的场景。

双向NAT

源NAT+静态目的NAT

源IP地址+目的IP地址

可选

适合源和目的地址同时需要转换,且目的地址转换前后存在固定映射关系的场景。

源NAT+动态目的NAT

源IP地址+目的IP地址

可选

适合源和目的地址同时需要转换,且目的地址转换前后不存在固定映射关系的场景。

  • 几种nat转换的详细说明

1. NAT No-PAT    

NAT No-PAT是一种NAT转换时只转换地址,不转换端口,实现私网地址到公网地址一对一的地址转换方式。适用于上网用户较少且公网地址数与同时上网的用户数量相同的场景。

NAT NO-PAT有两种:

(1)本地(Local)NO-PAT  

本地NO-PAT生成的Server-Map表中包含安全区域参数,只有此安全区域的Server可以访问内网Host。

(2)全局(Global)NO-PAT    

全局NO-PAT生成的Server-Map表中不包含安全区域参数,一旦建立,所有安全区域的Server都可以访问内网Host。


2. NAPT    

NAPT是一种转换时同时转换地址和端口,实现多个私网地址共用一个或多个公网地址的地址转换方式。适用于公网地址数量少,需要上网的私网用户数量大的场景。


3. Smart NAT    Smart NAT是No-PAT方式的一种补充。Smart NAT是一种可以在No-PAT的NAT模式下,指定某个IP地址预留做NAPT方式的地址转换方式。适用于平时上网的用户数量少,公网IP地址数量与同时上网用户数基本相同,但个别时段上网用户数激增的场景。    

使用No-PAT方式时,进行地址池的一对一转换。随着内部用户数量的不断增加,地址池中的地址数可能不再能满足用户上网需求,部分用户将得不到转换地址而无法访问Internet。此时,用户可以利用预留的IP地址进行NAPT地址转换,然后访问Internet。


4. Easy IP    Easy IP是一种利用出接口的公网IP地址作为NAT转后的地址,同时转换地址和端口的地址转换方式。对于接口IP是动态获取的场景,Easy IP也一样支持。    

当FW的公网接口通过拨号方式动态获取公网地址时,如果只想使用这一个公网IP地址进行地址转换,此时不能在NAT地址池中配置固定的地址,因为公网IP地址是动态变化的。此时,可以使用Easy IP方式,即使出接口上获取的公网IP地址发生变化,FW也会按照新的公网IP地址来进行地址转换。


5. 三元组NAT    三元组NAT是一种转换时同时转换地址和端口,实现多个私网地址共用一个或多个公网地址的地址转换方式。它允许Internet上的用户主动访问私网用户,与基于P2P技术的文件共享、语音通信、视频传输等业务可以很好地共存。

三元组NAT有两种:

(1)本地(Local)三元组NAT    本地三元组NAT生成的Server-Map表中包含安全区域参数,只有此安全区域的Host可以访问内网Host。

(1)全局(Global)三元组NAT    全局三元组NAT生成的Server-Map表中不包含安全区域参数,一旦建立,所有安全区域的Host都可以访问内网Host。  

FW支持Smart三元组NAT功能,可以根据报文的目的端口来选择分配端口的模式,在一定程度上提高公网地址的利用率。当报文的目的端口属于设置的端口范围之内,就采用NAPT模式来分配端口,如果报文的目的端口不属于设置的端口范围之内,则采用三元组NAT模式来分配端口。


参考链接:https://baijiahao.baidu.com/s?id=1603855949771492366&wfr=spider&for=pc

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
存储 前端开发 机器人
通过4个任务比较LangChain和LlamaIndex
我们在本地使用大模型的时候,尤其是构建RAG应用的时候,一般会有2个成熟的框架可以使用
2738 2
|
Web App开发 移动开发 搜索推荐
Edge:安装与初次设置
Edge:安装与初次设置
252 0
|
监控 IDE 开发工具
【esp32c3配置arduino IDE教程】
设计用户操作界面,该设备具备简单易用的操作界面,外加显示屏SSD1306和旋转编码器进行显示和控制,用户后期可进行二次开发WiFi或蓝牙连接电脑或手机监控。
2401 0
|
网络协议 测试技术
【干货】UDP怎么测?
【干货】UDP怎么测?
3102 0
|
11月前
|
负载均衡 安全 网络安全
|
8月前
|
人工智能 Linux 开发工具
Kiln AI:零代码实现微调模型!自动生成合成数据与微调模型的开源平台
Kiln AI 是一款开源的 AI 开发工具,支持零代码微调多种语言模型,生成合成数据,团队协作开发,自动部署。帮助用户快速构建高质量的 AI 模型。
1477 8
Kiln AI:零代码实现微调模型!自动生成合成数据与微调模型的开源平台
|
7月前
|
机器学习/深度学习 自然语言处理 小程序
MiniMax开源超长文本处理神器,魔搭社区助力开发者推理部署
Transfermor架构与生俱来的二次计算复杂度,及其所带来的上下文窗口瓶颈,一直为业界所关注。此前,MiniMax开源了MiniMax-01系列模型,采用创新的线性注意力架构,使得模型能够在100万个token长度的上下文窗口上进行预训练;而在推理时,实现了高效处理全球最长400万token的上下文,是目前最长上下文窗口的20倍。
369 0
|
10月前
|
人工智能 自然语言处理 IDE
CodeFuse IDE 0.7 版本发布,支持 Lint Error 智能改写
CodeFuse IDE 0.7 版本发布,支持 Lint Error 智能改写和 zsh 终端自然语言生成命令。它基于蚂蚁自研大模型和 OpenSumi 框架开发,提供代码编写建议、解释、单测生成等功能,提升开发效率。内置插件升级至 VS Code 1.88.1,未来将支持更多模型服务。下载地址:[GitHub](https://github.com/codefuse-ai/codefuse-ide/releases)。
193 4
|
关系型数据库 MySQL Java
实时计算 Flink版操作报错之遇到java.lang.IllegalStateException: The elasticsearch emitter must be serializable.的错误,如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
设计模式 开发框架 .NET
分享一个 .NET Core Console 项目使用依赖注入的详细例子
分享一个 .NET Core Console 项目使用依赖注入的详细例子
233 0