HCIA-ICT实战基础11-网络地址转换NAT&NAPT

HCIA-ICT实战基础-网络地址转换


目录

NAT概述

静态NAT

动态NAT

NAPT、Easy-IP

NAT Server

扩展 NAT ALG

扩展 双向NAT

扩展 重叠NAT转换方式

1 NAT概述

技术背景: 互联网对ip地址的需求不断扩大, ipv4地址短缺

1.1NAT技术原理

NAT: 对ip数据报文中的ip地址进行转换, 是一种在现今网络上被广泛部署的技术, 一般部署在网络出口设备上, 例如路由器或防火墙上.

功能: 通过私有地址结合NAT技术, 可以有效节约公网IPv4地址.

2 静态NAT

2.1 概念

每个私有地址都有一个与之对应并且固定的公有地址, 即私有地址和公有地址之间的关系是一一对应.

支持双向互访: 私有地址访问Internet经过出口设备NAT转换时, 会被转换成对应的公有地址. 同时, 外部网络访问内部网络是, 其报文中携带的公用地址(目的地址)也会被NAT设备转换成对应的私有地址.

image-20220923102220483

因为是内外网地址是一一对应的关系, 所以静态NAT并没有帮助解决ipv4地址短缺的问题, 只是单纯的做到了内外网互通.

2.2 静态NAT转换示例

image-20220923102521584

2.3 静态NAT配置介绍

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

[Huawei-GE0/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-GE0/0/0] nat static enable

在接口下使用nat static功能

3 动态NAT

3.1 概念

静态NAT严格将内外网地址一一对应, 这就导致即便内网主机长时间离线或者不发送数据时, 与之对应的公有地址也处于使用状态, 为了避免地址浪费, 动态NAT提出了地址池的概念: 所以可用的公有地址组成地址池.

当内部主机访问外部网络临时分配一个地址池中未使用的地址, 并将该地址标记为"In Use". 当该主机不再访问外部网络时回收分配的地址, 重新标记为"Not Use".

image-20220923110934771

3.2 动态NAT转换示例

image-20220923111102713

3.3 动态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, 匹配需要进行动态转换的源地址范围.

source-wildcard: 源地址的通配符

3.接口视图下配置带地址池的NAT Outbound(出接口)

[Huawei-GE0/0/0] nat outbound acl-number address-group group-index [no-pat]

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

4 NAPT、Easy-IP

4.1 NAPT原理

动态NAT选择地址池中的地址进行地址转换时不会转换端口号, 即No-PAT(No-Port Address Translation, 非端口地址转换), 但公有地址和私有地址依然为1:1的映射关系, 无法提高公有地址的利用率.

NAPT(Network Address and Port Translation), 网络地址端口转换): 从地址池中选择地址进行地址转换时不仅转换IP地址, 同时也会对端口号进行转换, 从而实现公有地址与私有地址的1:n映射, 可以有效提高公有地址利用率.

image-20220924092618563

注: NAPT也可以大致理解为'PAT'

4.2 NAPT转换示例

image-20220924092649930

image-20220924092711634

4.3 NAPT配置示例

image-20220924095405301

1.在AR1上配置NAPT让内网所有私有地址通过122.1.2.1访问公网

