NAT地址转换,静态NAT,高级NAT,NAPT,easy IP

网络地址转换NAT

1、NAT概述

NAT产生的技术背景

  • 随着互联网用户的增多,IPv4的公有地址资源显得越发短缺。
  • 同时IPv4公有地址资源存在地址分配不均的问题,这导致部分地区的IPv4可用公有地址严重不足。
  • 一方面NAT缓解了IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进
    行通信,提升了内网的安全性。

私有IP地址

  • 公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。
  • 私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。
  • A、B、C类地址中各预留了一些地址专门作为私有IP地址(RFC1918):
    • 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地址。

2、静态NAT

  • 静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的一对一映射
  • 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地
    址。

静态NAT配置介绍

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

Huawei-GigabitEthernet0/0/0\] nat static global (global-address) inside (host-address ) global参数用于配置外部公有地址,inside参数用于配置内部私有地址。 2.方式二:系统视图下配置静态NAT \[Huawei\] nat static global (global-address) inside {host-address) 配置命令相同,视图为系统视图,之后在具体的接口下开启静态NAT。 \[Huawei-GigabitEthernet0/0/0\] nat static enable 在接口下使能nat static功能。 ![1753623361470](https://i-blog.csdnimg.cn/img_convert/cc5037f356d70ed85c7d34c43d5acd2e.png) ### 3、动态NAT * 动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或关机时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。 * 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为"1nUse"。当该主机不再访问外部网络时回收分配的地址,重新标记为"NotUse"。 ![1753623563841](https://i-blog.csdnimg.cn/img_convert/9bf1f8406eb65ee5135ba7da3149d109.png) 动态NAT转换示例(出去流量) ![1753623651111](https://i-blog.csdnimg.cn/img_convert/c335489b2e0c2c805cf946cc293800b3.png) 动态NAT转换示例(回程流量) ![1753623751864](https://i-blog.csdnimg.cn/img_convert/823010cbb17b44c6dab3c6249299a897.png) 动态NAT配置介绍 1.创建地址池 \[Huawei\] nat address-group group-index start-address end-address 配置公有地址范围,其中group-index为地址池编号,start-address、end-address分别为地址池起始地址、结束地址。 2.配置地址转换的ACL规则 \[Huawei\] acl number \[Huawei-acl-basic-number\] rule permit source source-address source-wildcard 配置基础ACL,匹配需要进行动态转换的源地址范围。 3.接口视图下配置带地址池的NATOutbound \[Huawei-GigabitEtherneto/o/o\] nat outbound acl-number addres-group group-index\[ no-pat

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

4、NAPT、Easy-IP(用得最多)

NAPT原理

  • 动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即NO-PAT(非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
  • NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。

NAPT转换示例(出去流量)

NAPT转换示例(回程流量)

NAPT配置示例

easy IP

  • EasyIP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有公网地址池的概念,使用接口地址作为NAT转换的公有地址。
  • Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。

EasyIP配置示例

5、NAT Server

NAT Server使用场景

  • NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。
  • 外网主机主动访问[公有地址:端口]实现对内网服务器的访问。
  • 本质上是解决安全问题
  • 解决负载均衡的问题,

NAT Server转换示例

NAT Server配置示例

6、NAT配置

拓扑图

配置步骤

1、配置电脑IP地址

2、配置路由器相应接口的IP地址

复制代码
在AR1上进行配置
<Huawei>system-view 
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 192.168.11.254 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]interface GigabitEthernet 0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[Huawei-GigabitEthernet0/0/0]q

在AR2上配置
[Huawei]sysname AR2
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 12.1.1.254 24
[AR2-GigabitEthernet0/0/0]q

经过上述配置之后,PC1的报文能到达AR2,但是结果是Request timeout!,原因是AR1中有相应的路由表,但是AR2中没有PC1 192.168.11.0/24的地址,收不到回程的报文。可以通过display ip routing-table 这条命令查看相应的路由表。

解决办法之一:配置NAT

3、静态NAT配置

复制代码
配置静态NAT
<Huawei>system-view 
[Huawei]sysname AR1
在全局视图下配置
[AR1]nat static global 12.1.1.2 inside 192.168.11.1
进入接口中启用NAT
[AR1]interface GigabitEthernet 0/0/0 
启用NAT之后才能完成地址转换
[AR1-GigabitEthernet0/0/0]nat static enable 
[AR1-GigabitEthernet0/0/0]q
复制代码
基于接口配置静态NAT
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]undo nat static enable 
[AR1-GigabitEthernet0/0/0]q
[AR1]undo nat static global 12.1.1.2 inside 192.168.11.1
在接口中配置NAT就不用刻意开启NAT服务了
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]nat static global 12.1.1.12 inside 192.168.11.1
[AR1-GigabitEthernet0/0/0]q

注意:在实际应用中基本上很少用静态NAT。

4、配置动态NAT

复制代码
配置外网地址池
[AR1]nat address-group 1 12.1.1.2 12.1.1.10
配置访问控制策略
[AR1]acl 2000
[AR1-acl-basic-2000]rule 10 permit source 192.168.11.0 0.0.0.255
[AR1-acl-basic-2000]q
进入端口,将ACL2000的地址映射为address-group 1的地址池
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 no-pat 
[AR1-GigabitEthernet0/0/0]q

5、配置端口NAT

复制代码
配置静态NAT,只用一个外网地址

<AR1>system-view 
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]undo nat outbound 2000 address-group 1 no-pat 
[AR1-GigabitEthernet0/0/0]q
[AR1]undo nat address-group 1
只使用一个地址
[AR1]nat address-group 1 12.1.1.2 12.1.1.2
[AR1]interface GigabitEthernet 0/0/0
不使用端口 no-pat参数
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1

[AR1]display nat session all

6、Easy IP

复制代码
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]undo nat outbound 2000 address-group 1
[AR1-GigabitEthernet0/0/0]q
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000

7、NAT Server

复制代码
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]undo nat outbound 2000
[AR1-GigabitEthernet0/0/0]q
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]nat server protocol tcp global 12.1.1.2 80 inside 192.168.11.2 80
[AR1-GigabitEthernet0/0/0]

测试:在外网上访问服务器,使用telnet 192.168.12.1