IT技术互动交流平台

NAT概述

作者:七彩蜗牛  来源:IT165收集  发布日期:2015-11-23 21:12:58

引言


  • 私有IP是无法在因特网上使用的,而如今普遍使用的宽带网络(ADSL)最多所能提供给用户的IP为16个,最少则为一个,万一企业内部有50台计算机要同时连接上因特网,该如何解决呢?这个问题的正确解决办法是使用NAT,只要通过NAT的机制,就可以让成千上万台计算机同时通过一个公网IP来连上因特网。本篇属于NAT技术基础知识,包括:介绍、原理、分类以及存在的问题进行总结。

    内容


       NAT介绍

  •  
  •  
  • NAT网络地址转换(network address translation),是一种将数据包中的IP地址替换为其他IP地址的功能,此功能通常由路由器或防火墙来实现;NAT的通过利用较少的公 有IP地址来表示大量私有IP地址的方式来降低IP地址空间的耗用速度,除了此工作外,NAT在网络迁移和融合、服务器负载共享等方面也非常有用,接下来将针对NAT的实现过程进行简单介绍。

       NAT原理

        相关术语:

    •  
    • IL : 内部本地地址即分配给内部设备的地址,此类地址不会宣告到外部网络 IG: 内部全局地址即内部设备被外部网络所知晓的地址 OG:外部全局地址即分配给外部设备的地址,这些地址不会被宣告到内部网络 OL: 外部本地地址即外部设备被内部网络所知晓的地址

          实现过程:

                                                 

             说明: 

      •  
      • 当设备A向设备B发送数据包时,由NAT将数据包源地址字段中的A设备的私有IP替换为可以在internet进行路由的公有地址,并转发数据包。当设备B向设备A发送应答数据包时,数据包的目的IP将是 公有IP地址,此时NAT将目的地址替换为设备A的私有IP地址。在此过程中,NAT操作是完全透明的,即:设备A不知道203.10.5.23的存在,设备B认为设备A的地址是203.10.5.23,设备A的私有地址对B来说是不存在的。 结合NAT的相关术语可知:192.168.2.23为内部本地地址为;203.10.5.23为内部全局地址;192.31.7.130是外部全局地址,外部本地地址在NAT双向转换源地址和目的地址的时候可以看到,上述过程为NAT将设备A的私有地址替换为公有IP地址的过程,不涉及到外部本地地址。 在上述转换过程中,NAT会创建地址转换表,在地址转换表中可以清晰地看到上述4个术语。

           NAT分类

              静态NAT

        •  
        • 实现:一对一,将一个唯一的本地地址映射到一个唯一的外部地址,条目一旦创建将会永久生效,可以提供对外服务主机一个更安全的运行环境,用于企业对内部服务器的一个转换,很明显一对一的NAT转换并不能起到节省公网IP的作用。 配置:
          ip nat inside source static 192.168.2.23 203.10.5.23 (将内部本地地址替换为内部全局地址)同时在入接口和出接口需要配置:ip nat inside及ip nat outside

                动态NAT

          •  
          • 实现:多对多,将大量地址统计复用到一个较小的地址池的应用技术。配合ACL使用。 配置:
            定义转换池(内部全局地址池):ip nat pool nat-pool 203.10.5.25 203.10.5.30 netmask 255.255.255.0
            
            结合ACL定义哪些内部本地地址需要转换:access-list 1 permit host 192.168.2.23
            
            地址池和规则进行关联:ip nat inside source list 1 pool nat-pool
            
            同时在入接口和出接口需要配置:ip nat inside及ip nat outside

                  端口NAT

            •  
            • 实现:一对多:多个地址同时映射到单一地址,PAT会同时转换IP地址和端口号,来自不同地址的数据包可以被转换为同一地址,但相应的端口号不相同,这样就可以共享同一个IP地址。 配置:
              结合ACL定义哪些内部本地地址需要转换:access-list 1 permit host 192.168.2.23
              
              配置PAT:ip nat inside source list 1 interface fastEthernet 0/1 overload
              
              同时在入接口和出接口需要配置:ip nat inside及ip nat outside  

                 NAT存在的问题     

              •  
              • 虽然NAT非常有用,但是NAT并非无所不能,通过上述基础知识的了解,可以看到在NAT的处理过程中,会对IP地址和TCP端口内容进行更改,由于对IP地址和TCP端口更改后,会使得IP包和TCP包中的校验和字段发生变化,因此需要NAT机制可以完成这些校验和的重新计算。 同时许多协议和应用程序都是根据数据字段的IP地址来携带IP地址或信息,因而可能会更改被封装数据的含义,从而可能破坏该应用.如:IPSEC的VPN应用,对于IPSEC而言,如果更改了ipsec包中的IP地址,IPSEC的加密机制将会丢弃此报文,从而破坏了VPN应用。从后面的技术可以了解到NAT穿越可以解决此问题。 NAT并不能阻止拒绝服务或者会话劫持等常见攻击。

                 

延伸阅读:

Tag标签: NAT概述  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规