【软考网工-实践篇】NAT网络地址转换协议
一、NAT简介
NAT,Network Address Translation,网络地址转换。
- 位置:NAT最常见运行于连接私网和公网的边界路由器上
- 功能:将私网IP转换为公网IP,将公网IP转换为私网IP
- 作用:缓解IPv4地址耗尽,提高IPv4地址利用率,不增加IPv4地址总数;隐藏内部网络结构;
私网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种类:
类型 | 作用 | ||
---|---|---|---|
static NAT (静态NAT) | 一个私网IP对应一个公网IP,只转换IP | ||
动态NAT | 原始动态NAT(地址池) | 多个私网IP对应多个公网IP | |
端口NAT(地址池) | 多个私网IP对应多个或一个(通过端口地址转换)公网IP | ||
Easy IP(接口IP) | 多个私网地址对应一个公网IP | ||
NAT Server(属于静态NAT,固定映射) | 外网客户端访问内网服务器时使用,转换IP 和 端口 |
二、NAT实验
2.1 实验环境

- 交换机:S5700
- 路由器:AR2220
2.2 PC配置
PC1:
| PC2:
| PC3:
|
2.3 SW1配置
无需配置,启动即可
2.4 Server1配置
IP : 12.1.1.254
掩码:255.255.255.0
2.5 R1配置
注意:以下每一个练习都是独立的,每个练习开始前路由器都应处于重置后重启的状态。eNSP删除配置这一点没有做好,以防浪费时间,特此说明。
练习一:静态NAT
静态NAT配置:
<Huawei>system-view
[Huawei]sysname R1
[R1]interface g0/0/1 #配置公网接口
[R1-GigabitEthernet0/0/1]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/1]nat static enable
[R1-GigabitEthernet0/0/1]nat static global 12.1.1.2 inside 192.1.1.1
[R1-GigabitEthernet0/0/1]nat static global 12.1.1.3 inside 192.1.1.2
[R1-GigabitEthernet0/0/1]nat static global 12.1.1.4 inside 192.1.1.3
[R1-GigabitEthernet0/0/1]q
[R1]interface g0/0/0 #配置私网接口
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254
补充内容:
[R1]display nat static #查看静态NAT
[R1]interface g0/0/1 #删除静态NAT配置
[R1-GigabitEthernet0/0/1]undo nat static global 12.1.1.2 inside 192.168.1.1
[R1-GigabitEthernet0/0/1]undo nat static global 12.1.1.3 inside 192.168.1.2
[R1-GigabitEthernet0/0/1]undo nat static global 12.1.1.4 inside 192.168.1.3
[R1-GigabitEthernet0/0/1]undo nat static enable
练习二:动态NAT
由于静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或不发送数据时,与之对应的公有地址也处于被占用状态。为了避免浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。当内部主机访问外部网络时,临时分配一个地址池中未使用的地址,并将该地址标记为In Use。当该主机不再访问外部网络时回收分配的地址并重新标记为Not Use。
动态NAT配置:
<Huawei>system-view
[Huawei]sysname R1
[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]nat address-group 1 12.1.1.2 12.1.1.4 #创建编号为1的地址池,包含3个公网IP
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat
[R1-GigabitEthernet0/0/1]ip address 12.1.1.1 24 #配置公网接口
[R1]interface g0/0/0 #配置私网接口
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
动态NAT配置说明:
ACL:
acl 2000:基本ACL,编号范围2000~2999。高级ACL,编号范围3000~3999。
rule 5:创建一条编号为5的ACL规则,规则编号越小优先级越高。范围0~65534。permit:表示该规则允许哪些流量通过。deny则表示拒绝哪些流量通过。
source 192.168.1.0 0.0.0.255:表示源IP的范围
192.168.1.0:是网络地址
0.0.0.255:是通配符掩码(wildcard mask),指定IP地址范围。0表示强匹配,1表示任意。
NAT:
地址池创建语法:nat address-group <地址池编号> <起始公网IP> <结束公网IP>
华为设备地址池编号范围:1 ~ 65535
nat outbound:配置出方向(outbound)的NAT规则,即从内网到外网的流量。
2000:引用ACL 2000
address-group 1:将ACL 2000匹配的流量引向地址池1。
no-pat:禁用PAT(Port Address Translation, 端口地址转换),即只进行IP地址转换,不进行端口转换。(若不显式关闭,默认是开启端口地址转换的)
补充内容:
display nat address-group #查看动态NAT地址池
display nat outbound #查看动态NAT对ACL的引用情况
练习三:端口NAT
又叫NAPT (Network Address Port Translation),即网络地址端口转换。
又可称PAT,Port Address Translation,端口地址转换。
从地址池中选择地址进行转换时,不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1 : N映射,可以有效提高公有地址利用率。即一个公网IP对应多个私网IP。同样不增加IPv4地址总数。
<Huawei>system-view
[Huawei]sysname R1
[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]nat address-group 1 12.1.1.2 12.1.1.4 #创建编号为1的地址池,包含3个公网IP
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 #仅比
#动态NAT少了个no-pat参数
[R1-GigabitEthernet0/0/1]ip address 12.1.1.1 24 #配置公网接口
[R1-GigabitEthernet0/0/1]q
[R1]interface g0/0/0 #配置私网接口
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
练习四:Easy IP
Easy IP属于特殊的端口NAT,单一公网IP,无公网地址池概念。该单一公网IP为路由器出接口IP。
Easy IP配置:
<Huawei>system-view
[Huawei]sysname R1
[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 g0/0/1
[R1-GigabitEthernet0/0/1]ip address 12.1.1.1 24 #配置公网接口IP
[R1-GigabitEthernet0/0/1]nat outbound 2000 #开启接口Easy IP
[R1-GigabitEthernet0/0/1]q
[R1]interface g0/0/0 #配置私网接口IP
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
三、实验结果
练习1~4,使用 PC1 ping Server1的公网地址,看是否能ping通:
四、NAT server
4.1 实验环境

如上图2,左边的拓扑和配置与图1完全相同,为方便NAT server的练习,在右侧添加了服务器私网的拓扑。
4.2 R2配置
练习五:NAT Server
R2 NAT Server配置:
<Huawei>system-view
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 12.1.1.11 24
#把内网的192.168.1.10 80端口,映射到12.1.1.2的80端口
[R2-GigabitEthernet0/0/1]nat server protocol tcp global 12.1.1.2 80 inside 192.168.1.10 80
[R2-GigabitEthernet0/0/1]q
[R2]interface g0/0/0 #配置私网接口IP
[R2-GigabitEthernet0/0/0]ip address 192.168.1.254 24
练习5,目前还未想到好的实验结果验证方法,未完待续……