nat 订阅
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。 展开全文
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。
信息
简    称
nat
可用于
专用网和因特网通信
方    法
在专用网连接到因特网的路由器上安装NAT软件
中文名
网络地址转换
外文名
NAT(Network Address Translation)
提出时间
1994年
nat功能
NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。1.宽带分享:这是 NAT 主机的最大功能。2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。
收起全文
精华内容
下载资源
问答
  • NAT

    千次阅读 多人点赞 2020-11-01 21:49:23
    NAT NAT (Network Address Translation) 又称为网络地址转换,用于实现私有网络和公有网络之间的互访。 私有网络地址和公有网络地址 公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日...

    NAT

    NAT (Network Address Translation) 又称为网络地址转换,用于实现私有网络和公有网络之间的互访。

    私有网络地址和公有网络地址

    公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日, 是人类互联网时代值得纪念的天,全球近43亿个IPv4地址已正式耗尽。
    A:1.0.0.1~126.255.255.254
    B:128.0.0.1~191.255.255.254
    C:192.0.0.1~223.255.255.254
    D:224.0.0.1~239.255.255.254
    E:240.0.0.1~255.255.255.254

    私有网络地址(以下简称私网地址)是指内部网络或主机的IP地址,IANA (互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet.上被分配,可在一个 单位或公司内部使用。RFC1918中规定 私有地址如下:

    A类私有地址: 10.0.0.0~ 10.255.255.255

    B类私有地址: 172.16.0.0~172.31.255.255

    C类私有地址: 192.168.0.0~ 192.168.255.255

    一、NAT

    1.1 NAT的工作原理

    1、NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信

    2、NAT外 部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信, 路由器负责建立一个映射关系,从而实现数据的转发

    1.2 NAT功能

    NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免米自网络外部的入侵,隐藏并保护网络内部的计算机。

    1、宽带分享: 这是NAT主机的最大功能。

    2、安全防护: NAT之内的PC联机到Internet上面时,他所显示的IP是NAT主机的公网IP,所以client端的PC就具有一定程度的安全了,外界在进行portscan (端口扫描)的时候,就侦测不到源client端的PC 。

    1.3 NAT优缺点

    优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性

    缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如IVPN)

    1.4 静态NAT

    静态NAT实现私网地址和公网地址的一对一 转换。 有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kU8pHXDw-1604218223518)(D:/YoudaoNote/qq1876F4736CC56A429BDDA63C84983233/7c27af0f253c4e3ea94e879be4d1532c/clipboard.png)]

    路由器三个表
    路由表数据包通过目的IP查路由表转发
    ACL访问控制表过滤数据包,拒绝、放行
    NAT转换表内网转外网变源IP,外网转内网变目的IP

    内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址;

    外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。

    1.4.1 有2种配置方法

    第一种:全局模式下设置静态NAT

    [R1]nat static global 8.8.8.8 inside 192.168.10.10
    
    [R1]int g0/0/1              ##外网口
    
    [R1-GigabitEthernet0/0/1]nat static enable           ####在网口上启动nat static enable 功能
    

    第二种:直接在接口上声明nat static

    [R1]int g0/0/1          ##外网口
    
    [R1-GigabitEthenet0/0/1]nat static global 8.8.8.8 inside 192.168.10.10
    
    [R1]dis nat static           ####查看NAT静态配置信息
    

    1.5 动态NAT

    多个私网IP地址对应多个公网IP地址,基于地址池一对一映射

    1、配置外部网口和内部网口的卫地多↑公网IP地址,基于地址池.对-映射

    2、定义合法IP地址池

    [R1]nat address-group 1 212.0.0.100  212.0.0.200     ####新建一个名为1的nat地址池
    

    3、定义访问控制列表

    [R1]acl 2000        ####创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
    
    [R1-acl-basic-2000]rule permit source 192.168.20.0  0.0.0.255
    
    [R1-acl-basic-2000]rule permit source 11.0.0.0 0.0.0.255
    

    4、在外网口上设置动态IP地址转换

    [R1-acl-basic-2000]int g0/0/1         ###外网口
    
    [R1 -GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat     ###将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat不做端口转换,只做IP地址转换,默认为pat)
    
    [R1]dis nat outbound                  ####查看NAT Outbound的信息
    

    二、PAT端口多路复用

    PAT又称为NAPT (Hetwork Address Port Translation) ,它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。

    2.1 PAT的基木原理:

    将不同私网地址的报文的源IP地址转换为同公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。

    2.2 PAT有以下作用

    1、改变数据包的ip地址和端口号:

    2.、能够大量节约公网IP地址。

    2.3 PAT的类型有以下:

    1、动态PAT.包括NAPT和Easy IP

    2、静态PAT包括NAT Server

    2.4 NAPT

    多个私网IP地址对应固定外网IP地址(比如1200.1.1.10),配置方法与动态NAT类似

    1、配置外部网口和内部网口的IP地址

    2、定义合法IP地址池

    [R1]nat address-group 1 200.1.1.10 200.1.1.10              ####使用一个固定IP
    

    3、定义访问控制列表

    [R1]acl 2000   ##允许源地址为192.168. 30.0/24网段的数据通过
    
    [R1-acl-adv-2000]rule permit source 192.168.30.0   0.0.0.255
    

    4、在外网口上设置IP地址转换

    [R1-acl-basic-2000]int g0/0/1              #####外网口
    
    [R1-GlgabltEthernet0/0/1]nat outbound 2000 address-group 1
    

    2.5 EasyIp

    多个私网IP地址对应外网口公网IP地址(例如112.0.0.1)

    1、配置外部网口和内部网口的IP地址

    2、定义合法IP地址池

    由于直接实验外网口IP地址所以不用再定义IP地址池

    3、定义访问控制列表

    [R1]acl 3000               ###允许源地址为192.168.30.0/249段的数据通过
    
    [R1-acl-adv-3000]rule permit ip source 192.168.30.0  0.0.0.255
    

    4、在外网口上设置IP地址转换

    [R1]Int g0/0/1               ###外网口
    
    [R1-GigabitEthernet0/0/1]nat outbound 3000
    
    ##当acl3000匹配的源IP数据到达此接口时,转换为该接口的IP地址做为源地址
    
    [R1]display nat session all                    ####查看NAT的流表信总
    

    2.6 NAT Server

    端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问

    [R1]int g0/0/1
    
    [R1 -GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www                    ###在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定
    
    [R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 10.1.1.1 www    ####在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
    
    [R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp
    
    -interface 8080 inside 10.1.1.1 www    ####在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
    
    [R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp
    ###端口为21可以直接使用关键字“ftp”代替
    

    三、例

    3.1 静态NAT

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    e/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0l2eVhZVw==,size_16,color_FFFFFF,t_70#pic_center)

    在这里插入图片描述

    3.2 动态NAT

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.3 Easy IP

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.4 NAT Server

    端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问

    [R1]int g0/0/1
    [R1 -GigabitEthernet0/0/1]nat server protocol tcp global 9.9.9.9 www inside 192.168.10.100 www               #在连接公网的接口上将私网服务器地址和公网地址做一对NAT映射绑定
    
    
    [R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 10.1.1.1 www    #在连接公网的接口上将私网服务器地址和外网接口做一对NAT映射绑定
    [R1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 2121 inside 10.1.1.2 ftp
    #端口为21可以直接使用关键字“ftp”代替
    
    展开全文
  • NAT 详解

    万次阅读 多人点赞 2017-09-13 15:39:53
    NAT技术(一、二、三、四、五) 系列:https://blog.51cto.com/wwwcisco/category1.html CCNA学习笔记之NAT:http://sweetpotato.blog.51cto.com/533893/1392884 网络地址转换NAT原理及应用:...

     

    NAT技术(一、二、三、四、五) 系列:https://blog.51cto.com/wwwcisco/category1.html

    CCNA学习笔记之NAT:http://sweetpotato.blog.51cto.com/533893/1392884
    网络地址转换NAT原理及应用:http://blog.csdn.net/xiaofei0859/article/details/6630467
    NAT技术基本原理与应用:http://www.cnblogs.com/dongzhuangdian/p/5105844.html
    NAT地址转换原理全攻略:http://blog.csdn.net/lycb_gz/article/details/12079455
    NAT基本结构和分类:http://blog.csdn.net/lycb_gz/article/details/11999459

     

     

    NAT 

     

    一、概述

     

            NAT ( Network Address Translation ) 中文意思是"网络地址转换",它是一个IETF(Internet Engineering Task Force, Internet工程任务组) 标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。NAT 可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。

     

    RFC1918规定了三块专有的地址,作为私有的内部组网使用:

    • A类:10.0.0.0—10.255.255.255      10.0.0.0/8
    • B类:172.16.0.0—172.31.255.255   172.16.0.0/12
    • C类:192.168.0.0—192.168.255.255 192.168.0.0/16

    这三块私有地址本身是可路由的,只是公网上的路由器不会转发这三块私有地址的流量;当一个公司内部配置了这些私有地址后,内部的计算机在和外网通信时,公司的边界路由会通过NAT或者PAT技术,将内部的私有地址转换成外网IP,外部看到的源地址是公司边界路由转换过的公网IP地址,这在某种意义上也增加了内部网络的安全性。

            Basic NAT是一种把一组IP地址映射成另一组IP地址的方法,映射的过程在IP中继设备上完成,对用户完全透明。NAPT则要复杂一些,它把许多(不能太多)IP地址连同TCP/UDP端口号映射到单独一个IP地址和端口号上。无论是Basic NAT还是NAPT都提供一种把内部的私有地址转换成在公网上可用的全球唯一IP地址的方法。

     

    分类

     

    NAT有三种类型:

    1. 静态 NAT ( Static NAT )( 一对一 )。将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一直不变的。
    2. 动态地址 NAT ( Pooled NAT )(多对多)。将内部网络的私有 IP 地址转换为公用 IP 地址时,IP 地址是不确定,随机的。所有被授权访问 Internet 的私有 IP 地址可随机转换为任何指定合法的 IP 地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态 NAT 转换。动态 NAT 是在路由器上配置一个外网 IP 地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网 IP,并将他们的对应关系绑定到 NAT 表中,通信结束后,这个外网 IP 才被释放,可供其他内部 IP 地址转换使用,这个 DHCP 租约 IP 有相似之处。当 ISP 提供的合法 IP 地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
    3. 网络地址端口转换 NAPT(Network Address Port Translation)(Port-Level NAT)( 多对一 )。改变外出数据包的源端口并进行端口转换,采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部 IP 地址实现对 Internet 的访问,可以最大限度地节约 IP 地址资源。同时,也可以隐藏网络内部的所有主机,有效避免来自 Internet 的攻击。因此,目前网络中应用最多的就是 PAT 规则。这是最常用的 NAT 技术,也是 IPv4 能够维持到今天的最重要的原因之一,它提供了一种多对一的方式,对多个内网 IP 地址,边界路由可以给他们分配一个外网 IP,利用这个外网 IP 的不同端口和外部进行通信。NAPT 与 动态NAT 不同,它将内部连接映射到外部网络中的一个单独的 IP 地址上,同时在该地址上加上一个由 NAT 设备选定的端口号。
      NAPT 是使用最普遍的一种转换方式,在 HomeGW 中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。
              (1) 源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。
              (2) 目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

     

    对于 NAT 网络地址转换 ) 技术来讲,最重要的一点是,在配置 NAT 的路由器上形成了 NAT 转换表,这个转换表的形成是非常关键的。配置 NAT 后,能形成正确的转换表,那么我们的工作就算成功了。

     

    NAT 的三个方向:
    NAT 在outside口生效,所有在inside口需要先路由,在 outside 口先 nat。
    ip nat inside source:
    将内部局部地址转换为内部全局地址;数据方向inside->outside,在outside上执行转换;
    ip nat inside destination:
    将内部全局地址转换为内部局部地址;数据方向outside->inside,在outside上执行转换
    ip nat outside source:
    将外部全局地址转换为外部局部地址;数据方向outside->inside,在outside上执行转换;

     

    NAT 的应用分类:

    ip nat source:

    • (1) 静态 nat 的映射:永远一个 ip 对应另外一个 ip 。 
                命令:ip nat inside source static A.B.C.D A.B.C.D   
    • (2) 动态 nat 的映射:每次一个 IP 会对应另外一个公网的 IP;
                命令:ip nat inside source list 2 pool qing
    • (3) 动态 PAT 映射:pool 里面只有一个 IP。
                命令:ip nat inside source list 2 pool qing overload
    • (4) 静态 PAT 映射:
                命令:
                      ip nat inside source list 3 interface fastEthernet 0/0 overload
                      ip nat inside destination:

                      tcp 负载均衡,外网主动发起流量访问内网服务器。只用动态,没有静态。
                      ip nat inside destination list 10 pool feng
                      ip nat outside source:

                      当两端同时做 nat 既 inside 和 outside 需要同时翻译并出现地址冲突的时候,
                      需要用 outside source 和其他同时命令同时实现。

    Cisco 路由器 配置 3 种 NAT 的主要命令:

    Cisco路由器配置3中NAT的主要命令:
    
      静态NAT:
         1、指定NAT内部接口
             在内网相应接口的接口配置模式下执行:ip nat inside
         2、指定NAT外部接口
             在外网相应接口的接口配置模式下执行:ip nat outside
         3、在内部本地地址与内部全局地址之间建立静态地址转换关系:
             ip nat insde source static 内部本地地址 内部全局地址
    
      动态地址NAT:
         1、指定NAT内部接口
             在内网相应接口的接口配置模式下执行:ip nat inside
         2、指定NAT外部接口
             在外网相应接口的接口配置模式下执行:ip nat outside
         3、在全局配置模式下,定义一个标准的access-list规则,声明允许哪些内部本地地址可以进行动态地址转换:
             access-list list-number permit 源地址 通配符
             其中,list-number为1-99之间的一个任意整数。
         4、在全局配置模式下,定义内部全局地址池:
             ip nat pool 地址池名  起始IP地址  终止IP地址  netmask  子网掩码
             其中,地址池名可以任意设定,但最好有一定的说明意义。
         5、在全局配置模式下,定义符合先前定义的access-list规则的IP数据包与先前定义的地址池中的IP地址进行转换:
             ip nat inside source list list-number pool 内部全局地址池名
    
      网络地址端口转换NAPT:
         1、指定NAT内部接口
             在内网相应接口的接口配置模式下执行:ip nat inside
         2、指定NAT外部接口
             在外网相应接口的接口配置模式下执行:ip nat outside
         3、在全局配置模式下,定义内部全局地址池:
             ip nat pool  地址池名  起始IP地址  终止IP地址  netmask  子网掩码
             其中,地址池名可以任意设定,但最好有一定的说明意义。
         4、在全局配置模式下,定义一个标准的access-list规则,声明允许哪些内部本地地址可以进行复用地址转换:
             access-list list-number permit 源地址 通配符
             其中,list-number为1-99之间的一个任意整数。
         5、在全局配置模式下,定义符合先前定义的access-list规则的IP数据包与先前定义的地址池中的IP地址进行复用地址转换:
             ip nat inside source list list-number pool 内部全局地址池名 overload

     

     

    二、工作原理

     

    了解原理之前先了解下 NAT 术语。

    在配置了 NAT 的路由器上,可以把整个网络分成两部分:内部网络  和 外部网络

     

    NAT 技术中有四个术语:

    1. 内部本地地址(Inside Local):内网中设备所使用的IP地址
    2. 内部全局地址(Inside Global):对于外部网络来说,局域网内部主机所表现的 IP 地址。
    3. 外部本地地址(Outside Local):外部网络主机的真实地址。
    4. 外部全局地址(Outside Global):对于内部网络来说,外部网络主机所表现的 IP 地址。外网设备所使用的真正的地址。

    local 、global 是相对于端口状态说的,local 是 inside 部分可以被路由的,global 是 outside 部分可以被路由的。

    网络地址转换常常和代理服务搞混,但是它们之间有明确的不同。NAT 对源和目的计算机都是透明的。没有任何一方会意识到它正在和第三方设备打交道。但是代理服务却不是透明的。源计算机知道它正向代理服务器发起一个请求,而且你还必须进行配置才能这样做。目的计算机会认为代理服务器就是与它直接通信的源计算机。还有,代理服务通常工作在 OSI 参考模型的第 4 层 (传输层) 或更高,而 NAT 工作在第 3 层 (网络层)。由于代理服务工作在更高层,所以通常它将比 NAT 要慢。

    NAT 工作在 OSI 参考模型的网络层 (第3层) 是有道理的,因为路由器就工作在这一层:

     

    NAT 原理

            NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。每个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这意味着给处理器带来了一定的负担。但对于一般的网络来说,这种负担是微不足道的。在运行NAT的路由器中,当数据包被传送时,NAT可以转换数据包的IP地址和TCP/UDP数据包的端口号。设置NAT功能的路由器至少要有一个Inside(内部)端口和一个Outside(外部)端口。内部端口连接内网的用户,外部端口一般连接到Internet。当IP数据包离开内部网络时,NAT负责将内网IP源地址(通常是专用地址)转换为合法的公共IP地址。当IP数据包进入内网时,NAT将合法的公共IP目的地址转换为内网的IP源地址。

            NAT的基本工作原理是:当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。

            当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选用的内部全局地址(全球唯一的IP地址)来替换内部局部地址,并转发数据包。 

            当外部网络对内部主机进行应答时,数据包被送到NAT路由器上,路由器接收到目的地址为内部全局地址的数据包后,它将用内部全局地址通过NAT映射表查找出内部局部地址,然后将数据包的目的地址替换成内部局部地址,并将数据包转发到内部主机。

            其实主要就是 修改 IP 数据包中的源 IP 地址,或目的 IP 地址。主要目的是把 RFC1918所提议的私有地址转变成在 Internet 上可路由的公有合法地址。对于某些有限的应用(如 DNS、 FTP 等),它也可以修改 IP 数据包有效载荷中的地址。由于应用的复杂性, NAT 目前支持的应用有限,当然,如果需要,完全可以针对新的应用做相应的开发工作。

            总体来说,NAT进行地址转换的过程就是“本地地址”与“全局地址”之间的转换过程,无论数据包是从内部网络发往外部网络,还是从外部网络发往内部网络。不同的只是本地地址和全局地址所对应的网络不同,以及数据包重新封装的源和目的地址不同。具体如图所示。

     

    NAT基本地址转换原理

    这个过程是通过NAT中的本地址与全局地址映射条目来实现的,所以事先要在NAT路由器上配置这样的映射条目。

     

    NAT中的转换方式:

    1. 从内网中设备上发出的IP包是以“inside local address”作为源地址,以“outside local address”作为目的地址。当数据包到达NAT设备的“inside”接口后,地址分别被翻译成“inside global address”和“outside global address”并从“outside”接口送出。
    2. 外网设备上发出的IP包以“outside global address”作为源地址,以“inside global address”作为目的地址。当数据包到达NAT设备的“outside”接口后,地址分别被翻译成“outside local address”和“inside local address”并从“inside”接口送出。

     

            当内部网络用户访问外部网络时,所进行的是“内部本地地址”和“内部全局地址”之间的转换。
            在NAT路由器接收到来自内部网络主机发送的数据包时,其源IP地址(SA)为“内部本地地址”,目的IP地址(DA)为“外部本地地址”。当数据包被转发到外部网络时,数据包的源IP地址(SA)就会转变为“内部全局地址”,而目的IP地址(DA)被转变为“外部全局地址”。也就是把数据包的所有源IP地址(SA)和目的IP地址(DA)全部由本地地址转换为全局地址。如图6-9上部分数据包IP地址转换示意图。
            相反,当外部网络用户访问内部网络时,所进行的是“外部本地地址”和“外部全局地址”之间的转换。
            在NAT路由器接收到来自外部网络主机发送的数据包时,其源IP地址(SA)就是“外部全局地址”,目的IP地址(DA)就是“内部全局地址”。相当于由内部网络向外部网络发送数据包时数据包中的源IP地址(SA)和目的IP地址(DA)的互换。而当数据包被路由器转发到本地网络时,源IP地址(SA)被转变为“外部本地地址”,目的IP地址(DA)被转变为“内部本地地址”,也相当于由内部网络向外部网络发送数据包时数据包中的源IP地址(SA)和目的IP地址(DA)的互换。如图6-9下部分数据包IP地址转换示意图

     

    NAT基本IP地址转换原理

    以上是从总体上介绍NAT的IP地址转换原理的,实际NAT应用有时并不需要对源IP地址和IP地址进行全面替换,仅需要对源IP地址或者仅需要对目的IP地址进行转换即可达到所需的目的。下面予以介绍。

     

    内部地址NAT转换原理

            多数情况下使用NAT的目的就是为了使内部网络中的多个用户能使用一个注册IP地址访问外部网络,所以仅需要配置内部地址NAT转换。即通过ip nat inside source命令实现“内部本地地址”到“内部全局地址”之间的转换(既可以采用静态NAT方式实现,也可以采取动态NAT方式实现),只需要定义内部本地址与内部本局地址的映射。

     

    一个简单的 NAT 转换示例

    这是一个简单的NAT转换示例。要实现以下目的:当NAT路由器的内部网络s0接口上接收到一个源地址为内部本地地址10.10.10.1,目的IP地址为外部本地地址171.16.68.1的数据包时,在转发到s1接口时,原来数据包源地址的内部本地地址10.10.10.1被转换成内部全局地址171.16.68.5,但目的地址不变,然后继续发送。在这个过程中,所进行的只是数据包中源IP地址的转换,由内部本地地址向内部全局地址转换,且只是内部地址之间的转换。

            相反,当在NAT路由器的外部网络接口s1上接收源地址为172.16.68.1外部本地地址,目的地址为内部全局地址172.16.68.5的外部服务器响应数据包时,目的地址将被转换成10.10.10.1这个内部本地地址,然后继续发送。在这个过程中,所进行的只是数据包中目的IP地址的转换,由内部全局地址向内部本地地址转换,也只是内部地址之间的转换。

    下面仅以静态NAT转换方式为例介绍内部地址转换的配置步骤,详细的NAT配置方法将在本章后面具体介绍。

    (1)使用“ip nat inside source static”全局配置命令启用基于内部源IP地址的静态NAT IP地址转换。也就是定义内部本地地址和内部全局地址,使它们之间形成一一对应的映射关系。

    Router(config)#ip nat inside source static 10.10.10.1 171.16.68.5   
     !--- 在内部本地地址10.10.10.1与内部全局地址171.16.68.5之间建立静态NAT映射关系,
     !--- 使内部网络主机知道要以171.16.68.5这个地址到达外部网络主机

    (2)使用以下两条语句配置路由器的s0为NAT的内部网络接口。

    Router(config)#interface s0    !---  进入s0串口配置模式
    Router(config-if)#ip nat inside    !--- 把s0串口指定为内部网络接口

    (3)使用以下两条语句配置路由器的s1为NAT的外部网络接口。

    Router(config)#interface s1    !--- 进入s1串口配置模式
    Router(config-if)#ip nat outside   !--- 把s1串口指定为外部网络接口

    (4)使用show ip nat translations特权模式命令验证上述进行的路由器NAT配置。输出信息中显示以上配置的NAT条目配置为:内部本地地址为10.10.10.1,内部全局地址为171.16.68.5。这与上面的配置是一致的,证明配置是成功的。

    Router#show ip nat translations   !--- 在特权模式下显示当前路由器NAT配置
     
    Pro     Inside global      Inside local       Outside local      Outside global
    ---     171.16.68.5        10.10.10.1            ---                 ---

    此时如果对外部网络目的主机进行ping操作,就会有数据包从内部网络转发到外部网络。然后再在路由器特权模式下执行“show ip nat translations”命令,显示的NAT信息如下。多了一条icmp协议类型数据包(执行ping操作后加的)显示,但因为此时没有配置外部网络的本地地址和全局地址,所以显示的外部本地地址和外部全局地址都是一样的,都是ping操作目的主机地址171.16.68.1。

    Router#show ip nat translations
     
    Pro       Inside global          Inside local        Outside local      Outside global
    icmp     171.16.68.5:15         10.10.10.1:15       171.16.68.1:15     171.16.68.1:15
    ---       171.16.68.5            10.10.10.1             ---                 ---

    通过以上配置后,从内部网络发往外部网络的数据包只是源地址(SA)将在经过路由器后进行转换(由内部本地地址10.10.10.1转换成内部全局地址171.16.68.5),但目标地址(DA)不变,但从外部网络发往内部网络的应答数据包的源地址没有改变,只是经过路由器后的数据包目的地址发生了转换(由内部全局地址172.16.68.5转换成内部本地地址10.10.10.1),但源地址(SA)不变。因为此时还没有为NAT路由器配置外部网络的本地地址和全局地址转换。
    此时,数据包在内、外部网络中的源地址、目的地址的转换方式参如图

    【经验之谈】在内部地址的NAT转换中,无论数据包来自哪里,数据包中地址变化的只是内部地址之间的转换。但要注意,地址变化所对应的是源地址,还是目的地址是要看数据包是来自内部网络,还是来自外部网络:如果是来自内部网络,转换是源地址;如果是来自外部网络,转换的是目的地址。

     

    外部地址NAT转换原理

    当公司服务器位于内部网络,使用内部网络私有IP地址,为了方便外部网络用户对内部网络服务器进行访问,则需要使用ip nat outside source命令配置“外部全局地址”与“外部本地地址”之间的转换(既可以采用静态NAT方式实现,也可以采取动态NAT方式实现)。外部地址NAT转换与上节介绍的内部地址NAT转换是相反的,它仅需要定义外部地址(包括外部本地地址和外部全局地址)。

    下面同样以上面那个简单的NAT转换示例进行介绍。本示例要实现的目的是:当NAT路由器外部网络接口s1接收到来自外部网络用户发送的源IP地址为外部全局地址171.16.68.1,目的地址为外部本地地址10.10.10.1的数据包在被路由器转发到s0接口时,数据包中的源IP地址转变为外部本地地址10.10.10.5(即由外部全局地址转换成外部本地地址),目的IP地址不变,即也只是源IP地址的转换;而由内部网络用户发送的响应数据包中,却只是目的IP地址(即由外部本地地址转换为外部全局地址)的转换,源IP地址不变。
    下面仅以静态NAT转换方式为例介绍外部地址NAT转换的配置步骤,详细的NAT配置方法将在本章后面具体介绍。

    (1)使用ip nat outside source static全局配置命令启用基于外部源IP地址的静态NAT IP地址转换。也就是定义外部全局地址和外部本地地址之间的映射关系。

    Router(config)#ip nat outside source static 171.16.68.1 10.10.10.5     
        !--- 在外部全局地址171.16.68.1与外部本地地址10.10.10.5之间建立静态NAT转换关系,
        !--- 使外部网络主机知道要以10.10.10.1这个地址到达内部网络主机

    (2)使用以下两条语句配置路由器的s0作为NAT的内部网络接口。

    Router(config)#interface s0
    Router(config-if)#ip nat inside

    (3)使用以下两条语句配置路由器的s1作为NAT的外部网络接口。

    Router(config)#interface s1
    Router(config-if)#ip nat outside

    【注意】对于特定的NAT网络来说,路由器上的内、外部网络接口是固定的,不会随着通信方向的改变而改变。如在上节介绍的内部地址的NAT转换示例中,我们同样是把s0接口作为内部网络接口,s1接口作为外部网络接口。

    (4)使用show ip nat translations特权模式命令验证上述进行的路由器NAT配置。从中可以看出,此时NAT的外部本地地址为10.10.10.5,外部全局地址为171.16.68.1。这与上面的配置是一致的,证明配置是成功的。

    Router#show ip nat translations
     
    Pro    Inside global          Inside local          Outside local      Outside global
             --- ---                   ---               10.10.10.5          171.16.68.1

    同样,如果此时执行一个从外部网络主机(171.16.68.1)到内部网络主机(10.10.10.1)的ping操作,然后再在路由器特权模式下执行“show ip nat translations”命令,则显示如下结果。因为此时仅配置了外部本地地址和外部全局地址,所以结果中显示的内部本地地址和全局地址都是一样的,都是ping操作目的主机地址10.10.10.1。

    Router#show ip nat translations
     
    Pro        Inside global       Inside local         Outside local        Outside global
                 --- ---             ---                10.10.10.5           171.16.68.1
    icmp       10.10.10.1:37       10.10.10.1:37      10.10.10.5:37        171.16.68.1:37

    与上节介绍的仅配置内部地址相反,此处从外部网络发往内部网络的数据包的源IP地址(SA)将在经过路由器后进行转换(由外部全局地址171.16.68.1转换成外部本地地址10.10.10.5),但目标地址(DA)不变;但从内部网络发往外部网络的响应数据包的源IP地址没有改变,只是经过路由器后的数据目的IP地址发生了改变(由外部本地地址10.10.10.5转换成外部全局地址171.16.68.1)。因为此时还没有为NAT路由器配置内部本地地址和内部全局地址转换。此时,数据包在内、外部网络中的源IP地址、目的IP地址的转换方式如图6-12所示。

    【经验之谈】在仅进行外部地址NAT转换时,无论数据包来自哪里,数据包中地址变化的只是外部地址之间的转换。同样也需注意,地址变化所对应的是源IP地址,还是目的IP地址是要看数据包是来自内部网络,还是来自外部网络:如果来自内部网络,转换是目的IP地址;如果来自外部网络,转换的是源IP地址。这与前面的内部地址NAT转换是对应相反的。

    外部地址NAT转换示例

     

    内/外部地址NAT转换原理

            下面介绍同时进行内、外部地址NAT转换原理及基本配置步骤。它需要同时使用ip nat inside source命令定义“内部全局地址”与“内部本地地址”之间的转换,及使用ip nat outside source命令定义“外部全局地址”和“外部本地地址”之间的转换(既可以采用静态NAT方式实现,也可以采取动态NAT方式实现)。这样,无论数据包是从哪个方向发送的,数据包中的源地址和目的地址都将同时发生变化。主要应用于重叠网络(Overloading Network)中的NAT应用中。具体配置方法将在本章6.6节介绍。
            同样以那个简单的NAT转换示例的基本网络结构为例进行介绍。在下面的示例中,通过配置可以实现:当NAT路由器内部网络接口s0接收到来自内部网络,源IP地址为内部本地地址10.10.10.1,目的IP地址为外部本地地址10.10.10.5的数据包,在转发到s1接口前,将这个数据包中的源IP地址将转换成内部全局地址171.16.68.5,目的IP地址将被转换成外部全局地址171.16.68.1。
            当NAT路由器外部接口s1接收到来自外部网络,源IP地址为外部全局地址171.16.68.1,目的地址为内部全局地址172.16.68.5的数据包时,将源IP地址转换成外部本地地址10.10.10.5,将目的IP地址将被转换成内部本地址10.10.10.1。
            下面仅以静态NAT转换方式(可以采用动态NAT转换方式)为例介绍内、外部地址同时转换的配置步骤,详细的静态,或者动态NAT转换配置方法将在本章后面具体介绍。

    Router(config)#ip nat inside source static 10.10.10.1 171.16.68.5    
    !--- 在内部本地地址10.10.10.1与内部全局地址171.16.68.5之间建立静态NAT映射关系,
    !--- 使内部网络主机知道要以171.16.68.5这个地址到达外部网络主机
    
    
    Router(config)#ip nat outside source static 171.16.68.1 10.10.10.5    
    !--- 在外部全局地址171.16.68.1与外部本地地址10.10.10.5之间建立静态NAT映射关系,
    !--- 使外部网络主机知道要以10.10.10.5这个地址到达内部网络主机
    
    Router(config)#interface s 0
    Router(config-if)#ip nat inside
    Router(config-if)#end
    Router(config)#interface s 1
    Router(config-if)#ip nat outside
    Router(config-if)#end
    Router(config)# end
    Router#show ip nat translations
     
    Pro   Inside global      Inside local         Outside local        Outside global
             --- ---           ---                 10.10.10.5           171.16.68.1
           171.16.68.5        10.10.10.1            ---                    ---

    同样,如果此时分别执行一个从内部主机到外部主机,以及从外部主机到内部主机的ping操作,然后再在路由器特权模式下执行“show ip nat translations”命令,则显示如下结果。因为此时同时配置了内、外部本地地址和全局地址,所以结果中显示了两条NAT配置项,分别显示了与外部网络和内部网络中的本地地址和全局地址转换对应的ping操作icmp消息:与外部本地地址和全局地址对应的Ping操作ICMP消息中显示内部网络中的本地地址和全局地址是一样的,而与内部网络本地地睛和全局地址对应的Ping操作ICMP消息中显示外部网络中的本地地址和全局地址是一样的,都是对应的Ping操作目的主机地址。

    Router#show ip nat translations
     
    Pro Inside global      Inside local       Outside local      Outside global
    ---      ---                ---          10.10.10.5       171.16.68.1
    icmp 10.10.10.1:4      10.10.10.1:4       10.10.10.5:4       171.16.68.1:4
    icmp 171.16.68.5:39    10.10.10.1:39      171.16.68.1:39     171.16.68.1:39
    ---  171.16.68.5       10.10.10.1           ---                 ---

    经过以上配置后,数据包发送(无论是从哪个方面发送的)时不仅源IP地址会发生变化,目标IP地址也会同时发生变化,如图6-13所示。
    在由内部网络向外部网络发送的数据包中,源IP地址是由内部本地地址(10.10.10.1)转换成内部全局地址(172.16.68.5),目的IP地址由外部本地地址(10.10.0.5)转换成外部全局地址(171.16.68.1);在由外部网络向内部网络发送的数据包中,源IP地址是由外部全局地址(171.16.68.1)转换成外部本地地址(10.10.0.5),目的IP地址由内部全局地址(172.16.68.5)转换成内部本地地址(10.10.10.1)。两个方向的数据包中的源IP地址和目的IP地址的转换分别如图6-14和图6-15所示。

    图6-13 同时配置了内、外部地址转换后的NAT转换示例

    图6-14 数据包从内部网络发到外部网络时的地址转换方式 图6-15 数据包从外部网络发到内部网络时的地址转换方式

    从图6-14和图6-15可以看出,图6-14中的源IP地址转换过程恰好是图6-15中的目的地址转换的反过程。同理,图6-14中的目的IP地址转换过程恰好是图6-15中的源IP地址转换的反过程。

            另外,经过细心分析我们可以发现,在由内部网络发往外部网络的数据包中所进行的地址转换都是由本地地址转换为全局地址,也就是都是由内部网络一侧的地址向外部网络一侧的地址转换;相反,在由外部网络发往内部网络的数据包中所进行的地址转换都是由全局地址转换为本地地址,也就是都是由外部网络一侧的地址向内部网络一侧的地址转换。

    NAT配置中的常用命令: 

    ip nat {inside|outside}:接口配置命令。以在至少一个内部和一个外部接口上启用NAT。
     
    ip nat inside source static local-ip global-ip
    :全局配置命令。在对内部局部地址使用静态地址转换时,用该命令进行地址定义。 
    
    access-list access-list-number {permit|deny} local-ip-address
    :使用该命令为内部网络定义一个标准的IP访问控制列表。 
    
    ip nat pool pool-name start-ip end-ip netmask netmask [type rotary]
    :使用该命令为内部网络定义一个NAT地址池。 
    
    ip nat inside source list access-list-number pool pool-name [overload]
    :使用该命令定义访问控制列表与NAT内部全局地址池之间的映射。 
    
    ip nat outside source list access-list-number pool pool-name [overload]
    :使用该命令定义访问控制列表与NAT外部局部地址池之间的映射。 
    
    ip nat inside destination list access-list-number pool pool-name
    :使用该命令定义访问控制列表与终端NAT地址池之间的映射。 
    
    show ip nat translations           : 显示当前存在的NAT转换信息。 
    show ip nat statistics             : 查看NAT的统计信息。 
    show ip nat translations verbose   : 显示当前存在的NAT转换的详细信息。 
    debug ip nat                       : 跟踪NAT操作,显示出每个被转换的数据包。 
    Clear ip nat translations *        :  删除NAT映射表中的所有内容.

     

     

    三、基本配置

     

    • 1、 静态转换:Router(config)#ip nat inside source static 内部本地地址 内部全局地址
    • 2、 动态转换:
              Router(config)#ip nat pool 地址池 起始地址 最后地址 netmask 子网掩码
              Router(config)#access-list 表号 permit 网络号 反掩码
              Router(config)#ip nat inside source list 表号 pool 地址池
    • 3、 PAT:
              Router(config)#access-list 表号 permit 网络号 反掩码
              Router(config)#ip nat inside source list 表号 interface 外部接口

     

     

    四、简单案例

     

    如下图所示,一个中小型企业网络,使用一台路由器和外部相连接,企业有 WWW 服务器和 FTP 服务器,用来提供给外部用户访问。企业内部员工也需要和Internet 连接。如果企业能够申请到多个公网地址(六个公网地址: 202.1.1.1-202.1.1.6)。

    配置命令和命令解释:

    配置:根据企业目前需求,我们可以做如下配置:(假设 ISP 端路由器使用 202.1.1.6)
    Router(config)#int e0                                              (1)
    Router(config-if)#ip add 10.1.1.254 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip add 202.1.1.1 255.255.255.248
    Router(config-if)#ip nat outside
    Router(config)#ip nat inside source static 10.1.1.1 202.1.1.2       (2)
    Router(config)#ip nat inside source static 10.1.1.2 202.1.1.3       (3)
    Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255              (4)
    Router(config)#ip nat inside source list 1 interface e1 overload    (5)
    Router(config)#ip route 0.0.0.0 0.0.0.0 202.1.1.6                   (6)
    
    
    命令解释:
    (1):配置路由器接口 IP 地址及标记 NAT 的内部端口和外部端口
    (2):当外部用户访问服务器 202.1.1.2,路由器使用静态 NAT 的方式转到 10.1.1.1
    (3):当外部用户访问服务器 202.1.1.3,路由器使用静态 NAT 的方式转到 10.1.1.2
    (4):配置标准访问控制列表,匹配内部 10.1.1.0/24 网络的主机
    (5):配置 PAT,允许内部 10.1.1.0/24 用户能够进行 NAT 转换
    (6):配置静态路由,使经过 NAT 转换后的数据包能够发送至 ISP
    
    注意事项:当配置静态 NAT 后, NAT 转换表中就会形成转换条目。动态 NAT和 PAT 在配置映射后,在转换表中并没有形成条目。
              当内部符合访问控制列表1 条件的数据包到达路由器后,触发转换条件,该数据包要求查找转换表,
              如果转换表中有转换条目存在,使用该条目转换,如果没有转换条目,则根据映射创建条目并转换
    

     

     

    NAT 技术二

     

    一、 端口地址重定向:

     

    如图所示,该企业申请 ADSL 上网,只获得了一个公有合法 IP 地址。为了企业的应用,可以使用端口地址重定向功能来完成。

    配置命令和命令解释

    Router(config)#int e0                                                     (1)
    Router(config-if)#ip add 10.1.1.254 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip add 202.1.1.1 255.255.255.252
    Router(config-if)#ip nat outside
    Router(config)#ip nat inside source static tcp 10.1.1.1 80 202.1.1.1 80    (2)
    Router(config)#ip nat inside source static tcp 10.1.1.2 21 202.1.1.1 21    (3)
    Router(config)#ip nat inside source static tcp 10.1.1.2 20 202.1.1.1 20
    Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255                     (4)
    Router(config)#ip nat inside source list 1 interface e1 overload           (5)
    Router(config)#ip route 0.0.0.0 0.0.0.0 202.1.1.2                          (6)
    
    命令解释:
    (1):配置路由器接口 IP 地址及标记 NAT 的内部端口和外部端口
    (2):当外部用户访问服务器 202.1.1.1:80,路由器使用静态 NAT 的方式转到 10.1.1.1:80
    (3):当外部用户访问服务器 202.1.1.1:21,路由器使用静态 NAT 的方式转到 10.1.1.1:21
          (由于 FTP 问题较复杂,这儿仅以一种 FTP 的应用为例)
    (4):配置标准访问控制列表,匹配内部 10.1.1.0/24 网络的主机
    (5):配置 PAT,允许内部 10.1.1.0/24 用户能够进行 NAT 转换
    (6):配置静态路由,使经过 NAT 转换后的数据包能够发送至 ISP

     

     

    二、 地址交叉(地址重叠):

     

    如果两个网络当前的网络地址出现相同的情况,且目前又需要两个网络之间相互直接通讯。这种情况被称之为地址重叠。如下图所示:

    这时候可能出现多种情况:两个网络中都有双方需要访问的服务器只有一方网络中有双方需要访问的服务器(如上图)

    不同的网络情况,配置时略有不同。概括起来讲,解决这个问题有两种方案:

    1、 静态转换
    Router(config)#ip nat inside source static network 10.1.1.0 192.168.1.0 /24     (1)
    Router(config)#ip nat outside source static network 10.1.1.0 192.168.2.0 /24    (2)
    Router(config)#ip route 0.0.0.0 0.0.0.0 e1
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.254 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip nat outside
    注解: 
    (1):把内部网络 10.1.1.0 转换成 192.168.1.0,也就是说,对于外部网络而言,内部网络的地址是 192.168.1.0/24
    (2):把外部网络 10.1.1.0 传输来的数据全部修改成 192.168.2.0网段,
        也就是说,对于内部网络而言,外部真实 10.1.1.0 网络被认为是 192.168.2.0 网络。
    
    
    2、 动态转换
    Router(config)#access-list 1 permit 10.1.1.0 0.0.0.255
    Router(config)#ip nat pool in-pool 192.168.1.1 192.168.1.254 netmask 255.255.255.0
    Router(config)#ip nat poolout-pool 192.168.2.1 192.168.2.254 netmask 255.255.255.0
    Router(config)#ip nat inside list 1 pool in-pool
    Router(config)#ip nat outside list 1 pool out-pool
    Router(config)#ip route 0.0.0.0 0.0.0.0 e1
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.254 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip nat outside
    该配置所得到的效果静态转换一样。在此不再多说。

     

     

    三、 负载分担(流量分配):

     

    随着企业的发展,企业的 WWW 服务器访问的用户越来越多,一台服务器已经不能满足当前的需要,更换一台高端服务器价格不菲,这时候可以使用 NAT 的流量分担功能。来解决企业当前的问题。如图所示:两台 Web服务器承担着相当的 WWW 服务功能。对于外部用户而言,他们只知道该企业的 WWW 地址是 200.1.1.1

    配置命令和命令解释

    基本配置如下:
    Router(config)#ip nat pool wwwserver 10.1.1.1 10.1.1.2 prefix-length 24 type rotary
    Router(config)#access-list 1 permit 200.1.1.1 0.0.0.0
    Router(config)#ip nat inside destination list 1 pool wwwserver
    Router(config)#int e0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip nat outside
    
    第一条命令是用来建立一个内部服务器的地址池,一定要注意后面的 type rotary,该参数用来分配流量。 
    Access-list 用来指定虚拟服务器地址。
    
    第三条命用来定义转换关系。最后在两个接口上调用 NAT 转换表。
    
    注意,使用这种方法时,并不是最好的解决方案,相同的场景,以后会介绍更好的解决方案。

     

     

    四、 控制 NAT 转换表大小:

     

    1、 设置连接最大数量:该命令用来限制动态产生的转换表的条目
            Router(config)#ip nat translation max-entries 最大数目
    2、 设置超时值:动态产生的 NAT 转换条目,根据不同的服务有不同的超时值。
            Router(config)#ip nat translation 协议时间 超时值

     

     

    NAT 技术三

     

    在上面 NAT 介绍中,提供了 NAT 的负载均衡的配置。但是,那种简单的负载均衡有较多的局限性:

    • 1、 不检查内部服务器的状态,可能会造成路由黑洞。
    • 2、 不能灵活调整服务器的负载

    为了解决这些问题,开始提出新的技术,引入了服务器负载平衡(Server Load Balancing)技术。该技术提供两种工作模式:定向模式分派模式

     

     

    一、定向模式:

    在定向模式中,给服务器指定一个 IP 地址,真实的服务器不知道这个地址。在数据包进行转发的时候,需修改数据包中的 IP 地址,并重新进行 CRC 计算,再进行数据包的转发。

    具体配置如下:

    Router(config)#ip slb serverfarm Web_server (1)
    Router(config-slb-sfarm)#nat server (2)
    Router(config-slb-sfarm)#real 10.1.1.1 (3)
    Router(config-slb-real)#weight 10 (4)
    Router(config-slb-real)#faildetect numconns 8 numclients 3 (5)
    Router(config-slb-real)#retry 60 (6)
    Router(config-slb-real)#maxconns 2000 (7)
    Router(config-slb-real)#inservice (8)
    Router(config-slb-real)#exit
    Router(config-slb-sfarm)#real 10.1.1.2 (9)
    Router(config-slb-real)#weight 15
    Router(config-slb-real)#faildetect numconns 8 numclients 3
    Router(config-slb-real)#retry 60
    Router(config-slb-real)#maxconns 3000
    Router(config-slb-real)#inservice
    Router(config-slb-real)#exit
    Router(config)#ip slb vserver Out_server (10)
    Router(config-slb-vserver)#serverfarm Web_server (11)
    Router(config-slb-vserver)#virtual 200.1.1.1 tcp 80 (12)
    Router(config-slb-vserver)#delay 10 (13)
    Router(config-slb-vserver)#idle 1200 (14)
    Router(config-slb-vserver)#inservice (15)
    
    
    命令详解:
    (1) 建立一个真实服务器群组,群组名 Web_server
    (2) 该群组使用定向模式提供服务。默认情况下真实服务器群组使用分派模式(如下一个图例配置情况就是分派模式。
    (3) 真实服务器的 IP 地址从(4) --(8)是配置真实服务器的一些连接特性
    (4) 权重 10。该命令的意思是: 10.1.1.1 服务器我承担的流量为 10/(10+15)。15 为另一台服务器的权重
    (5) 在认定该服务器失效前,路由器给服务器所发送的最多连接失败数
    (6) 指定在服务器失效后,路由器多长时间检测一次服务器
    (7) 该服务器最大连接数。这个参数设定是根据服务器的性能决定的
    (8) 在这个群组中启用该服务器
    (9) 建立群组中的另一台真实服务器
    (10) 建立虚拟服务器,指定虚拟服务器名 Out_server
    (11) 指定哪个服务器群组处理该虚拟服务器的流量
    (12) 配置虚拟服务器地址及其协议和端口号
    (13) 连接终止后路由器上保持该 SLB 表项的时间
    (14) 空闲超时值
    (15) 启用虚拟服务器

     

     

    二、分派模式:

    处于分派模式时,真实的服务器上配置两个地址:一个是自已的地址,一个是虚拟 IP 地址。当路由器进行数据转发的时候,不需要对数据包的 IP 地址转换,直接把数据包分发。注意,在分派模式的时候,中间的交换机必须是二层交换机。

    具体配置如下:

    Router(config)#ip slb serverfarm Web_server
    Router(config-slb-sfarm)#real 10.1.1.1
    Router(config-slb-real)#weight 10
    Router(config-slb-real)#inservice
    Router(config-slb-real)#exit
    Router(config-slb-sfarm)#real 10.1.1.2
    Router(config-slb-real)#weight 15
    Router(config-slb-real)#inservice
    Router(config-slb-real)#exit
    Router(config)#ip slb vserver Out_server
    Router(config-slb-vserver)#serverfarm Web_server
    Router(config-slb-vserver)#virtual 200.1.1.1 tcp 80
    Router(config-slb-vserver)#inservice
    分派模式的配置和定向模式很多都是相同的。分派模式中只少了一条命令:
    Router(config-slb-sfarm)#nat server

     

     

    NAT 技术四

     

    一、使用 ACL 控制转换

    如下图所示:网络A和网络B都连接到Internet。由于业务需要,两个网络需要相互访问,因而在路由器A和路由器B之间建立了IPsec VPN。当网络A和网络B之间互访时,则不必做NAT转换。

     

    路由器A配置如下:

    Router(config)#access-list 100 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255  (1)
    Router(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 any
    Router(config)#ip nat inside source list 100 interface e1 overload                    (2)
    Router(config)#int e0
    Router(config-if)#ip add 192.168.10.1 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip add 202.1.1.1 255.255.255.252(外部接口地址)
    Router(config-if)#ip nat outside
    
    命令详解:
    (1) 访问控制列表 100 是用来匹配出进行 NAT 转换的数据包,第一个条目中从
    192.168.10.0 到 192.168.20.0 的数据包不需要进行转换,到其它网络的数
    据包需要转换(关于 VPN 内容,以后有机会再说)。
    (2) 符合访问控制列表的流量进行 PAT 转换
    
    如果该单位能申请到较多的 IP 地址,路由器 A 的配置可能如下:
    Router(config)#access-list 100 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255 (1)
    Router(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 any
    Router(config)#ip nat pool Real_add 202.1.1.2 202.1.1.200 netmask 255.255.255.0 (2)
    Router(config)#ip nat inside source list 100 pool Real_add (3)
    Router(config)#int e0
    Router(config-if)#ip add 192.168.10.1 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip add 202.1.1.1 255.255.255.252(外部接口地址)
    Router(config-if)#ip nat outside
    
    命令详解:
    (1) 匹配需要进行转换的流量
    (2) 配置可以用来转换的地址池
    (3) 进行 NAT 转换配置,符合访问控制列的的流量使用地址池中的地址进行转换。
          这时候使用访问控制列表来进行 NAT 转换的时候, NAT 转换表中形的条目是这样的:
    Pro Inside global Inside local Outside local Outside global
    --- 202.1.1.1 192.168.10.10 ---- ----
    也就是说,当使用访问控制列表来进行 NAT 转换时,不能形成一个完整的条目。
    这在某些应用中会产生问题,所以需要其它的技术,来形成一个完整的 NAT 转
    换条目

     

     

    二、使用路由图控制转换

    如图所示,企业为了优化网络访问,申请了两个ISP的宽带线路。可以提高内部用户访问Inbernet的速度。对于这个企业的需求,对网络的优化方案如下:
    1) 当内部用户所需要的资源在ISP1时,需要从E1端口进行通讯;当内部用户所需要的资源在ISP2时,需要从E0端口通讯。
    2) 不同ISP网络上所来的访问,需要从各自的线路返回。

     

    在这种拓扑中,如果使用 ACL 来控制 NAT 的转换,就会出现问题,比如说我们作了如下配置:(假设从 ISP1 的网络为 100.1.1.0/24,从 ISP2 的网络地址为 200.1.1.0/24)

    NAT 部分:

    Router(config)#ip nat pool isp1 100.1.1.2 100.1.1.254 prefix-length 24
    Router(config)#ip nat pool isp2 200.1.1.2 200.1.1.254 prefix-length 24
    Router(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 100.1.1.0 0.0.0.255
    Router(config)#access-list 101 permit ip 10.1.1.0 0.0.0.255 200.1.1.0 0.0.0.255
    Router(config)#ip nat inside source list 100 pool isp1
    Router(config)#ip nat inside source list 101 pool isp2
    Router(config)#int e0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip nat outside
    Router(config)#int e2
    Router(config-if)#ip nat outside
    
    如果内部一台主机 10.1.1.10 对外部进行一次 telnet 访问后, NAT 转换表中形的条目如下:
    Pro Inside global Inside local Outside local Outside global
    tcp 100.1.1.10:57767 10.1.1.1:57767 100.1.1.3:23 1
    00.1.1.3:23
    --- 100.1.1.10 10.1.1.1 --- ---
    如果该主机现在想访问 ISP2 的一个资源, NAT 表中会出现如下情况:
    Pro Inside global Inside local Outside local Outside global
    tcp 100.1.1.10:24597 10.1.1.1:24597 200.1.1.3:23 20 0.1.1.3:23
    tcp 100.1.1.10:26160 10.1.1.1:26160 100.1.1.3:23 10 0.1.1.3:23
    --- 100.1.1.10 10.1.1.1 --- ---
    注意:这时候外出的数据包中的源 IP 地址是 ISP1 的地址。因而返回的数据包
    会从 ISP2 转到 ISP1 网络,再回到企业内部。所以在这种情况下,不能使用 ACL 来进行 NAT 的过滤。
    可使用路由图来形成转换的配置如下:
    Router(config)#ip nat pool isp1 100.1.1.10 100.1.1.100 prefix-length 24
    Router(config)#ip nat pool isp2 200.1.1.10 200.1.1.100 prefix-length 24
    Router(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 100.1.1.0 0.0.0.255
    Router(config)#access-list 101 permit ip 10.1.1.0 0.0.0.255 200.1.1.0 0.0.0.255
    Router(config)#route-map isp1-map permit 10 (1)
    Router(config-route-map)#match ip address 100 (2)
    Router(config)#route-map isp2-map permit 10 (3)
    Router(config-route-map)#match ip address 101
    Router(config)#ip nat inside source route-map isp1-map pool isp1(4)
    Router(config)#ip nat inside source route-map isp2-map pool isp2
    Router(config)#int e0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip nat outside
    Router(config)#int e2
    Router(config-if)#ip nat outside
    命令详解:
    (1) 建立 ISP1 的路由图
    (2) 符合访问控制列表的流量适用于路由图
    (3) 建立 ISP2 的路由图
    (4) 调用路由图,建立 NAT 的转换映射
    这种配置时,内部用户访问外部的时候,就形成了完整的 NAT 转换表。才能达到优化网络的目的。
    Pro Inside global Inside local Outside local Outside global
    tcp 100.1.1.10:11787 10.1.1.1:11787 100.1.1.3:23 10 0.1.1.3:23
    tcp 200.1.1.10:14877 10.1.1.1:14877 200.1.1.3:23 20 0.1.1.3:23

     

     

    NAT 技术五

     

    冗余链路是很多网络所关注的问题, Cisco 公司的 NAT 技术提供在两种情况下的冗余:

    • 1、 在小型网络中使用的冗余技术,静态 NAT 和 HSRP 协议配合使用
    • 2、 在大中型网络中使用的冗余技术,有状态的切换。

     

    一、HSRP 和 静态NAT:

    用来提供网络访问服务的冗余链路。

     

    配置如下:

    路由器A:
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.10 255.255.255.0
    Router(config-if)#no ip redirects
    Router(config-if)#ip nat inside
    Router(config-if)#standby 1 ip 10.1.1.254
    Router(config-if)#standby 1 priority 120
    Router(config-if)#standby 1 preempt
    Router(config-if)#standby 1 name NAT
    Router(config-if)#standby 1 track e1 50
    Router(config)#int e1
    Router(config-if)#ip add 100.1.1.1 255.255.255.0
    Router(config-if)#ip nat outside
    Router(config)#ip nat inside source static 10.1.1.1 100.1.1.3 reduandancy NAT
    Router(config)#ip nat inside source static 10.1.1.2 100.1.1.4 reduandancy NAT
    路由器B:
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.11 255.255.255.0
    Router(config-if)#no ip redirects
    Router(config-if)#ip nat inside
    Router(config-if)#standby 1 ip 10.1.1.254
    Router(config-if)#standby 1 preempt
    Router(config-if)#standby 1 name NATGROUP
    Router(config)#int e1
    Router(config-if)#ip add 100.1.1.2 255.255.255.0
    Router(config-if)#ip nat outside
    Router(config)#ip nat inside source static 10.1.1.1 100.1.1.3 reduandancy NATGROUP
    Router(config)#ip nat inside source static 10.1.1.2 100.1.1.4 reduandancy NATGROUP
    命令详解:
    常用于小型网络,只能为静态NAT提供转换

     

     

    二、有状态的地址切换:

     

    有状态的地址切换,当流量从一台路由器上通过时,另一台路由器能够获得相同的NAT转换表,故称为有状态的地址切换。

    1. 使用HSRP的有状态切换:

     

    配置命令:

    路由器A:
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.10 255.255.255.0
    Router(config-if)#no ip redirects
    Router(config-if)#ip nat inside
    Router(config-if)#standby 1 ip 10.1.1.254
    Router(config-if)#standby 1 priority 120
    Router(config-if)#standby 1 preempt
    Router(config-if)#standby 1 name SNAT
    Router(config-if)#standby 1 track e1 50
    Router(config)#int e1
    Router(config-if)#ip add 100.1.1.1 255.255.255.0
    Router(config-if)#ip nat outside
    Router(config)#ip nat stateful id 1
    Router(config-snat)#redundancy SNAT
    Router(config-snat-red)#mapping-id 100
    Router(config)#ip nat pool SNAT-POOL 100.1.1.10 100.1.1.254 prefix-length 24
    Router(config)#ip nat inside source route-map SNAT-MAP pool SNAT-POOL mapping-id 100 overload
    Router(config)#route-map SNAT-MAP permit 10
    Router(config-route-map)#match ip address 100
    Router(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 any
     
    路由器B:
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.11 255.255.255.0
    Router(config-if)#no ip redirects
    Router(config-if)#ip nat inside
    Router(config-if)#standby 1 ip 10.1.1.254
    Router(config-if)#standby 1 preempt
    Router(config-if)#standby 1 name SNAT
    Router(config)#int e1
    Router(config-if)#ip add 100.1.1.2 255.255.255.0
    Router(config-if)#ip nat outside
    Router(config)#ip nat inside source static 10.1.1.1 100.1.1.3 reduandancy NATGROUP
    Router(config)#ip nat inside source static 10.1.1.2 100.1.1.4 reduandancy NATGROUP
    Router(config)#ip nat stateful id 2
    Router(config-snat)#redundancy SNAT
    Router(config-snat-red)#mapping-id 100
    Router(config)#ip nat pool SNAT-POOL 100.1.1.10 100.1.1.254 prefix-length 24
    Router(config)#ip nat inside source route-map SNAT-MAP pool SNAT-POOL mapping-id 100 overload
    Router(config)#route-map SNAT-MAP permit 10
    Router(config-route-map)#match ip address 100
    Router(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 any
    命令详解:
    这种有状态的HSRP的SNAT,可以为两种类型的转换:NAT和PAT提供冗余。

     

    2、 不使用 HSRP 的状态切换:

     

    配置命令:

    路由器A:
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.1 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip add 100.1.1.1 255.255.255.0
    Router(config-if)#ip nat outside
    Router(config)#int e2
    Router(config-if)#ip add 192.168.1.254 255.255.255.0
    Router(config)#ip nat stateful id 1
    Router(config-ipnat-snat)#primary 192.168.1.254
    Router(config-ipnat-snat-red)#peer 192.168.1.253
    Router(config-ipnat-snat-red)#mapping-id 100
    Router(config)#ip nat pool SNAT-POOL 100.1.1.10 100.1.1.100 prefix-length 24
    Router(config)#ip nat inside source route-map SNAT-MAP pool SNAT-POOL mapping 100 overload
    Router(config)#route-map SNAT-MAP permit 10
    Router(config-route-map)#match ip addredd 100
    Router(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 any
     
    路由器B:
    Router(config)#int e0
    Router(config-if)#ip add 10.1.1.1 255.255.255.0
    Router(config-if)#ip nat inside
    Router(config)#int e1
    Router(config-if)#ip add 100.1.1.1 255.255.255.0
    Router(config-if)#ip nat outside
    Router(config)#int e2
    Router(config-if)#ip add 192.168.1.254 255.255.255.0
    Router(config)#ip nat stateful id 2
    Router(config-ipnat-snat)#primary 192.168.1.254
    Router(config-ipnat-snat-red)#peer 192.168.1.253
    Router(config-ipnat-snat-red)#mapping-id 100
    Router(config)#ip nat pool SNAT-POOL 100.1.1.10 100.1.1.100 prefix-length 24
    Router(config)#ip nat inside source route-map SNAT-MAP pool SNAT-POOL mapping 100 overload
    Router(config)#route-map SNAT-MAP permit 10
    Router(config-route-map)#match ip addredd 100
    Router(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 any
    命令详解:
    这种有状态的SNAT,可以为大型网络提供转换

     

     

     

     

     

    展开全文
  • NAT(地址转换技术)详解

    万次阅读 多人点赞 2018-03-17 16:31:35
    NAT产生背景 ip地址基础知识 NAT技术的工作原理和特点 静态NAT 动态NAT NAT重载(经常应用到实际中) NAT技术的优缺点 优点 缺点 NAT穿越技术 应用层网关(ALG) ALG的实际应用 NAT技术的未来 参考文献 ...

    目录

    NAT产生背景

    今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣。他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需。企业利用互联网发布信息,传递资料和订单,提供技术支持,完成日常办公。然而,Internet在给亿万用户带来便利的同时,自身却面临一个致命的问题:构建这个无所不能的Internet的基础IPv4协议已经不能再提供新的网络地址了。

    2011年2月3日中国农历新年, IANA对外宣布:IPv4地址空间最后5个地址块已经被分配给下属的5个地区委员会。2011年4月15日,亚太区委员会APNIC对外宣布,除了个别保留地址外,本区域所有的IPv4地址基本耗尽。一时之间,IPv4地址作为一种濒危资源身价陡增,各大网络公司出巨资收购剩余的空闲地址。其实,IPv4地址不足问题已不是新问题,早在20年以前,IPv4地址即将耗尽的问题就已经摆在Internet先驱们面前。这不禁让我们想去了解,是什么技术使这一危机延缓了尽20年。

    要找到问题的答案,让我们先来简略回顾一下IPv4协议。

    IPv4即网际网协议第4版——Internet Protocol Version 4的缩写。IPv4定义一个跨越异种网络互连的超级网,它为每个网际网的节点分配全球唯一IP地址。如果我们把Internet比作一个邮政系统,那么IP地址的作用就等同于包含城市、街区、门牌编号在内的完整地址。IPv4使用32bits整数表达一个地址,地址最大范围就是232 约为43亿。以IP创始时期可被联网的设备来看,这样的一个空间已经很大,很难被短时间用完。然而,事实远远超出人们的设想,计算机网络在此后的几十年里迅速壮大,网络终端数量呈爆炸性增长。

    更为糟糕的是,为了路由和管理方便,43亿的地址空间被按照不同前缀长度划分为A,B,C,D类地址网络和保留地址。其中,A类网络地址127段,每段包括主机地址约1678万个。B类网络地址16384段,每段包括65536个主机地址。
    ANA向超大型企业/组织分配A类网络地址,一次一段。向中型企业或教育机构分配B类网络地址,一次一段。这样一种分配策略使得IP地址浪费很严重,很多被分配出去的地址没有真实被利用,地址消耗很快。以至于二十世纪90年代初,网络专家们意识到,这样大手大脚下去,IPv4地址很快就要耗光了。于是,人们开始考虑IPv4的替代方案,同时采取一系列的措施来减缓IPv4地址的消耗。正是在这样一个背景之下,本期的主角闪亮登场,它就是网络地址转换——NAT。

    NAT是一项神奇的技术,说它神奇在于它的出现几乎使IPv4起死回生。在IPv4已经被认为行将结束历史使命之后近20年时间里,人们几乎忘了IPv4的地址空间即将耗尽这样一个事实——在新技术日新月异的时代,20年可算一段漫长的历史。更不用说,在NAT产生以后,网络终端的数量呈加速上升趋势,对IP地址的需求剧烈增加。此足见NAT技术之成功,影响之深远。

    说它神奇,更因为NAT给IP网络模型带来了深远影响,其身影遍布网络每个角落。根据一份最近的研究报告,70%的P2P用户位于NAT网关以内。因为P2P主要运行在终端用户的个人电脑之上,这个数字意味着大多数PC通过NAT网关连接到Internet。如果加上2G和3G方式联网的智能手机等移动终端,在NAT网关之后的用户远远超过这个比例。

    ip地址基础知识

    同学你现在做两个操作

    • 打开你的命令行输入ipconfig查询你的Ip地址
    • 打开百度,输入Ip查询,查询你的ip地址

    你是不是发现了一件很神奇的事情,这两个地址是不一样的。但是我们又经常说每个主机只有一个ip,这个ip是他的身份标识。这完全矛盾啊。这就引出了我们今天要讲的NAT技术
    其实并不矛盾。这里我们要引入公网ip和私网ip这两个概念,关于这个问题的解读。大家可以参看我的博文。为什么百度查到的ip和ipconfig查到的不一样

    NAT技术的工作原理和特点

    NAT名字很准确,网络地址转换,就是替换IP报文头部的地址信息。NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。那么,什么是内部网络IP地址?

    RFC1918规定了三个保留地址段落:10.0.0.0-10.255.255.255;172.16.0.0-172.31.255.255;192.168.0.0-192.168.255.255。这三个范围分别处于A,B,C类的地址段,不向特定的用户分配,被IANA作为私有地址保留。这些地址可以在任何组织或企业内部使用,和其他Internet地址的区别就是,仅能在内部使用,不能作为全球路由地址。这就是说,出了组织的管理范围这些地址就不再有意义,无论是作为源地址,还是目的地址。对于一个封闭的组织,如果其网络不连接到Internet,就可以使用这些地址而不用向IANA提出申请,而在内部的路由管理和报文传递方式与其他网络没有差异。

    对于有Internet访问需求而内部又使用私有地址的网络,就要在组织的出口位置部署NAT网关,在报文离开私网进入Internet时,将源IP替换为公网地址,通常是出口设备的接口地址。一个对外的访问请求在到达目标以后,表现为由本组织出口设备发起,因此被请求的服务端可将响应由Internet发回出口网关。出口网关再将目的地址替换为私网的源主机地址,发回内部。这样一次由私网主机向公网服务端的请求和响应就在通信两端均无感知的情况下完成了。依据这种模型,数量庞大的内网主机就不再需要公有IP地址了。
    NAT的转换示意图如下所示
    这里写图片描述
    我们一般使用私网ip作为局域网内部的主机标识,使用公网ip作为互联网上通信的标识
    在整个NAT的转换中,最关键的流程有以下几点

    • 网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关
    • 网络访问只能先由私网侧发起,公网无法主动访问私网主机;
    • NAT网关在两个访问方向上完成两次地址的转换或翻译,出方向做源信息替换,入方向做目的信息替换;
    • NAT网关的存在对通信双方是保持透明的;
    • NAT网关为了实现双向翻译的功能,需要维护一张关联表,把会话的信息保存下来。

    静态NAT

    如果一个内部主机唯一占用一个公网IP,这种方式被称为一对一模型。此种方式下,转换上层协议就是不必要的,因为一个公网IP就能唯一对应一个内部主机。显然,这种方式对节约公网IP没有太大意义,主要是为了实现一些特殊的组网需求。比如用户希望隐藏内部主机的真实IP,或者实现两个IP地址重叠网络的通信。
    这里写图片描述

    动态NAT

    它能够将未注册的IP地址映射到注册IP地址池中的一个地址。不像使用静态NAT那样,你无需静态地配置路由器,使其将每个内部地址映射到一个外部地址,但必须有足够的公有因特网IP地址,让连接到因特网的主机都能够同时发送和接收分组

    这里写图片描述

    NAT重载(经常应用到实际中)

    这是最常用的NAT类型。NAT重载也是动态NAT,它利用源端口将多个私网ip地址映射到一个公网ip地址(多对一)。那么,它的独特之处何在呢?它也被称为端口地址特换(PAT)。通过使用PAT(NAT重载),只需使用一个公网ip地址,就可将数千名用户连接到因特网。其核心之处就在于利用端口号实现公网和私网的转换。
    面对私网内部数量庞大的主机,如果NAT只进行IP地址的简单替换,就会产生一个问题:当有多个内部主机去访问同一个服务器时,从返回的信息不足以区分响应应该转发到哪个内部主机。此时,需要NAT设备根据传输层信息或其他上层协议去区分不同的会话,并且可能要对上层协议的标识进行转换,比如TCP或UDP端口号。这样NAT网关就可以将不同的内部连接访问映射到同一公网IP的不同传输层端口,通过这种方式实现公网IP的复用和解复用。这种方式也被称为端口转换PAT、NAPT或IP伪装,但更多时候直接被称为NAT,因为它是最典型的一种应用模式。
    这里写图片描述
    举个例子,客户端172.18.250.6和百度服务器202.108.22.5通信,172.18.250.6发送数据时,先转换为219.155.6.240:1723(任意>1024的随机端口),然后再利用这个身份发送数据给百度服务器,然后百度服务器回应数据并发送给219.155.6.240:1723,NAT网关检查自己的关联表,意识到这是自己地私网中172.18.250.6的数据包,然后把这个数据发送给客户端

    也就是说,我们利用端口号的唯一性实现了公网ip转换为私网ip的这一步。PAT(NAT重载)能够使用传输层端口号来标识主机,因此,从理论上说,最多可让大约65000台主机共用一个公有IP地址

    NAT技术的优缺点

    优点

    • 节省合法的公有ip地址
    • 地址重叠时,提供 解决办法
    • 网络发生变化时,避免重新编址(这个问题具有亲身体会,原本所在的实习单位搬迁,我们搬到了新的住处,网络环境发生了一些变化,但是由于nat技术的特点,我们局域网的地址并没有发生改变,我们依然使用着最初的编址方案)

      NAT对我们来说最大的贡献就是帮助我们节省了大量的ip资源

    缺点

    在介绍NAT的诸多缺点之前,我们先简单介绍下什么是IP的端到端通信:
    IP协议的一个重要贡献是把世界变得平等。在理论上,具有IP地址的每个站点在协议层面有相当的获取服务和提供服务的能力,不同的IP地址之间没有差异。人们熟知的服务器和客户机实际是在应用协议层上的角色区分,而在网络层和传输层没有差异。一个具有IP地址的主机既可以是客户机,也可以是服务器,大部分情况下,既是客户机,也是服务器。端到端对等看起来是很平常的事情,而意义并不寻常。但在以往的技术中,很多协议体系下的网络限定了终端的能力。正是IP的这个开放性,使得TCP/IP协议族可以提供丰富的功能,为应用实现提供了广阔平台。因为所有的IP主机都可以服务器的形式出现,所以通讯设计可以更加灵活。使用UNIX/LINUX的系统充分利用了这个特性,使得任何一个主机都可以建立自己的HTTP、SMTP、POP3、DNS、DHCP等服务。与此同时,很多应用也是把客户端和服务器的角色组合起来完成功能。例如在VoIP应用中,用户端向注册服务器登录自己的IP地址和端口信息过程中,主机是客户端;而在呼叫到达时,呼叫处理服务器向用户端发送呼叫请求时,用户端实际工作在服务器模式下。在语音媒体流信道建立过程后,通讯双向发送语音数据,发送端是客户模式,接收端是服务器模式。而在P2P的应用中,一个用户的主机既为下载的客户,同时也向其他客户提供数据,是一种C/S混合的模型。上层应用之所以能这样设计,是因为IP协议栈定义了这样的能力。试想一下,如果IP提供的能力不对等,那么每个通信会话都只能是单方向发起的,这会极大限制通信的能力。细心的读者会发现,前面介绍NAT的一个特性正是这样一种限制。没错,NAT最大的弊端正在于此——破坏了IP端到端通信的能力。
    NAT的弊端
    首先,NAT使IP会话的保持时效变短。因为一个会话建立后会在NAT设备上建立一个关联表,在会话静默的这段时间,NAT网关会进行老化操作。这是任何一个NAT网关必须做的事情,因为IP和端口资源有限,通信的需求无限,所以必须在会话结束后回收资源。通常TCP会话通过协商的方式主动关闭连接,NAT网关可以跟踪这些报文,但总是存在例外的情况,要依赖自己的定时器去回收资源。而基于UDP的通信协议很难确定何时通信结束,所以NAT网关主要依赖超时机制回收外部端口。通过定时器老化回收会带来一个问题,如果应用需要维持连接的时间大于NAT网关的设置,通信就会意外中断。因为网关回收相关转换表资源以后,新的数据到达时就找不到相关的转换信息,必须建立新的连接。当这个新数据是由公网侧向私网侧发送时,就会发生无法触发新连接建立,也不能通知到私网侧的主机去重建连接的情况。这时候通信就会中断,不能自动恢复。即使新数据是从私网侧发向公网侧,因为重建的会话表往往使用不同于之前的公网IP和端口地址,公网侧主机也无法对应到之前的通信上,导致用户可感知的连接中断。NAT网关要把回收空闲连接的时间设置到不发生持续的资源流失,又维持大部分连接不被意外中断,是一件比较有难度的事情。在NAT已经普及化的时代,很多应用协议的设计者已经考虑到了这种情况,所以一般会设置一个连接保活的机制,即在一段时间没有数据需要发送时,主动发送一个NAT能感知到而又没有实际数据的保活消息,这么做的主要目的就是重置NAT的会话定时器。

    其次,NAT在实现上将多个内部主机发出的连接复用到一个IP上,这就使依赖IP进行主机跟踪的机制都失效了。如网络管理中需要的基于网络流量分析的应用无法跟踪到终端用户与流量的具体行为的关系。基于用户行为的日志分析也变得困难,因为一个IP被很多用户共享,如果存在恶意的用户行为,很难定位到发起连接的那个主机。即便有一些机制提供了在NAT网关上进行连接跟踪的方法,但是把这种变换关系接续起来也困难重重。基于IP的用户授权不再可靠,因为拥有一个IP的不等于一个用户或主机。一个服务器也不能简单把同一IP的访问视作同一主机发起的,不能进行关联。有些服务器设置有连接限制,同一时刻只接纳来自一个IP的有限访问(有时是仅一个访问),这会造成不同用户之间的服务抢占和排队。有时服务器端这样做是出于DOS攻击防护的考虑,因为一个用户正常情况下不应该建立大量的连接请求,过度使用服务资源被理解为攻击行为。但是这在NAT存在时不能简单按照连接数判断。
    总之,缺点大概如下:

    • 无法进行端到端的ip跟踪(破坏了端对端通信的平等性)
    • 很多应用层协议无法识别(比如ftp协议 )

    NAT穿越技术

    前面解释了NAT的弊端,为了解决IP端到端应用在NAT环境下遇到的问题,网络协议的设计者们创造了各种武器来进行应对。但遗憾的是,这里每一种方法都不完美,还需要在内部主机、应用程序或者NAT网关上增加额外的处理。

    应用层网关(ALG)

    前面我们已经介绍到了,NAT实现了对UDP或TCP报文头中的的IP地址及端口转换功能,但对应用层数据载荷中的字段无能为力(也就是净载中的数据无法修改),在许多应用层协议中,比如多媒体协议(H.323、SIP等)、FTP、SQLNET等,TCP/UDP载荷中带有地址或者端口信息,这些内容不能被NAT进行有效的转换,就可能导致问题。也就是说,NAT只是将数据包的包头的ip地址和端口号进行了转换,但是没有对包内数据中的ip地址和端口号进行转换于是我们开始设想能不能使用一种行之有效的方法保证包头的ip和端口号与包中数据里的Ip地址和端口号都转化为公网的ip地址和端口号。

    ALG的实际应用

    对于ALG的实现机制还是不清楚,如果有懂的大佬,推荐下书籍
    下面我们举个FTP传输的例子来简单介绍一下ALG的实际应用
    这里写图片描述
    图中私网侧的主机要访问公网的FTP服务器。
    NAT设备上配置了私网地址192.168.1.2到公网地址8.8.8.11的映射,实现地址的NAT转换,以支持私网主机对公网的访问。组网中,若没有ALG对报文载荷的处理,私网主机发送的PORT报文到达服务器端后,服务器无法根据私网地址进行寻址,也就无法建立正确的数据连接。整个通信过程包括如下四个阶段:

    (1) 私网主机和公网FTP服务器之间通过TCP三次握手成功建立控制连接。

    (2) 控制连接建立后,私网主机向FTP服务器发送PORT报文,报文中携带私网主机指定的数据连接的目的地址和端口,用于通知服务器使用该地址和端口和自己进行数据连接。

    (3) PORT报文在经过支持ALG特性的NAT设备时,报文载荷中的私网地址和端口会被转换成对应的公网地址和端口。即设备将收到的PORT报文载荷中的私网地址192.168.1.2转换成公网地址8.8.8.11,端口1084转换成12487。

    (4) 公网的FTP服务器收到PORT报文后,解析其内容,并向私网主机发起数据连接,该数据连接的目的地址为8.8.8.11,目的端口为12487(注意:一般情况下,该报文源端口为20,但由于FTP协议没有严格规定,有的服务器发出的数据连接源端口为大于1024的随机端口,如本例采用的是wftpd服务器,采用的源端口为3004)。由于该目的地址是一个公网地址,因此后续的数据连接就能够成功建立,从而实现私网主机对公网服务器的访问。

    NAT技术的未来

    在知乎上看到过这样一种言论,随着ipV6技术的到来,NAT技术已经不再需要了。在我看来,技术的革命一定是一步一步实现的,比如先是在局部地区使用IPV6,然后再逐步扩大其规模,减少IPv4的规模,所以NAT技术还是需要的。而且到了那个时候,网络世界中会充斥着两种地址ipV4和ipV6,这个时候更需要NAT技术了,因为NAT的中文翻译叫做网络地址转换啊。所以学好这个知识点对于我们理解网络是至关重要的。每到此时都会感慨,学校学到的知识真的只是皮毛,但是却是我现在所有知识的基础。

    参考文献

    1. 《CCNA学习指南》点此处下载此书
    2. ALG原理与应用
    3. P2P技术详解
    展开全文
  • 何为NAT 何为NAT 何为NAT 何为NAT 何为NAT
  • NAT原理介绍之NAT分类.doc
  • nat:NAT网关-源码

    2021-03-18 17:51:18
    t NAT网关
  • NAT to NAT Connector-开源

    2021-05-03 04:45:56
    n2nc旨在在用户空间中提供Nat-2-nat连接器。
  • 华为NAT(地址转换技术)

    万次阅读 多人点赞 2020-09-06 16:45:44
    文章目录一、什么是NAT二、拓扑三、配置实验四、实验测试 一、什么是NAT 1、NAT–Network Address Translation:网络地址转换 NAT属于接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法公网IP地址的IP地址...

    一、什么是NAT

    1、NAT–Network Address Translation:网络地址转换

    NAT属于接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法公网IP地址的IP地址转换技术,它被广泛应用于各种类型 Internet接入方式和各种类型的网络中。

    2、NAT类型

    (1)静态----NAT(static NAT):内部网络中的单个主机IP地址被永久映射成外部网络中的某个合法的公网IP地址。
    (2)动态----NAT(pooled NAT):在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。
    (3)端口复用----PAT(Port address Translation):把多个内部地址映射到外部网络的一个IP地址的不同端口上。
    (4)NAT server 。

    3、NAT价值(作用)

    NAT地址转化技术的出现的重要价值主要体现在改善网络安全和解决IPV4地址不够用。

    (1)解决 IPV4地址不足问题:这个主要通过动态NAT及Pat来解决—其中PAT技术可以借助一个合法的公网IP地址使成百上千个内网用户达到访问外网的目标(如果不是PAT技术,IPV4那40多亿地址根本不能够满足地球人人手一个可用的 IPV4地址使用,更别提现在在物联网时代每个物品都会有自己的 IP地址)

    (2)安全:通过地址转换将暴露的在公网的重要或核心服务器的地址映射出去,使映射的代理地址来应对攻击,相当于给受保护的地址披上了一层伪装。这是保护和隐藏重要服务器及核心设备地址不会轻易收到网络攻击的重要手段。
    (3)控制:控制内网主机访问外网,同时也可以控制外网主机访问内网,解决了内网和外网不能互通的问题。

    二、NAT类型

    (一)静态NAT

    1、静态NAT

    (1)工作: NAT转换时,内部网络主机IP地址与公网IP是一对一静态绑定的,每个公网IP只能给固定的内网主机转换使用;静态NAT转换时只转换IP地址,不涉及端口号。
    (2)配置:全局配置+接口挂接

    ① 在NAT路由器配置好静态NAT转化映射表。
    ② 在公网接口启用静态NAT配置。

    2、静态NAPT

    (1)工作:静态NAPT转换时,内部网络主机IP+端口号与公网IP+端口号进行一对一静态绑定的,每个公网IP只能给固定的内网主机转换使用;
    (2)配置:

    ① 在NAT路由器配置好静态NAPT转化映射表。
    ② 在公网接口启用静态NAT配置。

    (二)动态NAT

    1、Basic NAT

    (1)工作:
    Basic NAT工作时,内部网络主机IP地址在预先设置好的公网IP地址池中的公网IP地址动态建立一对一映射。
    Basic NAT工作时,在同一时刻的公网地址只能被一个私网地址所映射。
    Basic NAT转换时只转换IP地址,不涉及端口号。
    (2)配置:
    ① 在NAT路由器配置动态公网地址池
    ② 用ACL匹配待转换的内网地址
    ③ 在外网出口配置动态NAT,实现公网地址池和内网地址的挂接,只转换IP地址不进行端口转化。

    2、动态NAPT

    (1)工作: NAT转换时,内部网络主机IP+端口号与公网IP+端口号实现动态映射,实现多个内网共用一个公网IP地址访问外网。
    (2)配置:
    ① 在NAT路由器配置动态公网地址池
    ② 用ACL匹配待转换的内网地址
    ③ 在外网出口配置动态NAPT,实现公网地址池和内网地址的挂接(默认的动态NAT是动态PAT)

    3、Easy IP

    (1)工作:Easy IP是动态NAPT的一个特例
    Easy IP自动将本设备的外网接口IP+端口和内网IP+端口进行映射;Easy IP无需创建公网地址池。
    (2)配置:
    ① 在NAT路由器通过ACL匹配待转化的内网地址
    ② 在公网接口启用挂接匹配到的内网ACL。

    (三)NAT Server(端口映射)

    NAT Server依然是公网IP+端口与内网IP+端口的映射;目的是解决公网IP访问内网IP的问题。

    (1)工作:NAT Server依然属于端口和IP地址的转换
    (2)配置:
    ① 在对应公网接口设置好NAT Server 实现内网IP+端口与公网IP+端口的映射

    三、拓扑

    在这里插入图片描述
    如图配置拓扑、接口地址。
    底层用任意协议都可以。(OPSF、IS-IS、BGP、静态路由等)

    四、配置实验

    1、Easy IP(动态NAPT的一种)部署

    在GW-1出接口部署Easy使得内网192.168.1.0网段正常访问外网

    [AR-3]acl 2000
    [AR-3-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255//使用基本ACL匹配需要进行NAT转换的内网成员为192.168.1.0网段
    [AR-3-acl-basic-2000]quit
    [AR-3]int g0/0/1
    [AR-3-GigabitEthernet0/0/1]nat outbound 2000 //在网关路由器连接外网出口做NAPT,通过ACL2000匹配到的内网数据从本接口发出时替换源IP和源端口为本接口地址信息
    

    [AR-5]ping 12.1.1.2
    在这里插入图片描述

    2、静态NAT

    在GW-2部署静态NAT使得公网成员可以访问内部服务器AR-7的所有端口

    [AR-4]nat static global 24.1.1.102 inside 192.168.3.7 netmask 255.255.255.255
    //系统视图配置将内网192.168.3.7地址转为公网地址24.1.1.102访问外网,或者外部网络一24.1.1.102来访问内部主机192.168.3.7
    [AR-4]int g0/0/1	
    [AR-4-GigabitEthernet0/0/1]nat static enable 
    //网关路由器连接外部网络的出口开启静态nat映射功能,所有在全局做了映射的数据从本接口发出时都会进行IP地址的转化
    

    [AR-5]ping 24.1.1.102
    在这里插入图片描述
    3、NAT Server

    在GW-2部署NAT Server使得公网成员可以访问内部服务器AR-8开放的telnet服务

    [AR-4]int g0/0/1	
    [AR-4-GigabitEthernet0/0/1]nat server protocol tcp global 24.1.1.101 5000 inside 192.168.3.8 23
    //将内网192.168.3.8的基于TCP协议的23端口映射到公网地址24.1.1.101和5000端口
    

    telnet 24.1.1.101
    在这里插入图片描述

    4、在NAT设备部署[Huawei]nat alg all enable 使得ftp,dns等应用数据可以正常对外发布

    [AR-3]nat alg all enable 
    
    [AR-4]nat alg all enable 
    

    5、ACL安全

    在GW-2部署ACL放行FTP和Telnet服务外,其他数据全部禁止

    [AR-4]acl 3000
    [AR-4-acl-adv-3000]rule 5 permit tcp destination 24.1.1.100 0 destination-port eq telnet 
    [AR-4-acl-adv-3000]rule 10 permit tcp destination 24.1.1.101 0 destination-port eq 5000 
    [AR-4-acl-adv-3000]rule 15 permit tcp destination 24.1.1.100 0 destination-port eq ftp-data 
    [AR-4-acl-adv-3000]rule 1000 deny ip
    

    6、静态 NAPT 是指“内部网络主机的 IP+协议号+端口号”同“公网 IP+协议号+端口号”是一对一静态绑定的,静态 NAPT 中的公网 IP 可以为多个私网 IP 使用

    [AR-3]nat static protocol udp global 100.1.1.1 80 inside 192.168.1.0 8080 netmask 255.255.255.0
    

    7、动态NAT需要建立地址池

    [AR-3]nat address-group 1 100.1.1.80 100.1.1.83  
    [AR-3]acl 2000
    [AR-3-acl-basic-2000]rule 5 permit source 10.0.0.0 0.0.0.255
    [AR-3-acl-basic-2000]q
    [AR-3]interface gigabitethernet 0/0/1
    [AR-3-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
    

    五、实验测试

    开启AR-7和AR-8的FTP服务,远程登录认证,创建测试用户(3级用户,FTP目录ybd)

    AR-7

    [AR-7]aaa                                      //进入设备的本地AAA配置
    [AR-7-aaa]local-user hcie password cipher hcie //创建本地用户,名称为hcie,密码hcie ,cipher表示密码在本地加密保存
    [AR-7-aaa]
    [AR-7-aaa]local-user hcie privilege level 3  //设置hcie用户等级为3级用户(默认是管理员用户,拥有所有权限)
    [AR-7-aaa]
    [AR-7-aaa]local-user hcie ftp-directory ybd //设置hcia用户通过FTP登录上来所在的目录为“ybd:”
    [AR-7-aaa]quit
    [AR-7]ftp server enable                        //开启本设备的FTP服务
    [AR-7]user-interface vty 0 4                  //进入到虚拟进程0 到4这5个虚拟进程下
    [AR-7-ui-vty0-4]authentication-mode aaa        //设置远程登录的方式为AAA认证(采用刚才本地的AAA用户来验证远程登录--telnet)
    

    AR-8

    [AR-8]aaa
    [AR-8-aaa]local-user hcie password cipher hcie
    [AR-8-aaa]
    [AR-8-aaa]local-user hcie privilege level 3
    [AR-8-aaa]
    [AR-8-aaa]local-user hcie ftp-directory ybd
    [AR-8-aaa]
    [AR-8-aaa]quit
    [AR-8]ftp server enable 
    [AR-8]user-interface vty  0  4
    [AR-8-ui-vty0-4]authentication-mode aaa
    

    1、NAT static测试

    (1)在AR-5目的公网地址24.1.1.102 默认端口Telnet登录AR-7,save ar-7.cfg;
    在这里插入图片描述
    在这里插入图片描述

    2、NAT Server测试

    (1)在AR-5目的公网地址24.1.1.101 端口5000 Telnet登录到AR-8 save ar-8.cfg

    在这里插入图片描述


    在这里插入图片描述

    我是艺博东!欢迎你和我一起讨论,我们下期见。

    展开全文
  • NAT之server nat

    万次阅读 2019-10-29 17:43:14
    NAT之server nat 可以将某服务器的某端口映射出去(非常安全) PC1(IP地址) IP地址:192.168.31.1 子网掩码:255.255.255.0 网关:192.168.31.254 PC2(IP地址) IP地址:192.168.31.2 子网掩码:255.255.255.0...
  • NAT目的NAT

    万次阅读 2018-10-16 10:10:08
    NAT 目的NAT区别 在FW中,匹配策略的顺序导致存在源NAT和目的NAT。 源NAT就是平常的PAT,NAT,数据包到了FW,先匹配策略,看是否同行,策略过了后,才会进行NAT转换。 目的NAT一般用于将内网服务器端口映射到...
  • NAT实现NAT-master

    2018-01-14 21:45:26
    NAT的C++实现。主要可以实现以下几个功能:数据包伪装、平衡负载、端口转发和透明代理。
  • NAT黑洞

    2020-04-22 04:26:52
    我们在零以太理论(NAT)–重力矢量张量理论中研究了黑洞的一些物理性质。 我们首先回顾NAT中的黑洞解决方案,然后得出黑洞热力学的第一定律。 黑洞的温度取决于黑洞的质量和NAT“电荷”。 温度消失的极端情况类似于...
  • NATNAT用户日志配置.doc
  • STU1.1 Full cone NAT(全锥形NAT)1.2 Restricted Cone NAT(地址受限锥形NAT)1.3 Port Restricted Cone NAT(端口受限锥形NAT)1.4 Symetric NAT(对称NAT)2.小结 参考文献: [1]...
  • NAT隧道v0.01 如果您可以访问具有公共IP和未过滤端口的服务器,则可以在该服务器上运行NAT隧道(NT)服务器,并在NAT后面的框中运行NT客户端。 服务器需要2个开放的端口:一个用于与NT客户端(--admin)进行通信,...
  • 华为NAT转发原理文档
  • GPIB通讯专用芯片NAT9914相关资料。
  • 防火墙NAT Server & 源NAT实验
  • nat_qos:sdn qos nat-源码

    2021-02-05 23:14:04
    nat_qos:sdn qos nat
  • 文章目录出现原因基本概念NAT技术基本原理源NAT技术静态NAT动态NATNAPTEasy IPNAT ALGNAT服务器双向NAT技术域间双向NATNAT Server+源NAT)域内双向NAT 出现原因 由于互联网快速发展,以及IPv4地址规划不合理的问题...
  • NAT配置示例

    2018-01-07 00:01:46
    NAT配置示例NAT配置示NAT配置示例NAT配置示例NAT配置示例NAT配置示例例
  • 最全NAT详解--适合NAT高级读者,2.1 NAT的概念模型,2.4 按照NAT端口映射方式分类,3. NAT的限制与解决方案,3.3 NAT穿越技术,4. NAT的应用和实现,5. 后IPv4时代的NAT

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 196,568
精华内容 78,627
关键字:

nat