NAT (Network AddressTranslation)

NAT的本意是通过利用较少的公有IP地址来表示大量私有IP地址的方式来降低IP地址空间的耗用速度。

NAT术语:

CiscoNAT设备将NAT世界划分为内部inside和外部outside两部分,内部网络通常是私有企业或isp,外部网络是公共internet或面向internet的服务提供商。

本地地址是内部网络中设备看见的地址,全局地址则是外部网络设备所看见的地址。

内部本地inside local:转换之前内部源地址的名字;分配给内部设备的地址,这些地址不会被宣告到外部网络。

外部本地outside global:转换之前目标主机的名字;分配给外部设备的地址,这些地址不会被宣告到内部网络中。

内部全局inside global:转换之后内部主机的名字;内部设备被外部网络所知晓的地址。

外部全局outside local:转换之后外部目标主机的名字;外部设备被内部网络所知晓地址。

IG地址被映射到IL地址,OL地址被映射到OG地址,Nat设备在地址转换表中跟踪地址映射情况。

Eg:

Router#showip nat translations

Pro  Inside global     Inside local       Outside local      Outside global

icmp203.10.5.23:86    192.168.2.23:86    192.31.7.130:86    172.16.80.91:86

icmp203.10.5.23:87    192.168.2.23:87    192.31.7.130:87    172.16.80.91:87

icmp203.10.5.23:88    192.168.2.23:88    192.31.7.130:88    172.16.80.91:88

NAT 与IP地址保护:

当内部设备向internet发送数据包时,NAT设备会从内部全局地址池中动态地选择一个公有ip地址,并将其映射到该设备的内部本地地址,该映射操作将被记录在nat表中。

当表项第一次进入NAT表时,同时启动了一个定时器,该定时器的周期被称为转换超时时间。每当该表项被用于转换数据包的源地址和目的地址后,该定时器就被重置,如果定时器到期,则将从NAT表中删除该表项,而动态分配的地址也将回到地址池中,cisco默认超时时间为86400,可以利用ip nat translationtimeout来更改默认时间。一定要确保NAT地址池足够大且装换超时时间足够小,从而保证动态地址池永远不会被耗尽。

对多对一应用来说,没有严格的本地地址空间与地址池大小的比例限制。

几乎所有的企业都拥有邮件,web及ftp服务器等需要从外部可以发访问,而这些地址需保持不变,这些系统不能使用动态NAT,必须将他们的IL地址静态映射到IG地址上,而这些静态映射的地址不能进入动态地址池。

NAT与ISP迁移:

CIDR的一个缺陷是会增加用户更改ISP时的难度。如果用户已经从ips1处分配到了地址块,但又希望将internet服务提供商更换为isp2,则只能将isp1的地址归还给isp1,并从isp2处重新换取ip地址。

假设ISP1为其用户分配一个地址空间:205.113.50.0/23,当用户迁移到ISP2 ISP2又为用户分配一个地址空间207.36.76.0/23此时用户无需为其内部系统重新分配IP地址,只要使用NAT即可。用户可以使用ISP1地址空间作为IL地址,将来自ISP2地址空间207.36.76.0/23作为IG地址,并将IL地址映射到这些IG地址上即可。

改NAT方案风险是内部本地地址可能被泄露到公众internet上,那么被泄露地址将于合法改地址的ISP1相冲突,如果ISP2S使用了严格路由过滤机制,那么这种错误将不会泄露到internet上。

另一个问题是ISP1很可能将该地址分配给用户B那么A将无法访问用户B,上述案例可以降低NAT迁移难度,但用户最终应该将内部网络重新编址为私有地址。

NAT与多归属自治系统:

CIDR的另一个不足之处是很难实现多归属到不同的服务提供商。

为了与internet建立正确的通信关系,ISP1和ISP2都需要宣告该用户的地址空间205.113.50.0/23,如果ISP2不宣告该地址,那么该用户的所有入站流量都经过ISP1;如果ISP2宣告了205.113.50.0/23而ISP1仅宣告自己的CIDR地址块那么该用户入站流量将匹配精确路由 ,从而全部选择ISP2,这样将产生如下问题:

  1. 1.    ISP1必须在其CIDR地址块中打孔,这就意味着可能需要在很多路由器上修改相应的过来路由和路由策略。

  2. 2.    ISP2必须宣告其竞争对手的部分地址空间。

  3. 3.    宣告用户的精确地址空间,那么意味着会弱化CIDR在控制internet路由表规模方面的效率。

  4. 4.    某些全国性的服务提供商不收受长于/19的前缀,也意味着internet上的某些地方无法知道该用户经过ISP2的路由。

