4.1.0 路由 NAT(简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表)
目录
- 简介
- NAT地址映射表
- 静态NAT
- 简介
- 操作案例
- 动态NAT
- 简介
- 操作案例
- NAT Server
- 简介
- 操作案例
- NAPT
- 简介
- 操作案例
- Easy-ip
- 简介
- 操作案例
简介
为了有效节约公网IPv4地址,并提供一定的网络安全保障能力,NAT网络地址转换技术孕育而生。
NAT(Network Address Translation)网络地址转换,主要将私有地址转换成公网地址。
NAT优点:
- 能够缓解公网地址紧缺问题。
- 解决IP地址空间冲突或重叠的问题。
- 网络扩展性更高,本地控制也更容易。
- 内网结构变得不可见,从而增加了安全性。
NAT缺点:
- 因为地址映射的原因,当网络转换过多时会存在转发延迟的问题。
- 端到端寻址变得困难,因为经过了NAT地址转换相当于换了张脸,想找人就难了。
- 对于某些应用,无法支持NAT。
- NAT产生的表项会占用设备在内存空间。
- 进行NAT地址转换的设备性能要求高。
NAT地址映射表
主要有四个地址信息,NAT的地址转换核心就在这四个地址中。
内部本地地址(Inside Local)——本地私网地址
内部全局地址(Inside Global)——私网转换成的公网地址
外部本地地址(Outside Local)——公网转换成的私网地址
外部全局地址(Outside Global)——外部公网地址
为了方便理解,通过以下两个实验进行相应地址的对应:
# 内网1中的PC1访问外网202.1.2.2的时候,转换成外网接口地址。
由于ENSP中使用dis nat mapping table all 查看地址映射表会卡顿甚至无法使用,所以用文字进行表示:
【AR1映射表】
内部本地地址:192.168.1.10:随机端口
内部全局地址:202.1.2.1:随机端口
外部本地地址:202.1.2.2:随机端口 or 空 【因为对于AR1来说,AR2内网地址是不知道的,所以可为空】
外部全局地址:202.1.2.2:随机端口
【AR2映射表】
内部本地地址:192.168.2.10:随机端口
内部全局地址:202.1.2.2:随机端口
外部本地地址:202.1.2.1:随机端口 or 空
外部全局地址:202.1.2.1:随机端口
# AR2上将Server1中的80端口 映射成公网地址202.1.2.1:80,实现内网1的PC访问202.1.2.2:80时能够访问到Server1的网页。
【AR1映射表】
内部本地地址:192.168.1.10:随机端口
内部全局地址:202.1.2.1:随机端口
外部本地地址:202.1.2.2:80 or 空
外部全局地址:202.1.2.2:80
【AR2映射表】
内部本地地址:192.168.2.10:80
内部全局地址:202.1.2.2:80
外部本地地址:202.1.2.1:随机端口 or 空
外部全局地址:202.1.2.1:随机端口
静态NAT
简介
私有地址与公网地址一对一映射,不管主机是否在线,地址映射依旧存在。
可实现内外网的双向访问,因为静态NAT中的映射表是固定的。
静态NAT可以实现私网地址映射成公网地址
,也能实现公网地址映射成私网地址
。
该NAT模式非常浪费公网地址,只能实现一个私网与一个公网地址的映射。
操作案例
配置静态NAT会将公网地址与私网地址进行一对一的映射,即公网地址=私网地址,私网地址=公网地址。
AR1:
interface GigabitEthernet0/0/0
ip address 202.1.2.1 255.255.255.0
nat static global 202.1.2.5 inside 192.168.1.10 netmask 255.255.255.255
nat static enable
AR2:
interface GigabitEthernet0/0/0
ip address 202.1.2.2 255.255.255.0
nat static global 202.1.2.20 inside 192.168.2.10 netmask 255.255.255.255
nat static enable
现象:
Client1可以通过202.1.2.20访问Server1的服务
Server1可以通过访问202.1.2.10访问到Client1
动态NAT
简介
为避免地址浪费,创建地址池。当私网地址需要访问外网时,从地址池中取出一个地址与私有地址一对一临时映射。
当内部主机访问外网时,地址标记为In Use,不使用时将回收地址重新标记为Not Use。
该NAT模式无法实现内外网的双向访问,因为动态NAT中的映射表是动态变化的。
且访问需求大的时候会因为地址池供应不够而导致有的用户无法正常获取公网地址访问外网。
操作案例
ENSP中配置动态NAT的时候有BUG,
私网客户端访问会直接消耗完所有的外网地址(哪怕地址池很多公网地址,一台私网设备也会独自使用完)
AR1:
# 创建地址池0
[AR1]nat address-group 0 202.1.2.5 202.1.2.7
# 创建区域列表,当识别为内网1主机时才进行NAT地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
# 配置动态NAT,设置匹配列表,设置地址池0,no-pat表示不进行端口转换(否则就是NAPT模式了)
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 0 no-pat
NAT Server
简介
实现内网服务器被外网用户所访问,将私网地址与外网地址进行一个端口映射的操作。
如:将内网192.168.2.10:80与外网地址202.1.2.2:80进行一个映射,当外网其它主机访问202.1.2.2:80的时候就会访问到内网的192.168.2.10:80服务器
操作案例
AR1:
interface GigabitEthernet0/0/0
ip address 202.1.2.1 255.255.255.0
nat static global 202.1.2.5 inside 192.168.1.10 netmask 255.255.255.255
nat static enable
AR2:
interface GigabitEthernet0/0/0
ip address 202.1.2.2 255.255.255.0
# 将192.168.2.10:80与当前接口的8888端口映射
nat server protocol tcp global current-interface 8888 inside 192.168.2.10 www
NAPT
简介
与动态NAT相似,不同的是一个私网地址访问外网时转换成公网地址的随机端口
进行访问。
如:192.168.1.1访问外网时使用地址池中 202.1.2.5:12345 与外网的其它地址进行互访。
操作案例
AR1:
# 创建地址池0
[AR1]nat address-group 0 202.1.2.5 202.1.2.7
# 创建区域列表,当识别为内网1主机时才进行NAT地址转换
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
# 配置NAPT,设置匹配列表,设置地址池0,不添加no-pat则为NAPT模式
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000 address-group 0
Easy-ip
简介
将私网地址转换成公网接口的随机端口,是小型网络常用的一种实现内网访问外网的方式。
操作案例
AR1:
[AR1]acl 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.10 0
[AR1-acl-basic-2000]q
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]nat outbound 2000
AR2:
interface GigabitEthernet0/0/0
ip address 202.1.2.2 255.255.255.0
nat server protocol tcp global current-interface 8888 inside 192.168.2.10 www
#