精华内容
下载资源
问答
  • 动态地址转换是指外部网络和内部网络之间的地址映射关系,由报文动态决定。 通过配置访问控制列表(acl)和地址池或者接口地址的关系,由“具有某些特征的IP报文”挑选使用“地址池中地址(或接口地址)”,从而...

    应用场景

    动态地址转换是指外部网络和内部网络之间的地址映射关系,由报文动态决定。

    通过配置访问控制列表(acl)和地址池或者接口地址的关系,由“具有某些特征的IP报文”挑选使用“地址池中地址(或接口地址)”,从而建立动态地址映射关系。适用于内部网络又大量用户需要访问外部网络的需求。

    配置思路

    1、配置控制地址转换范围的ACL规则

    2、配置ACL规则与公网地址关联。分为地址池方式与接口地址方式(Easy IP)

    地址池方式配置思路为:

    1、配置公网地址池

    2、进入接口视图

    3、配置ACL规则与地址池的关联

    Easy IP方式配置思路为:

    1、进入接口视图

    2、配置接口视图

    3、配置ACL规则与接口视图的关联

     

    配置步骤

    地址池方式:

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]acl 2001
    [Huawei-acl-basic-2001]rule permit source 10.110.10.0 0.0.0.255
    [Huawei-acl-basic-2001]q
    [Huawei]nat address-group 1 202.110.10.10 202.110.10.12
    [Huawei]int gi 0/0/1
    [Huawei-GigabitEthernet0/0/1]nat outbound 2001 address-group 1    //配置基于地址池的动态地址转换

     

    Easy ip方式:

    <Huawei>sys
    Enter system view, return user view with Ctrl+Z.
    [Huawei]acl 2001
    [Huawei-acl-basic-2001]rule permit source 10.110.10.0 0.0.0.255
    [Huawei-acl-basic-2001]q
    [Huawei]int gi 0/0/1
    [Huawei-GigabitEthernet0/0/1]ip addr 202.110.10.1 24
    [Huawei-GigabitEthernet0/0/1]nat outbound 2001
    [Huawei-GigabitEthernet0/0/1]int gi 0/0/0
    [Huawei-GigabitEthernet0/0/0]ip addr 10.110.10.1 24


    测试结果:

     

     

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

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

    千次阅读 2017-06-22 00:40:58
    【实验名称】 NAT网络地址转换 ...NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。 1.静态地址转换 静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需
    【实验名称】
     NAT网络地址转换        
    

    【实验目的

    利用动态NAT(网络地址转换)实现外网主机访问内网服务器。掌握NAT源地址转换和目的地址转换的区别,掌握如何向外网发布内网的服务器。

    【实验原理】

    NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。

    1.静态地址转换

    静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需要指定和哪个合法地址进行转换。如果内部网络有E-mail服务器或FTP服务器等可以为外部用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。

    静态地址转换基本配置步骤:

     (1)在内部本地地址与内部合法地址之间建立静态地址转换,在全局设置状态下输入:

    Ip nat inside source static内部本地地址内部合法地址

    (2)指定连接内部网络的内部端口,在端口设置状态下输入:

       ip nat inside

    (3)指定连接外部网络的外部端口,在端口设置状态下输入:

       ip nat outside

     (注:可以根据实际需要定义多个内部端口及多个外部端口。)

    2.动态地址转换

    动态地址转换也是将内部本地地址与内部合法地址一对一地转换,但是动态地址转换是从内部合法地址池中动态地选择一个未使用的地址来对内部本地地址进行转换的。

    动态地址转换基本配置步骤:

    (1)在全局设置模式下,定义内部合法地址池:

    ip nat pool地址池名称起始IP地址终止IP地址子网掩码

    其中地址池名称可以任意设定。

    (2)在全局设置模式下,定义一个标准的Access-List规则以允许哪些内部地址可以进行动态地址转换:

    Access-list标号permit源地址通配符

    其中标号为199之间的整数。

    (3)在全局设置模式下,将由Access-List指定的内部本地地址与指定的内部合法地址池进行地址转换:

    ip nat inside source list访问列表标号pool内部合法地址池名字

    (4)在端口设置状态下指定与内部网络相连的内部端口:

    ip nat inside

    (5)在端口设置状态下指定与外部网络相连的外部端口:

    ip nat outside

    3.复用动态地址转换

    复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。对只申请到少量IP地址但却经常同时有多个用户上外部网络的情况,这种转换极为有用。

    复用动态地址转换配置步骤:

    (1)在全局设置模式下,定义内部合法地址池:

    ip nat pool地址池名字起始IP地址终止IP地址子网掩码

    其中地址池名字可以任意设定。

    (2)在全局设置模式下,定义一个标准的Access-List规则以允许哪些内部本地地址可以进行动态地址转换:

    Access-List标号permit源地址通配符

    其中标号为199之间的整数。

    (3)在全局设置模式下,设置在内部本地地址与内部合法地址池间建立复用动态地址转换:

    ip nat inside source list访问列表标号pool内部合法地址池名字overload

    (4)在端口设置状态下,指定与内部网络相连的内部端口:

    ip nat inside

    (5)在端口设置状态下,指定与外部网络相连的外部端口:

    ip nat outside

    相信通过以上的介绍,大家对路由器的NAT功能已有所了解,现在大家已经可以通过路由器的NAT功能,安全而轻松地进行内部网络与外部Internet网络的连接了。

     

    【实验内容】

    实验设备: R2811路由器(2台)、PC机(2台)、交叉线(2根)、V.35线缆(1根)

       扑:


     

    步骤1. 路由器Route A上的基本配置:

    Route(config)#hostname RouteA                //给路由器命名

    RouteA (config)#interface fastethernet 0/1

    RouteA (config-if)#ip address 192.168.1.1 255.255.255.0  //给接口配置IP地址

    RouteA (config-if)#no shutdown

     

    RouteA (config-if)#int s1/0 

    RouteA (config-if)#clock rate 64000                   //配置时钟频率

    RouteA (config-if)#ip add 10.1.2.1 255.255.255.0

    RouteA (config-if)#no shutdown

    RouteA (config-if)#exit

    RouteA (config)#ip route 0.0.0.0 0.0.0.0 10.1.2.2 //配置缺省静态路由

     

    步骤2. 路由器RouteB上的基本配置:

    Route(config)#hostname RouteB

    RouteB(config)#interface fastethernet 0/1

    RouteB(config-if)#ip address 192.168.2.1 255.255.255.0

    RouteB(config-if) #no shutdown

    RouteB(config)#int s1/0 

    RouteB(config-if)#ip add 10.1.2.2 255.255.255.0

    RouteB(config-if)#no shutdown

    RouteB(config-if)#exit

    RouteB(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.1   //配置缺省静态路由

     

    步骤3.做好上述配置后,测试PC1Web-server之间的连通性,保证它们之间能够相互访问。



     

     

    步骤4. Route B上配置NAT映射:

    RouteB (config)#interface f0/1

    RouteB (config-if)#ip nat inside     //定义f0/1NAT转换的内口

    RouteB(config-if)#exit      

    RouteB (config)#interface s1/0

    RouteB (config-if)#ip nat outside

    RouteB (config-if)#exit

     

    RouteB (config)#ip nat inside source static 192.168.2.1 172.16.1.1

    //定义访问外网的IP地址转换为内网的Web-serverIP地址。

     

    步骤5. 再次测试:做好上述配置,再测试PC1Web-server之间的连通性,若能ping通,且为172.16.1.1返回,步骤正确


     

     

    步骤6. 定义访问控制列表,拒绝192.168.1.2 ping 192.168.2.2,但是可以ping172.16.1.1

    RouteB(config)#access-list 100 deny icmp host 192.168.1.2 host 192.168.2.2 echo

    RouteB(config)#access-list 100 permit ip any any

    RouteB(config)#interface serial 1/0

    RouteB(config-if)#ip access-group 100 in

    RouteB(config)#access-list 100 deny tcp host 192.168.1.2 host 192.168.2.2 eq www

    RouteB(config)#access-list 100 permit ip any any

     

     

    步骤7. 再次测试:做好上述配置,再度从Web-serverPC1的连通性,若能ping通,且从PC1192.168.2.2连通性不能ping通,到172.16.1.1ping通,实验成功

     


     

     

     

    RouteB #show ip nat translations     //查看NAT转换表

     

    【小结或讨论】

    1. 不要把inside接口outside接口弄错。

    2. 时钟只能在DCE端配置。

     

     

     

     

     

     

     

     


    展开全文
  • 网络地址转换

    千次阅读 2018-08-09 22:26:28
     网络地址转换(Network Address Translation,NAT)诞生于1994年,它的提出是在IPv4地址资源面临枯竭的背景下。NAT的设计初衷之一是为了作为IPv6全面部署之前的过渡策略(虽然现在已成为IPv6部署推进滞后的原因之...

    NAT概述

           网络地址转换(Network Address Translation,NAT)诞生于1994年,它的提出是在IPv4地址资源面临枯竭的背景下。NAT的设计初衷之一是为了作为IPv6全面部署之前的过渡策略(虽然现在已成为IPv6部署推进滞后的原因之一),采用NAT滞后,互联网地址就不再需要时全球唯一的,因此可以在互联网的不同部分(称为地址范围(address realm))被重复使用。允许在多个范围中的地址重复使用,大大缓解了地址耗尽的问题。此外,NAT可以与防火墙相结合形成复合设备,这种设备已成为用于连接终端用户最为常见的路由器类型。

           NAT本质上是一种允许在互联网的不同地方重复使用相同的IP地址集的机制(如上图所示)。建立NAT的主要动机是正在急剧减少的有限IP地址空间。使用NAT最常见的情况是,唯一与Internet连接的站点仅被分配了很少的几个IP地址(甚至只有一个IP地址),但是内部却有多台主机需要同时上网。当所有进出的流量均通过一个单独的NAT设备时,该设备将内部系统的地址空间和全球互联网地址空间分割开,因此所有的内部系统可以使用本地分配的私有IP地址访问互联网。

           NAT的引入用以解决两个问题:IP地址枯竭和关于路由可扩展性的担忧。NAT刚推出的时候仅作为权宜之计,知道一些具有更大地址空间的协议(IPv6)被广泛部署为止。无类别域间路由(CIDR)的发展解决了路由可扩展性的问题。NAT则减少了对具备全局路由的互联网地址的需求,同时提供了一些防火墙的功能,并且仅需要很少的配置。但具有讽刺意味的是,快速发展和广泛使用的NAT却严重影响了IPv6的推进进程(在IPv6的诸多益处中,其中一项就是不再需要NAT)。

           NAT存在几个缺点,最明显的是,需要做特殊配置才能使处于NAT内部的主机能够提供可供互联网访问的服务,因为互联网上的用户无法直接访问具备私有地址的主机。此外,为了使NAT正常工作,每一个隶属于同一个连接或关联的双向数据包都必须通过相同的NAT。这是因为NAT必须重写每个数据包的寻址信息,以便私有地址空间的系统和Internet主机之间能够正常通信。在许多方面,NAT和互联网协议的基本宗旨是背道而驰的。

           NAT的工作原理就是重写通过路由器的数据包的识别信息。这种情况常发生在数据传输的两个方向上。在这种最基本的形式中,NAT需要重写往一个方向传输的数据包的源IP地址,重写往另一个方向的数据包的目的IP地址。这允许传出的数据包的源IP地址变为NAT路由器中面向Internet的网络接口地址(全局地址)而不是原始主机的接口地址。通俗来说,NAT路由器将其管理的内部主机发送的数据包的源IP地址由局部地址变为全局地址,从外部传输过来的数据包则做相反转换以分配到合适的内部主机。因此,在互联网上的主机看来,数据包是来自于具备全局路由IP的NAT路由器,而不是位于NAT内部的私有地址的主机。大多数的NAT同时执行转换(translation)和包过滤(packet filtering)。

    基本NAT和NAPT

           传统的NAT包括基本NAT(basic NAT)和网络地址端口转换(Network Address Port Translation,NAPT)。基本NAT只执行IP地址的重写,本质上就是将私有地址改写为一个公共地址——往往取决于一个由ISP提供的地址池或公有地址范围。basic NAT也分为静态和动态两种,主要区别是其维护的NAT地址映射表的一对一映射关系是静态不变的还是动态可变的。basic NAT无助于减少需要使用的IP地址数量,因为这要求全局可路由的地址数量必须大于或等于希望同时访问Internet的内部主机数量。

           NAPT也称为IP伪装,它使用传输层标识符(即TCP和UDP端口,ICMP查询标识符)来确定一个特定的数据包到底和NAT内部的哪台主机关联。即改变外出数据包的源端口并进行端口转换,采用端口多路复用(Port Address Translation,PAT)的方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,可以最大限度地节约IP地址资源。这使得大量的内部主机能够同时访问互联网,而使用的公有地址数量却很少,通常只需一个。同时,也可以隐藏网络内部的所有主机,有效避免来自Internet的攻击。

    地址冲突解决

           在NAT内部使用的地址范围不受除了本地网络管理员之外的任何人的限制。因此,有可能在私有地址范围内采用全局地址空间。然而,当这样的全局地址也被互联网上的另一个实体所使用时,在私有范围内的本地系统极有可能无法达到使用相同地址的公共系统,这是因为采用相同地址的本地系统会屏蔽掉使用相同地址的远端系统。为了避免这种不良情况的发生,保留了三个IPv4地址范围作为私有地址范围使用:10.0.0.0/8,172.16.0.0/12,192.168.0.0/16。这些地址范围经常被用来作为嵌入式DHCP服务器(DHCP传送门)的地址池的默认值。

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

    NAT映射

           在如图所示的NAT网络模型中,内部地址为(X:x)的主机要与外部主机通信,需要使用一个外部地址(X':x'),NAT负责创建一个由(X:x)到(X':x')的地址映射。假设内部主机先连接到(Y1:y1),再连接到(Y2:y2),NAT需先创建(X:x)到(X1':x1')的映射,再创建(X:x)到(X2':x2')的映射。在大多数情况下,X1'等于X2',因为大多数网站只使用一个全局路由的IP地址。如果x1'等于x2',映射被认为是重复使用的。如果x1'和x2'均与x相等,NAT实现的是称为端口保留的动作。在某些情况下,端口保留是不可能的,所以NAT必须处理端口冲突问题。

           参照上图,如果对于任何Y1:y1或Y2:y2(即外部主机),X1':x1'等于X2':x2',则NAT存在独立于端点的映射。若当且仅当Y1等于Y2时,X1':x1'才等于X2':x2',则NAT存在地址相关的映射。若当且仅当Y1:y1等于Y2:y2时,X1':x1'才等于X2':x2',则NAT存在地址和端口相关的映射。NAT对信息进行处理的行为按照上述条件进行划分,其分类又可称为全锥形NAT(Full Cone NAT)、地址限制锥形NAT(Address-Restricted cone NAT)、端口限制锥形NAT(Port-Restricted cone NAT)和对称型NAT(Symmetric NAT)。若NAT的外部地址是在没有考虑内部或外部地址的情况下选择的,则拥有多个外部地址的NAT(即X1'可能不等于X2')可任意选择一个地址映射,或者为每个连接选择相同的映射(称为配对)。配对是所有传输层的推荐NAT行为,如果未使用配对(即内部主机与外部主机进行一对一通信时NAT却使用不同的映射),内部主机的通信对等端可能会错误地判断它正与不同的主机进行通信。

    发夹和环回

           当客户端希望访问位于同一个NAT私有地址空间内的服务器时(如上图所示),会导致一个有趣的问题。能够支持这种场景的NAT需要实现发夹(hairpinning)或者NAT环回(NAT loopback)。若发送方知道接收方的私有地址,这没有问题,可以直接进行连接。但在某些情况下X1只知道公用地址信息:(X2':x2)。在这种情况下,X1借助(X2‘:x2')尝试连接(X2:x2)。当NAT将数据包发送到对应映射的(X2:x2)时即完成了一个发夹过程。但问题是目的是(X2:x2)的数据包头部中的源地址应该是(X1:x1)还是(X1':x1')呢?答案是前者,这种NAT被称为有“外部源IP地址和端口”的发夹行为是TCP NAT所必需的。之所以需要这种行为,是为了均采用全局路由地址的应用能够识别对方。

    NAT的P2P限制

           前面提到过,NAT的设计与互联网协议的基本宗旨是背道而驰的,这其中重要的一点(也是其缺陷)就是破坏了IP端到端通信的能力。其解决方案:NAT穿越写在另一篇博文中。

    端到端服务模型

           IP协议的一个重要贡献是把世界变得平等。在理论上,具有IP地址的每个站点在协议层面有相当的获取服务和提供服务的能力,不同的IP地址之间没有差异。人们熟知的服务器和客户机实际是在应用协议层上的角色区分,而在网络层和传输层没有差异。一个具有IP地址的主机既可以是客户机,也可以是服务器,大部分情况下,既是客户机,也是服务器。端到端对等看起来是很平常的事情,而意义并不寻常。在以往的技术中,很多协议体系下的网络限定了终端的能力,正是IP的这个开放性,使得TCP/IP协议族可以提供丰富的功能,为应用实现提供了广阔平台。因为所有的IP主机都可以服务器的形式出现,所以通讯设计可以更加灵活。使用UNIX/LINUX的系统充分利用了这个特性,使得任何一个主机都可以建立自己的HTTP、SMTP、POP3、DNS、DHCP等服务。与此同时,很多应用也是把客户端和服务器的角色组合起来完成功能。例如在VoIP应用中,用户端向注册服务器登录自己的IP地址和端口信息过程中,主机是客户端;而在呼叫到达时,呼叫处理服务器向用户端发送呼叫请求时,用户端实际工作在服务器模式下。在语音媒体流信道建立过程后,通讯双向发送语音数据,发送端是客户模式,接收端是服务器模式。而在P2P的应用中,一个用户的主机既为下载的客户,同时也向其他客户提供数据,是一种C/S混合的模型。上层应用之所以能这样设计,是因为IP协议栈定义了这样的能力。如果IP提供的能力不对等,那么每个通信会话都只能是单方向发起的,这会极大限制通信的能力。

           大多数IP流量均使用TCP和UDP在互联网上进行传输,这些协议本身可以很好地被NAT支持而无须增加额外的复杂性。但当应用层协议与它们一起携带传输层或更底层的信息,如IP地址,NAT的问题就会变得复杂很多。因为NAT作为较低层的协议却划分了服务器和客户端两个概念,违背了互联网协议的端到端原则

    其他局限性

           NAT的局限性除了前面的破坏了端到端原则以外,还有以下几点:

     1.使得IP协议从面向无连接变成面向连接

           NAT必须维护专用IP地址与公用IP地址以及端口号的映射关系。在TCP/IP协议体系中,如果一个路由器出现故障,不会影响到TCP协议的执行。因为只要几秒收不到应答,发送进程就会进入超时重传处理。而当存在NAT时,最初设计的TCP/IP协议过程将发生变化,Internet可能变得非常脆弱。

    2.NAT违反了基本的网络分层结构模型的设计原则

           因为在传统的网络分层结构模型中,第N层是不能修改第N+1层的报头内容的。NAT破坏了这种各层独立的原则。

    3.NAT同时存在对高层协议和安全性的影响问题

           RFC对NAT存在的问题进行了讨论。NAT的反对者认为这种临时性的缓解IP地址短缺的方案推迟了Ipv6迁移的进程,而并没有解决深层次的问题,他们认为是不可取的。

     

                                                              本文部分内容摘自《TCP/IP详解 卷1:协议(中文版)第2版》,有改动

           

    展开全文
  • 学习目标:理解 NAT 网络地址转换的原理及功能、掌握 NAPT配置实现局域网访问...②NAT分为两种类型:NAT(网络地址转换)和NAPT(网络端口地址转换IP地址对应一个全局地址) ③NAPT:使用不同的端口来映射多个...
  • 思科模拟器 --- 网络地址转换NAT配置

    千次阅读 2019-11-11 10:36:55
    学习目标:理解NAT网络地址转换的原理及功能、掌握静态NAT配置,实现局域网访问互联网 1.定义 ①网络地址转换NAT(Network Address Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因...
  • 配置网络地址转换NAT技术实验

    千次阅读 2020-04-24 09:48:32
    掌握内网中所有主机连接到Internet网时,通过端口号区分的复用内部全局地址转换 实验拓扑 预备知识 路由器基本配置知识、NAT知识 实验原理 NAT(网络地址转换或网络地址翻译),是指将网络地址从一个地址空间转换...
  • PCIe地址转换服务(ATS)详解

    千次阅读 多人点赞 2021-09-11 23:33:06
    PCIe地址转换服务(ATS)详解
  • 网络地址转换 NAT配置

    千次阅读 2015-10-20 09:11:50
    网络地址转换NAT配置技术原理:网络地址转换NAT (NetworkAddress Translation),被广泛应用于各种类型Internet接入方式和各种类型的网络中。NAT不仅完美解决了IP地址不足的问题,而且还能够有效地避免来自网络外部...
  • 防火墙之地址转换SNAT DNAT

    万次阅读 多人点赞 2017-03-21 14:29:31
    防火墙之地址转换SNAT DNAT 一、SNAT源地址转换。 1、原理:在路由器后(PSOTROUTING)将内网的ip地址修改为外网网卡的ip地址。 2、应用场景:共享内部主机上网。 3、设置SNAT:网关主机进行设置。  (1)...
  • linux驱动中地址空间转换

    千次阅读 2017-02-25 18:49:45
    转换分为两种, 静态和动态。 静态就是下面那种,不过,静态的地址转换,还需要在kernel 初始化的时候作映射。  动态映射是使用 ioremap 函数 。 [cpp] view plain copy #define SL2312_GPIO_BASE 0x4D...
  • nat 私有地址与公有地址转换

    千次阅读 2018-07-26 15:51:10
    IP地址的日益短缺,nat 的出现便可以将私有地址转换为公有地址(即互联网可以识别的地址)外网并不能识别私有地址  如何分辨私有地址 :A类网络:10. . . 的地址   B类网络:172.16. . -172.31. . 的...
  • CCNA学习笔记九 NAT地址转换及优缺点

    千次阅读 2015-11-28 09:25:02
    网络地址转换 将很多的私网地址转换成公网IP Telnet,快。可以被拦截 ssh/ssl加密,安全 改变IP包头,使目的地址,源地址或两个地址在包头中被不同的地址替换 路由器会保存一个转换表,当数据包回来的时候,...
  • 这几个地址之间的转换
  • linux驱动中物理地址的空间转换

    千次阅读 2014-11-03 21:31:06
    转换分为两种, 静态和动态。 静态就是下面那种,不过,静态的地址转换,还需要在kernel 初始化的时候作映射。  动态映射是使用 ioremap 函数 。 [cpp] view plaincopy #define SL2312_...
  • NAT网络地址转换技术文集

    千次阅读 2007-05-15 23:19:00
    NAT网络地址转换技术文集NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP...
  •  理解NAT网络地址转换的原理及功能;  掌握静态NAT的配置,实现局域网访问互联网; 实验背景  你是某公司的网络管理员,欲发布公司的WWW服务。现要求将内网Web服务器IP地址映射为全局IP地址,实现外部网络可以...
  • Linux地址映射--地址转换(mmap,vma)

    千次阅读 2017-06-06 10:00:34
    一,线性映射与非线性映射 1. 内存管理 物理内存管理: ...某些设备会映射在物理内存地址外,这些地址会在使用时建立page结构。 进程内存管理: Linux进程通过vma进行管理,每个进程都有一个task_
  • 我们就从(pid,virtualaddress)来看看如何将一个进程的虚拟地址转换为物理地址phyaddress。   首先根据pid我们可以得到这个进程的task_struct,进而通过task_struct得到mm,通过mm得到pgd。 好了,现在我们有pgd...
  • 分为三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。   静态转换:将本地IP(X)地址转换为全球IP(G)地址,IP(G)地址是一对一的。   动态转换:将本地IP...
  • 网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅...
  • NAT、Napt(地址转换技术)详解

    千次阅读 2020-06-23 11:31:45
    NAT的由来 IPv4即网际网协议第4版——Internet Protocol Version 4的缩写...以IP创始时期被联网的设备来看,这样的一个空间已经很大,很难被短时间用完。然而,事实远远超出人们的设想,计算机网络在此后的几十年里
  • 分页存储管理中逻辑地址到物理地址转换过程解析首先要知道,物理地址=块号+页内地址 逻辑地址=页号+页内地址所以物理地址和逻辑地址后面部分是相同的,即都为页内地址。下面以一个例子说明如何由逻辑地址求物理...
  • 网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅...
  • NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,...
  • NAT技术详解(网络地址转换

    千次阅读 2020-04-06 10:48:34
    NAT(Network Addresss Translation),网络地址转换,本质上是一种允许在互联网的不同地方重复使用相同的IP地址集的机制,同时作为公网IP地址和私网IP地址的过渡环节,同时也具有了一定的防御功能——过滤数据包。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,818
精华内容 52,327
关键字:

动态地址转换可分为