一.NAT概述
NAT产生背景
随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。 同时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。 为解决该问题,使用过渡技术解决IPv4公有地址短缺就显得尤为必要。
私网IP地址
公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。 私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。 A、B、C类地址中各预留了一些地址专门作为私有IP地址: 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地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。 NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。 通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。
由于私有地址无法在Internet上路由转发,访问Internet的IP数据包将缺乏路由无法到达私有网络出口设备。 如果使用了私有地址的私有网络需要访问Internet,必须在网络出口设备配置NAT,将访问Internet的IP数据报文中的私有网络源地址转换成公有网络源地址。
二 静态NAT
静态NAT原理
静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。 
静态NAT转换示例

家庭网络内部情况
在图的左边,有三个设备,它们的 IP 地址分别是 192.168.1.1、192.168.1.2 和 192.168.1.3。这些地址属于私有 IP 地址,就好比是你家里不同房间的门牌号,只能在家庭网络这个小范围内使用,出了家门就不管用啦。
家庭网络访问互联网(上方流程)
互联网主机访问家庭网络设备(下方流程)
总的来说,NAT 设备就像是家庭网络和互联网之间的翻译官和门卫,它通过转换 IP 地址,让家庭网络里的设备能访问互联网,也能在一定条件下让互联网上的设备访问家庭网络里的设备。
静态NAT配置介绍
静态NAT配置方式
- 命令:[Huawei – GigabitEthernet0/0/0] nat static global {global – address} inside {host – address}。其中,global参数用于配置外部公有地址,inside参数用于配置内部私有地址。
- 配置命令:[Huawei] nat static global {global – address} inside {host – address},视图为系统视图。之后需在具体接口下开启静态NAT,命令为[Huawei – GigabitEthernet0/0/0] nat static enable,即在接口下使能nat static功能。
静态NAT配置示例
在R1上配置静态NAT将内网主机的私有地址一对一映射到公有地址。 [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24 [R1-GigabitEthernet0/0/1]nat static global 122.1.2.1 inside 192.168.1.1 [R1-GigabitEthernet0/0/1]nat static global 122.1.2.2 inside 192.168.1.2 [R1-GigabitEthernet0/0/1]nat static global 122.1.2.3 inside 192.168.1.3
三 动态NAT
动态NAT原理
动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。 
动态NAT转换示例

整体场景
有一个内部网络,里面有三台设备,它们的IP地址分别是192.168.1.1、192.168.1.2和192.168.1.3。这些地址属于私有地址,不能直接在互联网上使用。现在192.168.1.1这台设备想要访问互联网上IP地址为200.1.2.3的Web服务器。由于私有地址无法直接与公网通信,就需要借助NAT来帮忙。
过程步骤
简单来说,NAT就像是一个翻译官,把内部网络设备的私有IP地址翻译成公网IP地址,让它们能和互联网上的服务器通信,同时通过映射表记住翻译的对应关系,保证通信能正常来回进行。
动态NAT配置介绍
- 命令:[Huawei] nat address – group group – index start – address end – address
- 说明:配置公有地址范围,group – index 为地址池编号,start – address、end – address 分别为地址池起始地址、结束地址。
- 命令:
- [Huawei] acl number
- [Huawei – acl – basic – number] rule permit source source – address source – wildcard
- 说明:配置基础 ACL,匹配需要进行动态转换的源地址范围。
- 命令:[Huawei – GigabitEthernet0/0/0] nat outbound acl – number address – group group – index [no – pat]
- 说明:接口下关联 ACL 与地址池进行动态地址转换,no – pat 参数指定不进行端口转换。
动态NAT配置示例
在R1上配置动态NAT将内网主机的私有地址动态映射到公有地址。 [R1]nat address-group 1 122.1.2.1 122.1.2.3 [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
四 NAPT、Easy-IP
NAPT原理
动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。 NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
NAPT借助端口可以实现一个公有地址同时对应多个私有地址。该模式同时对IP地址和传输层端口进行转换,实现不同私有地址(不同的私有地址,不同的源端口)映射到同一个公有地址(相同的公有地址,不同的源端口)。
NAPT转换示例
好的!我用一个生活化的例子来讲解NAPT(端口地址转换),保证你一听就懂:
🌐 想象一个快递站的故事
假设你家小区有3个人(张三、李四、王五)想给同一个外地朋友(IP地址200.1.2.3)寄快递。但小区只有一个对外联系电话(公网IP122.1.2.1)。NAPT就像快递站的智能分拣系统,它用同一个电话号码+不同的「分机号」来区分不同住户的包裹。
🛠️ NAPT的工作流程
张三寄包裹(内部发起请求)
- 张三写包裹单: 发件人:张三(房号101) → 对应 192.168.1.1:5500 收件人:朋友(地址200.1.2.3:80)
- 快递站(NAPT设备)操作:
- 把发件人改成:小区总机(122.1.2.1)+ 分机号8888
- 记录分机号对应关系:101房 → 分机8888
- 最终包裹单变成: 发件人:122.1.2.1:8888 收件人:200.1.2.3:80
李四也寄包裹
- 同样流程,但分机号换成9999: 记录:102房(李四)→ 分机9999
- 包裹单: 发件人:122.1.2.1:9999 收件人:200.1.2.3:80
📨 朋友回寄包裹(外部返回数据)
- 包裹单写: 发件人:200.1.2.3:80 收件人:122.1.2.1:8888
- 查分机号记录表:8888 → 101房张三
- 把收件人改成:张三(房号101)
🔑 NAPT的核心秘密
- IP不够?端口来凑! 一个公网IP(如122.1.2.1)通过不同端口号(如:8888、:9999)区分多个内网设备。
- 映射表是关键 NAPT设备会动态维护一张表(如下图),记录:
内部IP:端口外部IP:端口 192.168.1.1:5500 122.1.2.1:8888 192.168.1.2:6000 122.1.2.1:9999
⚠️ 和普通NAT的区别
- 普通NAT:一个内网IP固定对应一个公网IP(土豪做法,浪费IP)。
- NAPT:多个内网IP共享一个公网IP,靠端口号区分(精打细算,家用路由器的标配)。
🌟 NAPT的三大优势
▶️ 总结:NAPT就像快递站的智能分拣员,用「1个总机号+无数分机号」解决多人共用同一个对外联系地址的问题!
NAPT配置示例
在R1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网。 [R1]nat address-group 1 122.1.2.1 122.1.2.1 [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
Easy IP
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。 Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。 
DHCP:Dynamic Host Configuration Protocol ,动态主机配置协议 PPPoE:Point-to-Point Protocol over Ethernet ,以太网承载PPP协议
Easy IP配置示例
在R1上配置Easy-IP让内网所有私有地址通过122.1.2.1访问公网。 [R1]acl 2000 [R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 [R1-acl-basic-2000]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]nat outbound 2000
五 NAT Server
NAT Server使用场景
NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。 外网主机主动访问[公有地址:端口]实现对内网服务器的访问。

NAT Server转换示例
这张图展示的是网络地址转换(NAT)的工作过程,以下用通俗的语言来讲解:
整体背景
假设你家里有一台电脑(私有地址:192.168.1.10 ),通过路由器(带有NAT功能)连接到互联网。路由器有一个公网地址122.1.2.1,而另一台在互联网上的电脑地址是200.1.2.3 。家里的电脑想访问互联网上的这台电脑提供的Web服务(端口80 )。
具体流程
NAT的作用总结
NAT就像是一个翻译官,它在私有网络(比如家里的网络)和互联网之间转换地址。通过NAT,多个私有网络中的设备可以共享一个公网IP地址来访问互联网,节省了公网IP地址资源,同时也在一定程度上保护了私有网络的安全性,因为外部网络直接看到的只是路由器的公网地址,而看不到内部私有地址。
NAT Server配置示例
在R1上配置NAT Server将内网服务器192.168.1.10的80端口映射到公有地址122.1.2.1的8080端口。 [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]ip address 122.1.2.1 24 [R1-GigabitEthernet0/0/1]nat server protocol tcp global 202.10.10.1 www inside 192.168.1.1 8080
何种NAT转换可以让外部网络主动访问内网服务器? 静态NAT、NAT server都可以。静态NAT实现了双向互访,所以自然容许外部网络对内网服务器的访问。NAT Server的场景本身就是让外部网络主动访问内部服务器。
NAPT相比较于No-PAT有哪些优点? NAPT支持多个私有地址转换为一个共同的公有地址,公有地址利用率更高。






