NAT 转换有三种类型:
静态地址转换(静态 NAT)- 本地地址和全局地址之间的一对一地址映射。
动态地址转换(动态 NAT)- 本地地址和全局地址之间的多对多地址映射。转换在可用的基础上进行:例如,如果有 100 个内部本地地址和 10 个内部全局地址,则任何时候都只能转换 100 个内部本地地址中的 10 个地址。动态 NAT 的这种限制使得它在用于生产网络时没有端口地址转换那么实用。
端口地址转换 (PAT) - 本地地址和全局地址之间的多对一地址映射。此方法也称为过载(NAT 过载)。例如,如果有 100 个内部本地地址以及 10 个内部全局地址,PAT 使用端口作为附加参数来提供乘数效应,从而支持重复使用 10 个内部全局地址中的任何一个地址,重复次数高达 65,536 次(这取决于通信流是基于 UDP、TCP 还是 ICMP)。
---------------------------------------------------------------
案例:
PC1发起一个链接,使用了1444端口。
PC2发起一个链接,使用了1444端口
由于1444端口已经被PC1使用了,PAT会分配一个另外一个端口1445给PC2
配置静态NAT
为了验证 NAT 转换是否正常工作,最好在测试前使用 clear ip nat statistics 命令清除任何之前转换的统计信息。
------------------------------------------------------------------
ip nat pool R2Pool 64.100.100.3 64.100.100.31 netmask 255.255.255.224
配置一个nat的地址池
配置动态NAT
步骤 1.使用 ip nat pool 命令定义将会用于转换的地址池。该地址池通常是一组公有地址。这些地址是通过指明池中的起始 IPv4 地址和结束 IPv4 地址而定义的。netmask 或 prefix-length 关键字指示哪些地址位属于网络,哪些位属于该地址范围内的主机。
步骤 2.配置一个标准 ACL,用于仅标识(允许)那些将要进行转换的地址。范围太宽的 ACL 可能会导致意料之外的后果。请记住,每个 ACL 的末尾都有一条隐式的 deny all 语句。
步骤 3.绑定 ACL 与地址池。ip nat inside source list access-list-number pool pool name 命令用于绑定 ACL 与地址池。路由器使用该配置来确定哪些设备(列表)接收哪些地址(池)。
步骤 4.确定对于 NAT 哪些接口是内部接口;即任何与内部网络连接的接口。
步骤 5.确定对于 NAT 哪些接口是外部接口;即任何与外部网络连接的接口。
------------------------------------------------------------------------
配置PAT
---------------------------------------
配置PAT: 单个地址
使用 interface 和 overload 关键字配置源转换。interface 关键字用于确定在转换内部地址时使用哪个接口 IPv4 地址。overload 关键字指示路由器跟踪端口号以及每个 NAT 条目。
-------------------------------------------------------------
端口转发
---------------------------------------------------------------------------------
IPV6 NAT
IPV6本地地址: FC00::/7前缀 范围从FC00 - FDFF
用于 IPv6 的 NAT 与用于 IPv4 的 NAT 使用背景大不相同。用于 IPv6 的 NAT 变体用来透明地提供仅支持 IPv6 和仅支持 IPv4 的网络之间的访问。而不是用作一种私有 IPv6 到全局 IPv6 的转换。
用于 IPv6 的 NAT 不应当作为一种长期策略使用,但可作为一种临时机制来帮助进行 IPv4 到 IPv6 的迁移。