通过NAT可以解决CIDR在多归属环境中的问题:在连接isp2的路由器上配置nat,将IG地址池设置为isp2分配的CIDR地址块,这样isp2就不用在宣告isp1的地址空间,isp1也无需再宣告用户的精确路由。

更有效的设计方案:在两台边缘路由器上都实施NAT,来自每个isp的CIDR地址块都设置为各自的NAT中的IG地址池,IL地址来自私有地址10.0.0.0。

端口地址转换:

NAT有有一种特定功能,可以将多个地址同时映射到单个地址,cisco将这种功能称为PAT(port address translation).

TCP/IP会话并不是2个IP地址之间的的包交换,而是2个ip套接字之间的包交换。套接字就是(地址,端口)二元组,PAT会同时转换IP地址和端口号,来自不同地址的数据包可以被转换为同一个地址,但对应的端口号不相同,这样就可以共享同一个地址了。

PAT工作原理:

NAT与TCP负载分发:

利用NAT可以将多台相同的服务器表示为单个地址 Eg:

外部网络设备到达的服务器地址都是206.35.91.10 但实际是内网存在4台镜像服务器,nat路由器采用轮询方式在这4台服务器之间分发会话。4台服务器必须提供相同的可访问内容。

该应用方案与基于DNS的负载查询共享方式类似,基于NAT的负载均衡也不很稳定,因为路由器并不感知服务器的故障,任然会将数据包转换发到该故障服务器,这样一来故障服务器会出现路由黑洞。

NAT与虚拟服务器:

NAT技术不仅可以让外部通过同一个地址访问所有服务,还可以将多种服务分发到不同的地址。

当外部主机向内部网络发送数据包时NAT路由器除了要检查目的地址之外,还要检查目的端口号。如果目的端口号是25 NAT路由器将该数据包目的地址转换为邮件服务器地址 192.168.50.1;同一台主机发送目的端口为80的数据包,则被路由器将数据包的目的地址转换成web服务器地址 192.168.50.2.

NAT存在的问题:

NAT底层功能

  1. 1.     头部检验

  2. 2.     分段

  3. 3.     加密:NAT路由器需放置在安全侧,而不能将其放置在被加密路径上

  4. 4.     安全:NAT不能阻止拒绝服务或会话劫持等常见***

  5. 5.     协议相关问题:cisco NAT所支持的IP流量和应用程序

http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a00801af2b9.html

 

 

Configuring Static Translation

 

Step 1 Router(config)# ip nat inside source static  local-ip  global-ip

Step 2 Router(config)# interface type number

Step 3 Router(config-if)# ip nat inside

Step 4 Router(config)# interface type number

Step 5 Router(config-if)# ip nat outside

 

 

 

Configuring Dynamic Translation with an Access List

 

Step 1 Router(config)# ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length}

Step 2 Router(config)# access-list access-list-number permit source [source-wildcard]

Step 3 Router(config)# ip nat inside source list  access-list-number pool name

Step 4 Router(config)# interface type number

Step 5 Router(config-if)# ip nat inside

Step 6 Router(config)# interface type number

Step 7 Router(config-if)# ip nat outside

 

 

 

Configuring Dynamic Translation with a Route Map

 

Step 1 Router(config)# ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length}

Step 2 Router(config)# route-map name permit sequence

Step 3 Router(config)# ip nat inside source route-map name pool name

Step 4 Router(config)# interface type number

Step 5 Router(config-if)# ip nat inside

Step 6 Router(config)# interface type number

Step 7 Router(config-if)# ip nat outside

 

 

Overloading an Inside Global Address
Step 1
Router(config)# ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length}

Step 2 Router(config)# access-list access-list-number permit source [source-wildcard]

Step 3 Router(config)# ip nat inside source list access-list-number pool name overload

Step 4 Router(config)# interface type number

Step 5 Router(config-if)# ip nat inside

Step 6 Router(config)# interface type number

Step 7 Router(config-if)# ip nat outside

 

 

 

Changing Translation Timeouts

Router(config)#ip nat translationtimeout seconds……………………not use overloading.  默认超时时间24H

Router(config)#ip nat translationudp-timeout seconds

Router(config)#ip nat translationdns-timeout seconds

Router(config)#ip nat translationtcp-timeout seconds

Router(config)#ip nat translationfinrst-timeout seconds

Router(config)#ip nat translationicmp-timeout seconds

Router(config)#ip nat translationsyn-timeout seconds

转载于:https://blog.51cto.com/luost/1687303