[AR1]nat address-group 1 122.1.2.1 122.1.2.1
[AR1]acl 2000
[AR1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255
[AR1-acl-basic-2000]quit
[AR1]int g0/0/1
[AR1-GE0/0/1]nat outbound 2000 address-group 1

注: 地址池(address-group)的地址不能包括该路由器出接口(outbound)的接口ip地址

查看NAPT地址池

[AR1]display nat address-group

4.4 Easy IP

Easy IP: 实现原理和NAPT相同, 同时转换IP地址、传输层端口, 区别在于Easy IP没有地址池概念, 使用接口地址作为NAT转换的公有地址.

Easy IP适用于不具备固定公网IP地址的场景: 如通过DHCP、PPPoE拨号获取地址的私有网络出口, 可以直接使用获取到的动态地址进行转换.

image-20220924100839092

4.5 Easy IP配置示例

image-20220924101228133

在AR1上配置Easy-IP让内网所有私有地址通过122.1.2.1访问公网

[AR1]acl 2001
[AR1-acl-basic-2001]rule 1 permit source 192.168.1.0 0.0.0.255
[AR1]quit
[AR1]int g0/0/0
[AR1-GE0/0/0]nat outbound 2001

查看nat会话

[AR1]display nat session all

注: 这个命令在eNSP上有点小问题, 有可能会卡很久, 如果很久都没显示出来可以试着通过ping之类的操作让Easy IP进行一次地址转换后再重试.

5 NAT Server

5.1 NAT Server使用场景

NAT Server: 指定[公有地址: 端口]与[私有地址: 端口]的一对一映射关系, 将内网服务器映射到公网, 当私有网络中的服务器需要对公网提供服务时使用.

外网主机主动访问[公有地址: 端口]实现对内网服务器的访问.

image-20220924101950984

5.2 NAT Server转换示例

image-20220924102132300

5.3 NAT Server配置示例

image-20220924102222490

在AR1上配置NAT Server将内网服务器192.168.1.10的80端口映射到公有地址122.1.2.1的8080端口

[AR1]int g0/0/1
[AR1-GE0/0/1]ip address 122.1.2.1 24
[AR1-GE0/0/1]nat server protocol tcp global 122.1.2.1 www inside 192.168.1.1 80

知识拾遗: www为http服务, 端口号为80

6 扩展 NAT ALG

6.1 背景

NAT和NAPT只能对IP报文的头部地址和tcp/udp头部端口号进行转换, 无法涉及到应用层的信息转换, 对于一些特殊协议, 如FTP等, 其报文的数据部分可能包含IP地址信息或者端口信息, 这些内容不能被NAT有效转换.

ALG(Application Level Gateway, 应用层网关) 能对特定的应用层协议进行转换, 在对这些特定的应用层协议进行NAT转换过程中, 通过NAT的状态信息来改变封装在IP报文数据部分中的特定数据, 最终使应用层协议可以跨越不同范围运行.

  1. 例如, 一个使用内部IP地址的ftp服务器可能在和外部网络主机建立会话的过程中, 需要将自己的IP地址发送给对方, 而这个地址信息是放到IP报文的数据部分, NAT无法对它进行转换, 当外部网络主机接受了这个私有地址并使用它, 这是FTP服务器表现为不可达.
  2. 目前支持ALG功能的协议包括: DNS, FTP, SIP, PPTP和RTSP.

配置NAT ALG的方法也是非常简单的, 只要在配置NAT的时候使能(enable)ALG, 并指定支持的协议类型即可.

7 扩展 双向NAT

7.1 双向NAT

两次NAT(Twice NAT), 指源ip和目的ip同时转换, 该技术应用于内部网络主机地址与外部网络上主机地址重叠的情况, 行业内通常称该项技术为双向NAT.(可以理解为从原来只对源ip或目的ip中的一个进行转换, 变成对源ip和目的ip同时进行转换)

在内外网地址重叠的场景中, 内外网地址重叠的主机可以根据重叠地址池和临时地址池的映射关系, 将重叠地址替换为临时地址同时做NAT, 实现内外网的互访.

1. 重叠地址池用来指定内网哪些ip允许和外网重叠, **只有属于重叠地址池才会做两次NAT**.
2. 临时地址池制定了用哪些临时IP地址来替换重叠地址池里的地址.

7.2 双向NAT示意图

7.2.1 外网用户访问内部服务器

当外部网络中的用户访问内部服务器时, 使用该双向NAT功能同时转换该报文的源地址和目的地之, 可以避免在内部服务器上设置网关, 简化配置.

image-20221011210209155

7.2.2 私网用户访问内部服务器

私网用户与内部服务器在同一安全区域同一网段时, 私网用户希望像外网用户一样, 通过公网地址来访问内部服务器的场景(比如进行一些测试).

image-20221011213056043

8 扩展 重叠NAT转换方式

8.1 内网和内网重叠地址转换

当内网和内网的主机之间发生了IP地址重叠, 为了使内网主机和外网主机之间能正常通信, 需要对内网主机和外网主机之间的流量做重叠NAT. 根据访问主动方在内网还是外网分为两种场景:

  1. 内网主机主动访问外网主机的场景, 例如, 内部网络中有多个地址重叠的用户需要同时访问外部的某个服务器时, 配置VPN+动态NAT, 这种方式称为VPN关联的动态NAT.
  2. 外网主机主动访问内网主机的场景, 例如, 外部网络中的主机需要同时访问内网中多个地址重叠的服务器时, 配置VPN+静态NAT, 这种方式称为VPN关联的静态NAT.

8.1.1 VPN关联的动态NAT

VPN关联的动态NAT介绍了多个不同VPN内网中地址重叠的用户如何通过NAT技术访问外网Server, 组网如下图所示:

image-20221011214556420

8.1.2 VPN关联的静态NAT

VPN关联的静态NAT介绍了外网主机如何通过NAT技术访问多个不同VPN内网中地址重叠的服务器, 组网如下图所示:

image-20221011214809129

8.2 内网和外网重叠地址转换

当内部网络主机使用外网注册地址或者合法的外网地址访问外部网络时, 内网主机的IP地址和外网主机的IP地址肯会发生重叠, 此时, 可以通过两次NAT技术同时转换报文的源IP地址和目的IP地址, 来解决内网与外网地址重叠问题:

  1. 内网中只有一个地址和外网地址发生重叠场景. 例如, 某个内网用户使用合法外网地址访问外网中个某个地址相同的服务器时, 可以配置两次NAT.
  2. 内网中有多个地址和外网地址发生重叠的场景, 例如, 有朵儿内网用户使用相同的合法外网地址访问外网中某个地址相同的服务器时, 可以配置VPN关联的两次NAT.

8.2.1 两次NAT

某个内网用户使用合法的外网地址访问外网中某个地址相同的服务器时, 可以配置两次NAT.

image-20221011220202937

8.2.2 VPN关联的两次NAT

有多个内网用户使用相同的合法外网地址访问外网中某个地址相同的服务器时, 可以配置VPN关联的两次NAT.

image-20221011223607938

posted @ 2022-10-30 10:47  Qurare  阅读(421)  评论(0编辑  收藏  举报