侧边栏壁纸
  • 累计撰写 781 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

NAT

Dettan
2021-07-10 / 0 评论 / 0 点赞 / 98 阅读 / 2,470 字
温馨提示:
本文最后更新于 2022-04-30,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
/ More / 组网 / NAT

NAT 包括四类地址:
内部本地地址
内部全局地址
外部本地地址
外部全局地址
NAT 转换有三种类型:
静态地址转换(静态 NAT)- 本地地址和全局地址之间的一对一地址映射。
静态 NAT 使用本地地址和全局地址的一对一映射。这些映射由网络管理员进行配置,并保持不变。
动态地址转换(动态 NAT)- 本地地址和全局地址之间的多对多地址映射。转换在可用的基础上进行:例如,如果有 100 个内部本地地址和 10 个内部全局地址,则任何时候都只能转换 100 个内部本地地址中的 10 个地址。动态 NAT 的这种限制使得它在用于生产网络时没有端口地址转换那么实用。
一个主机用一个全局地址,动态 NAT 使用公有地址池,并以先到先得的原则分配这些地址。内部设备请求访问外部网络时,动态 NAT 分配该池中的可用公共 IPv4 地址。
端口地址转换 (PAT) - 本地地址和全局地址之间的多对一地址映射。此方法也称为过载(NAT 过载)。例如,如果有 100 个内部本地地址以及 10 个内部全局地址,PAT 使用端口作为附加参数来提供乘数效应,从而支持重复使用 10 个内部全局地址中的任何一个地址,重复次数高达 65,536 次(这取决于通信流是基于 UDP、TCP 还是 ICMP)。
就是用通信用的端口对应公用地址的端口,一个主机大多时候用小于10的端口数,而一个ip地址有6万个端口。端口地址转换 (PAT)(也称为 NAT 过载),将多个私有 IPv4 地址映射到单个私有 IPv4 地址或几个地址。大多数家用路由器就是这样工作的。您的 ISP 分配一个地址给您的路由器,但是您的多名家庭成员可以同时上网冲浪。这是 NAT 的最常用方式。
端口确定原则
1.
会尽量保留原来的端口
2.
若原来的端口已被占用, 则 PAT 会从相应端口组(0–511、512–1023 或 1024–65535)的开头开始,分配第一个可用端口号。如果没有其他可用端口,而地址池中的外部地址多于一个,则 PAT 会进入下一地址并尝试重新分配原始的源端口。这一过程会一直持续,直到不再有可用端口或外部 IPv4 地址。
优点
1.
极大的节省公用地址
2.
增强了接入互联网灵活性,可以实施多池,备用池,负载均衡池。
3.
更换公用地址方便,不用动客户机,只需要改改连接池。特别是换ISP时,方便。
缺点
1.
性能下降。端对端功能降低。端到端 IP 可追溯性会丧失。隧道会变得更加复杂。源 TCP 连接会中断。
NAT 确实有一些缺点。互联网上的主机看起来是直接与启用 NAT 设备通信,而不是与私有网络内部的实际主机通信,这一事实会造成几个问题。
使用 NAT 的一个缺点就是影响网络性能,尤其是对实时协议(如 VoIP)的影响。转换数据包报头内的每个 IPv4 地址需要时间,因此 NAT 会增加转发延迟。第一个数据包始终是经过较慢路径的交换过程。路由器必须查看每个数据包,以决定是否需要转换。路由器必须更改 IPv4 报头,甚至可能要更改 TCP 或 UDP 报头。每次进行转换时,都必须重新计算 IPv4 报头校验和以及 TCP 或 UDP 校验和。如果缓存条目存在,则其余数据包经过快速交换路径;否则也会被延迟。
使用 NAT 的另一个缺点是端到端编址的丢失。许多互联网协议和应用程序取决于从源到目的地的端到端编址。某些应用程序不能与 NAT 配合使用。例如,一些安全应用程序(例如数字签名)会因为源 IPv4 地址在到达目的地之前发生改变而失败。使用物理地址而非限定域名的应用无法到达经过 NAT 路由器转换的目标。有时,通过实施静态 NAT 映射可避免此问题。
端到端 IPv4 可追溯性也会丧失。由于经过多个 NAT 地址转换点,数据包地址已改变很多次,因此追溯数据包将更加困难,排除故障也更具挑战性。
使用 NAT 也会使隧道协议的使用变得复杂,例如 IPsec,因为 NAT 会修改标头中的值,导致完整性检查失败。
需要外部网络发起 TCP 连接的一些服务,或者无状态协议(诸如使用 UDP 的无状态协议),可能会中断。除非对 NAT 路由器进行配置来支持此类协议,否则传入的数据包将无法到达目的地。一些协议可以支持参与通信的双方中的一方采用 NAT 机制(例如被动模式 FTP),但是当两个系统均通过 NAT 与互联网分隔时,这些协议会失败。
配置方法
显示已配置的nat
route# show ip nat translationsroute# show ip nat translations verbose 显示 详细信息,包括创建时间和使用条目的时间长短。show ip nat statistics为了验证 NAT 转换是否正常工作,最好在测试前使用clear ip nat statistics 命令清除任何之前转换的统计信息。
静态NAT
配置完之后这个路由器就是nat路由器,inside指定的是连接内网的接口,outside指定的是连接外网的接口route(config) ip nat inside source static 192.168.10.254 209.165.201.2配置端口route(config)interface s/0/1route(if-config)ip nat insideroute(if-config)exit
route(config)interface s/0/1route(if-config)ip nat outsideroute(if-config)exit
动态NAT
配置 地址池route(config) ip nat pool nat-poolname 开始地址 结束地址 掩码配置 那些地址能够通过转换,就是ACL。ACL 的末尾都有一条隐式的 deny all 语句。route(config) access-list 1 permit 192.168.0.0 0.0.255.255配置nat , 就是把地址池跟访问列表绑定起来。route(config) ip nat inside source list 1 pool nat-poolname然后就是跟静态ip一样配置端口
端口地址转换
route(config) access-list 1 permit 192.168.0.0 0.0.255.255 overload
跟上面的比就多了一个overload
0

评论区