Network Address Translation 网络地址转换相关推荐

  1. NAT(Network Address Translation)网络地址转换

    NAT(Network Address Translation)网络地址转换 (不止能pingt通,可以访问网站) 背景:IPv4地址不够用 IPv6 IPv4:32位 2^32 IPv6:128位 ...

  2. NAT-PT (Network Address Translation-Protocol)网络地址转换协议转换

    NAT-PT (Network Address Translation-Protocol)网络地址转换协议转换 一.简介 NAT-PT (Network Address Translation-Pro ...

  3. NAT(Network Address Translator,网络地址转换)

    NAT(Network Address Translator,网络地址转换),NAT是将一个IP地址转换为另一个IP地址的功能.通常,一个局域网由于申请不到足够多的IP地址,或者只是为了编址方便,在局 ...

  4. 硬件nat关闭还是开启_NAT(Network Address Translation)网络地址转换技术详解

    NAT简介 NAT:Network Address Translation,网络地址转换 NAT技术的工作原理和特点 NAT名字很准确,网络地址转换,就是替换IP报文头部的地址信息.NAT通常部署在一 ...

  5. bridged networking(桥接模式)和network address translation(NAT模式)

    在NAT模式下: 王五的主机里面的虚拟机有一个虚拟的网卡有一个IP地址192.168.100.88,可以在内部生成一个虚拟的地址192.168.100.99与之通信,然后通过代理利用主机的192.16 ...

  6. OSI(open system internet)七层模型介绍以及NAT(Network Address Translation)技术详解

    文章目录 1- OSI七层模型介绍 2- 物理层 (1)作用 (2)常见协议 3- 数据链路层 (1)作用 (2)常见协议 [1]ARP协议(地址解析) [2]RARP协议(逆地址解析) [3]PPP ...

  7. iptables 网址转译 (Network Address Translation,NAT)

    当封包流经NAT電腦時,其位址/通訊端口會被修改,以達到改变包目的地(或旅程),或是让目的地误以为包是源自NAT电脑的效果.換言之,对封包执行NAT的电脑,可以成为新包的来源或目的地,或是成为真正来源 ...

  8. 细致讲解一下NAT网络地址转换技术

    目录 静态nat 静态nat配置 动态nat 动态nat配置 NAPT(Network Address and Port Translation,网络地址端口转换 NAPT配置 Easy IP Eas ...

  9. 网络名称 转换 网络地址_网络地址转换| 计算机网络

    网络名称 转换 网络地址 At the time of classful addressing, the number of household users and small businesses ...

最新文章

  1. 美国计算机专业录取率,美国留学高录取率院校计算机专业申请条件是什么? 爱问知识人...
  2. Android在ListView滑动数据混乱
  3. linux导出并追加到文件,linux – 如何将awk结果输出到文件
  4. 在计算机中常用的数据表示方法有哪些,数据在计算机中的表示方法
  5. 电子设计竞赛(三)-SPWM与PID
  6. Arduino笔记-WeMos D1开发环境搭建及亮灯
  7. java jsr305_java – 为什么我需要添加神器JSR305才能使用Guava 14?
  8. spark 设置主类_最近Kafka这么火,聊一聊Kafka:Kafka与Spark的集成
  9. “21天好习惯”第一期-9
  10. 2012年最新75款免费的专业英文字体下载【下篇】
  11. 系统集成项目管理工程师有什么用,你真的了解吗?
  12. 大数据商业化应用的价值和应用场景是什么?
  13. Word文档如何生成目录?
  14. qt emit是什么意思_2020年12月12日 无赞赏QT吗哪 :如天上的星星永远发光的信仰...
  15. 中柏pad7安装linux,中柏电脑下载与安装win7iso镜像系统教程
  16. android正反面切换,普通安卓手机数据线可以正反插吗?你一定猜错了
  17. 拼多多新手商家开直通车一定要避免的雷区有哪些?
  18. 微信小程序的简单登录
  19. 虎扑网站服务器垃圾,虎扑拿下域名hupu.com 游击队摇身一变正规军
  20. mysql占用内存过高_mysql数据库占用内存过高解决办法

热门文章

  1. hdu 4283 You Are the One ( dp 2012 ACM/ICPC Asia Regional Tianjin Online )
  2. 也写Jquery插件,拖动布局
  3. 【体系结构】Oracle段区块的个人理解
  4. Linux之ssh-copy-id命令
  5. Java中构造函数,静态代码块,构造代码块的执行顺序
  6. pycharm搭建spark环境
  7. MVC5 Entity Framework学习参加排序、筛选和排序功能
  8. Android 动画的分类
  9. Android下pm命令详解
  10. BarTender的集成小结