网络地址转换(NAT)是更改源和目标 IP 地址和端口的过程,地址转换减少了对 IPv4 公共地址的需求,并隐藏了专用网络地址范围,该过程通常由路由器或防火墙完成。
NAT是如何工作的
NAT 允许单个设备(如路由器)充当 Internet(或公共网络)和本地网络(或专用网络)之间的代理,这意味着只需要一个唯一的 IP 地址即可将整个计算机组表示到其网络之外的任何内容。
地址转换的三种类型
- 静态 NAT:将一个私有 IP 地址转换为一个公共 IP 地址,公共 IP 地址始终相同。
- 动态 NAT:专用 IP 地址映射到公共 IP 地址池。
- 端口地址转换(PAT):一个公共 IP 地址用于所有内部设备,但为每个专用 IP 地址分配一个不同的端口,也称为 NAT 过载。
在思科设备上配置静态 NAT
使用静态 NAT,路由器或防火墙将一个专用 IP 地址转换为单个公共 IP 地址。每个专用 IP 地址映射到单个公共 IP 地址,静态 NAT 不经常使用,因为它要求每个专用 IP 地址有一个公共 IP 地址。
要使用 Network Configuration Manager 在思科设备上配置静态NAT,管理员可以创建相应的Configlet命令并将其推送到多个设备中。
![](https://file.jishuzhan.net/article/1692456063078502401/fc15b1fd07054e88b2b80d40c3636d81.jpeg)
配置静态NAT
- 使用源静态PRIVATE_IP PUBLIC_IP命令中的 IP nat 配置专用/公共 IP 地址映射。
- 使用 ip nat inside 命令配置路由器的内部接口。
- 使用 ip nat 外部命令配置路由器的外部接口。
配置名称 | 配置静态 NAT - Cisco |
---|---|
描述 | 此配置用于在思科设备中配置静态NAT。 |
执行模式 | 脚本执行模式 |
配置文件 | configure terminal ip nat inside source static $PRIVATE_IP $PUBLIC_IP interface $INSIDE_INTF ip nat inside exit interface $OUTSIDE_INTF ip nat outside exit exit show ip nat translations write memory |
在思科设备中配置动态 NAT
使用动态 NAT,管理员可以在 Cisco 路由器上指定两组地址:
- 将要翻译的内部地址。
- 全局地址池。
与静态 NAT 不同,在静态 NAT 中,管理员必须手动定义专用地址和公共地址之间的静态映射,而使用动态 NAT 时,本地地址到全局地址的映射是动态发生的。这意味着路由器会从当前未分配的全局地址池中动态选取一个地址。它可以是全局地址池中的任何地址。只要交换流量,动态条目就会保留在 NAT 转换表中。
配置动态 NAT
- 使用 ip nat inside 命令配置路由器的内部接口。
- 使用 ip nat 外部命令配置路由器的外部接口。
- 配置具有要转换的内部源地址列表的 ACL。
- 使用 IP nat 池名称FIRST_IP_ADDRESS LAST_IP_ADDRESS网络掩码SUBNET_MASK命令配置全局 IP 地址池。
- 使用源列表内的 IP NAT 启用动态 NAT,ACL_NUMBER池 NAME 全局配置命令。
配置名称 | 配置动态 NAT - Cisco |
---|---|
描述 | 此配置用于在思科设备上配置动态 NAT。 |
执行模式 | 脚本执行模式 |
配置文件 | configure terminal interface $INSIDE_INTF ip nat inside exit interface $OUTSIDE_INTF ip nat outside exit access-list $ACL_ID permit $SOURCE_ADDRESS $SUBNET_MASK ip nat pool $POOL_NAME $POOL_START_ADDRESS $POOL_END_ADDRESS netmask $NETMASK ip nat inside source list $ACL_ID pool $POOL_NAME exit show ip nat translations write memory |
在思科设备上配置端口地址转换 (PAT)
使用端口地址转换 (PAT),单个公共 IP 地址用于所有内部专用 IP 地址,但为每个专用 IP 地址分配不同的端口。这种类型的 NAT 也称为 NAT 过载,是当今网络中使用的 NAT 的典型形式。大多数消费级路由器甚至都支持它。
PAT 允许仅使用少量公共 IP 地址支持许多主机。它通过创建动态 NAT 映射来工作,其中选择了全局(公共)IP 地址和唯一端口号。路由器为私有 IP 地址和端口的每个唯一组合保留一个 NAT 表条目,并转换为全局地址和唯一的端口号。
使用 Network Configuration Manager 应用程序创建相应的 Configlet 命令,这将帮助管理员同时在多个设备上执行相同的操作。
配置端口地址转换 (PAT)
- 使用 ip nat inside 命令配置路由器的内部接口。
- 使用 ip nat 外部命令配置路由器的外部接口。
- 配置一个访问列表,其中包含应转换的内部源地址的列表。
- 使用 IP nat 在源列表中启用 PAT ACL_NUMBER接口类型重载全局配置命令。
配置名称 | 配置 PAT - 端口地址转换 - Cisco |
---|---|
描述 | 此配置用于在思科设备上配置端口地址转换 PAT |
执行模式 | 脚本执行模式 |
配置文件 | configure terminal interface $INSIDE_INTF ip nat inside exit interface $OUTSIDE_INTF ip nat outside exit access-list $ACL_ID permit $SOURCE_ADDRESS $SUBNET_MASK ip nat pool $POOL_NAME $POOL_ADDRESS $POOL_ADDRESS netmask $NETMASK ip nat inside source list $ACL_ID pool $POOL_NAME overload exit show ip nat translations write memory |