工作8年,太多网工对NAT还存在这4种误解!

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 工作8年,太多网工对NAT还存在这4种误解!


NAT是解决公网地址不够用大家最熟悉的网络技术之一,而NAT最依赖的是NAT translation表项,至于NAT的概念和背景这里不再解释,网络上有很多关于此的类似介绍,自己搜索即可。下面主要是针对大家对NAT的一些误解进行分析。

误解一:inside和outside

大家常规的理解可能认为inside就是指私网;outside就是公网。

正解一:

inside和outside是在接口上用户自己定义的,只不过我们习惯于在路由器的内部接口定义inside;外部接口定义outside。

误解二:source和destination

大家在配置IP NAT的时候可能会用如下命令:ip nat inside source static/route-map/acl  interface/pool。有些人对命令中的source的理解可能表示要转换哪些源,源可以是static地址,挂ACL或者route-map的匹配地址。destination有些人可能认为是source要转换成的地址,可以是pool或者interface(overload)。

正解二:

其实NAT中的source和destination是用来表示要进行转换的IP地址的源地址还是目的地址的。source表示对NAT转换的IP数据包的源地址进行转换;同理,destination表示对NAT转换的IP数据包的目的地址进行转换。

误解三:static和dynamic

有些人认为静态转换就是一对一的转换;动态转换就是多对一的转换。

正解三:

根据NAT表项的建立原因我们把NAT分为静态和动态。static在内存中的转换表项一直存在,不管有没有数据包经过;动态表示只有数据包经过的时候才会在内存上建立表项。可以简单归纳为:动态NAT解决的是从内到外发起的访问,之后在内存中形成表项,这样回包就没问题了;静态NAT解决的是从外到内的访问,转换表一旦建立一直保存。根据有没有利用端口复用技术(多IP/单IP),再结合静态和动态就有下面四种组合:

动态一对一:从内部发起的流量,一个内部IP地址都有一个对应的公网IP地址表项对其进行替换转换。(现实环境用得不多,因为NAT本身就是解决公网IP地址不够用的问题而设计的,实际应用场景没有那么多的公网IP地址可以提供转换)

动态多对一:也就是我们所说的动态PAT,用高位随机端口号+同一公网IP地址来解决一个公网地址无法和内网多个私有地址一一映射的问题。表示从内部发起的流量,每个内部IP地址都用同一个公网IP地址+端口号对其IP数据包源地址进行一一转换。(目前解决内网上网问题的最常用手段)

静态一对一:从外到内发起的流量,一个公网IP对应一个内网IP。(常用于internet到内部特定IP地址的全端口访问)。

静态端口转换:在实际运用环境中经常被用来打通或者发布特定服务以便在internet上可以访问到内部服务器的特定端口。

误解四:搞不清inside local/inside global和outside local/outside global之间的关系

正解四:

不用记得那么复杂,只要了解转换一定是发生在local和global之间即可,此外,local和global的区别在于,local是一个在本地可路由的地址;global是一个在internet可路由的地址。同时记住,转换一定发生在同一边,也就是要么就在inside转换;要么就在outside进行转换,也就是说不可能出现inside local和outside global互转的情况。

注意:

动态转换项在内存上的表现只有数据包进行了NAT转换时才会出现;而静态转换项,只要一旦配置就一直停留在内存里,尽管使用命令clear ip nat translation * 。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
存储 安全 文件存储
什么是NAS?探索无限存储的可能性
【4月更文挑战第21天】
3941 0
什么是NAS?探索无限存储的可能性
|
12月前
|
数据中心 网络虚拟化 虚拟化
|
10月前
|
机器学习/深度学习 人工智能 安全
AI技术在医疗领域的应用与挑战
本文将探讨AI技术在医疗领域的应用及其带来的挑战。我们将介绍AI技术如何改变医疗行业的面貌,包括提高诊断准确性、个性化治疗方案和预测疾病风险等方面。同时,我们也将讨论AI技术在医疗领域面临的挑战,如数据隐私和安全问题、缺乏标准化和监管框架以及医生和患者对AI技术的接受程度等。最后,我们将通过一个代码示例来展示如何使用AI技术进行疾病预测。
244 2
|
安全 容器 iOS开发
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
12月前
|
安全 网络协议 网络安全
|
网络协议 安全 网络虚拟化
"揭秘!网工爱不释手的Wireshark八大绝技,让复杂网络问题无所遁形,你掌握了吗?"
【8月更文挑战第19天】Wireshark是网络工程师不可或缺的工具,以其卓越的抓包与分析能力闻名,在网络故障排除、性能优化和安全审查方面作用显著。本文精选八大实用技巧,包括精准数据包过滤、序列号排序、时间格式调整、数据包解码、混杂模式使用、数据包标记与导出、自定义显示列以及过滤器的高效应用,助您在网络分析中得心应手,成为解决复杂问题的高手。
430 0
|
Kubernetes 网络协议 网络架构
在K8S中,CNI有什么作用?
在K8S中,CNI有什么作用?
|
Ubuntu 安全 Linux
【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置(Windows版详细教程)
【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置(Windows版详细教程)
1248 0
|
弹性计算 监控 Linux
ECS实例问题之无法连接443端口如何解决
ECS实例指的是在阿里云ECS服务中创建的虚拟计算环境,用户可在此环境中运行应用程序和服务;本合集将介绍ECS实例的创建、管理、监控和维护流程,及常见问题处理方法,助力用户保障实例的稳定运行。