NAT学习总结.doc_第1页
NAT学习总结.doc_第2页
NAT学习总结.doc_第3页
NAT学习总结.doc_第4页
NAT学习总结.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络地址转换(NAT)网络地址转换(NAT,Network Address Translation)被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 虽然NAT可以借助于某些代理服务器来实现,但考虑到运算成本和网络性能,很多时候都是在路由器上来实现的。 随着接入Internet的计算机数量的不断猛增,IP地址资源也就愈加显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求,于是也就产生了NAT技术。l.NAT简介借助于NAT,私有(保留)地址的内部网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。 NAT将自动修改IP报文头申的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成。有些应用程序将源IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文进行修改,以匹配IP头中已经修改过的源IP地址。否则,在报文数据都分别嵌入IP地址的应用程序就不能正常工作。2.NAT实现方式 NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat 和 端口多路复用OverLoad。 静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。 动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址对是不确定的,而是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。 端口多路复用是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。3.网络地址转换(NAT)的实现在配置网络地址转换的过程之前,首先必须搞清楚内部接口和外部接口,以及在哪个外部接口上启用NAT。通常情况下,连接到用户内部网络的接口是NAT内部接口,而连接到外部网络(如Internet)的接口是NAT外部接口。 1).静态地址转换的实现 假设内部局域网使用的lP地址段为54,路由器局域网端(即默认网关)的IP地址为,子网掩码为。网络分配的合法IP地址范围为2835,路由器在广域网中的IP地址为29,子网掩码为48可用于转换的IP地址范围为3034。要求将内部网止分别转换为合法IP地址3034。 第一步,设置外部端口。 interface serial 0 ip address 55.248 ip nat outside 第二步,设置内部端口。 interface ethernet 0 ip address . ip nat inside 第三步,在内部本地与内部合法地址之间建立静态地址转换。 ip nat inside source static 内部本地地址内部合法地址 示例: ip nat inside source static 30/将内部网络地址转换为合法IP地址30 ip nat inside source static 31/将内部网络地址转换为合法IP地址31 ip nat inside source static 32/将内部网络地址转换为合法IP地址32 ip nat inside source static 33/将内部网络地址转换为合法IP地址33 ip nat inside source static 34/将内部网络地址转换为合法IP地址34 至此,静态地址转换配置完毕。 2).动态地址转换的实现 假设内部网络使用的IP地址段为54,路由器局域网端口(即默认网关)的IP地址为,子网掩码为。网络分配的合法IP地址范围为2891,路由器在广域网中的IP地址为29,子网掩码为92,可用于转换的IP地址范围为3090。要求将内部网址54动态转换为合法IP地址3090。 第一步,设置外部端口。 设置外部端口命令的语法如下: ip nat outside 示例: interface serial 0/进入串行端口serial 0 ip address 29 255.255.248/将其IP地址指定为29,子网掩码为48 ip nat outside /将串行口serial 0设置为外网端口 注意,可以定义多个外部端口。 第二步,设置内部端口。 设置内部接口命令的语法如下: ip nat inside 示例: interface ethernet 0 /进入以太网端口Ethernet 0 ip address / 将其IP地址指定为,子网掩码为 ip nat inside /将Ethernet 0 设置为内网端口。 注意,可以定义多个内部端口。 第三步,定义合法IP地址池。 定义合法IP地址池命令的语法如下: ip nat pool 地址池名称 起始IP地址 终止IP地址 子网掩码 其中,地址池名字可以任意设定。 示例: ip nat pool net 30 90 netmask 92/指明地址缓冲池的名称为net,IP地址范围为3090,子网掩码为92。需要注意的是,即使掩码为,也会由起始IP地址和终止IP地址对IP地址池进行限制。 或ip nat pool test 30 90 prefix-length 26 注意,如果有多个合法IP地址范围,可以分别添加。例如,如果还有一段合法IP地址范围为54,那么,可以再通过下述命令将其添加至缓冲池中。 ip nat pool cernet 54 netmask 或 ip nat pool test 54 prefix-length 24 第四步,定义内部网络中允许访问Internet的访问列表。 定义内部访问列表命令的语法如下: access-listl 标号 permit 源地址 通配符(其中,标号为199之间的整数) access-listl permit 55 /允许访问Internet的网段为55,主机掩码为55。需要注意的是,在这里采用的是主机掩码,而非子网掩码。子网掩码与主机掩码的关系为:主机掩码+子网掩码=55。例如,子网掩码为,则主机掩码为55;子网掩码为,则主机掩码为55;子网掩码为,则主机掩码为55;子网掩码为92,刚主机掩码为 3。 另外,如果想将多个IP地址段转换为合法IP地址,可以添加多个访问列表。例如,当欲将55和55转换为合法IP地址时,应当添加下述命令: access-list2 permit 55 access-list2 permit 55 第五步,实现网络地址转换。 在全局设置模式下,将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换。命令语法如下: ip nat inside source list 访问列表标号 pool 内部合法地址池名字 示例: ip nat inside source list 1 pool chinanet 如果有多个内部访问列表,可以一一添加,以实现网络地址转换,如 ip nat insde source list 2 pool chinanet ip nat insde source list 2 pool chinanet 如果有多个地址池,也可以一一添加,以增加合法地址池范围,如 ip nat insde source list 2 pool cernet ip nat insde source list 2 pool cernet ip nat insde source list 2 pool cernet 至此,动态地址转换设置完毕。 3).端口复用动态地址转换 内部网络使用的IP地址段为54,路由器局域网端口(即默认网关)的IP地址为,子网掩码为。网络分配的合法IP地址范围为,路由器广域网中的IP地址为,子网掩码为52,可用于转换的IP地址为。要求将内部网址54 转换为合法IP地址。 第一步,设置外部端口。 interface serial 0 ip address 52 in nat outside 第二步,设置内部端口。 interface ethernet 0 ?ip address ?ip nat inside 第三步,定义合法IP地址池。 in nat pool onlyone netmask 52 / 指明地址缓冲池的名称为onlyone,IP地址范围为,子网掩码为52。由于本例只有一个IP地址可用,所以,起始IP地址与终止IP地址均为。如果有多个IP地址,则应当分别键入起止的IP直址。 第四步,定义内部访问列。 access-list 1 permit 55 允许访问Internetr的网段为55,子网掩码为。需要注意的是,在这里子网掩码的顺序跟平常所写的顺序相反,即55。 第五步,设置复用动态地址转换。 在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。命令语法如下: ip nat inside source list访问列表号pool内部合法地址池名字overload 示例: ip nat inside source list1 pool onlyone overload /以端口复用方式,将访问列表1中的私有IP地址转换为onlyone IP地址池中定义的合法IP地址。 至此,端口复用动态地址转换完成。 编辑本段网络地址转换(NAT)-实例示例一:全部采用端口复用地址转换 当ISP分配的IP地址数量很少,网络又没有其他特殊需求,即无需为Internet提供网络服务时,可采用端口利用地址转换方式,使网络内的计算机采用同一IP地址访问Internet,在节约IP地址资源的同时,又可有效保护网络内部的计算机。 网络环境为: 局域网采用10Mb/s光纤,以城域网方式接入Internet,如图4-2-2所示。路由器选用拥有2个10/100 Mb/s自适应端口的Cisco 2611。内部网络使用的IP地址段为192.101.254,局域网端口Ethernet 0的IP地址为,子网掩码为。网络分配的合法IP地址范围为2831,连接ISP的端口Ethernet 1的IP地址为29,子网掩码为52。可用于转换的IP地址为30。要求网络内部的所有计算机均可访问Internet。 案例分析: 既然只有一个可用的合法IP地址,同时处于局域网的服务器又只为局域网提供服务,而不允许Internet中的主机对其访问,因此完全可以采用端口复用地址转换方式实现NAT,使得网络内的所有计算机均可独立访问Internet。 配置清单: interface fastethernet0/0 ip address /定义本地端口IP地址 duplex auto speed auto ip nat inside / 定义为本地端口 ! interface fastethernet0/1 ip address 29 52 duplx auto speed auto ip nat outside ! ip nat pool onlyone 30 30 netmadk 52 /定义合法IP地址池,名称为onlyone access-list 1 permit 55 /定义本地访问列表 access-list 1 permit 55 ip nat inside source list1 pool onlyone overload /采用端口复用动态地址转换 示例二:动态地址+端口复用地址转换 许多FTP网站考虑到服务器性能和Internet连接带宽的占用问题,都限制同一IP地址的多个进程访问。如果采用端口复地址转换方式,则网络内的所以计算机都采用同一IP地址访问Internet,那么,将因此而被禁止对该网站的访问。所以,当提供的合法IP地址数量稍多时,可同时采用端口复用和动态地址转换方式,从而既可保证所有用户都能够获得访问Internet的权力,同时,又不致、某些计算机因使用同一IP地址而被限制权限。需要注意的是,由于所有计算机都采用动态地址转换方式,因此Internet中的所有计算机将无法实现对网络内部服务器的访问。 网络环境: 局域网以2Mb/s DNA专线接入Internet,路由器选用安装了广域网模块的Cisco 2611,如图4-2-2所示。内部网络使用的IP地址段为54,局域网端口Ethernet 0的IP地址为,子网掩码为。网络分配的合法IP地址范围为2829,子网掩码为92,可用于转换的IP地址范围为3090。要求网络部分的部分计算机可以不受任何限制地访问Internet,服务器无需提供Internet访问服务。 案例分析: 既然要求网络中的部分计算机可以不受任何限制地访问Internet,同时,服务器无需提供Internet访问服务,那么,只需采用动态地址转换+端口复用地址转换方式即可实现。部分有特殊需求的计算机采用动态地址转换的NAT方式,其他计算机则采用端口复用地址转换的NAT方式。因此,部分有特殊需求的计算机可采用内部网址54,并动态转换为合法地址3089,其他计算机采用内部网址54,全部转换为90。 配置清单: interface fastethernet0/1 ip address /定义局域网端口IP地址 duplex auto speed auto ip nat inside /定义为局域端口 ! interface serial 0/0 ip address 29 92 /定义广域网端口IP地址 ! duplex auto speed auto ip nat outside /定义为广域端口 ! ip nat pool public 30 90 netmask 92 /定义合法IP地址池,名称为public ip nat pool super 30 89 netmask 92 /定义合法IP地址池,名称为super ip nat inside source list1 pool super /定义列表达1采用动态地址转换 ip nat inside source list2 pool public overload? /定义列表2采用端口复用地址转换 access-list1 permit 55 /定义本地访问列表1 access-list2 permit 55 /定义本地访问列表2 access-list2 permit 55 示例三:静态地址转换+端口复用地址转换 其实在很多时候,网络中的服务器既为网络内部的客户提供网络服务,又同时为Internet中的用户提供访问服务。因此,如果采用端口复用地址转换或动态地址转换,将由于无法确定服务器的IP地址,而导致Internet用户无法实现对网络内部服务器的访问。此时,就应当采用静态地址转换+端口复用地址转换的NAT方式。也就是说,对服务器采用静态地址转换,以确保服务器拥有固定的合法IP地址。而对普通的客户计算机则采用端口复用地址转换,使所有用户都享有访问Internet的权力。 网络环境为: 局域网采用10Mb/s光纤,以城域网方式接入Internet,如图4-2-2所示。路由器选用拥有2个10/100 Mb/s自适应端口的Cisco 2611。内部网络使用的IP地址段为54,局域网端口Ethernet 0的IP地址为,子网掩码为。网络分配的合法IP地址范围为07,连接ISP的端口Ethernet 1的IP地址为1,子网掩码为48。要求网络内部的所有计算机均可访问Internet,并且在Internet中提供Web、E-mail、FTP和Media等4种服务。 案例分析: 既然网络内的服务器要求能够被Internet访问到,那么,这部分主机必须拥有合法的IP地址,也就是说,服务器必须采用静态地址转换。其他计算机由于没有任何限制,所以,可采用端口复用地址转换的NAT方式。因此,服务器可采用内网址54,并分别映射为一个合法的IP地址。其他计算机则采用内部网址54,并全部转换为一个合法的IP地址。 配置清单: interface fastethernet0/0 ip address /定义局域网口IP地址 duplex auto speed auto ip nat inside /定义局域网口 ! interface fastethernet0/1 ip address 1 48 /定义广域网口IP地址 duplex auto speed auto ip nat outside /定义广域网口 ! ip nat pool every 6 6 netmask 48 /定义合法IP地址池 access-list 1 permit 55 /定义本地访问列表1 access-list 1 premit 55 access-list 1 premit 55 access-list 1 premit 55 ip nat inside source list1 pool every overload /定义列表达1采用端口复用地址转换 ip nat inside source static 0 2 /定义静态地址转换 ip nat inside source static 1 3 ip nat inside source static 2 4 ip nat inside source static 3 5 示例四:TCP/UDP端口NAT映射 如果ISP提供的合法IP地址的数量较多,我们自然可以采用静态地址转换+端口复用动态地址转换的方式得以完美实现。但如果ISP只提供4个IP地址,其中2个作为网络号和广播地址而不可使用,1个IP地址要用于路由器定义为默认网关, 那么将只剩下1个IP地址可用。当然我们也可以利用这个仅存的一个IP地址采用端口复用地址转换技术,从而实现整个局域网的Internet接入。但是由于服务器也采用动态端口,因此,Internet中的计算机将无法访问到网络内部的服务器。有没有好的解决问题的方案呢?这就是TCP/UDP端口NAT映射。 我们知道,不同应用程序使用的TCP/UDP的端口是不同的,比如,Web服务使用50,FTP服务使用21,SMTP服务使用25,POP3服务使用110,等等。因此,可以将不同的TCP端口绑定至不同的内部IP地址,从而只使用一个合法的IP地址,即可在允许内部所有服务器被Internet访问的同时,实现内部所有主机对Internet访问。 网络环境: 局域网采用10Mb/s光纤,以城域网方式接入Internet,如图4-2-5所示。路由器选用拥有2个10/100 Mb/s自适应端口的Cisco 2611。内部网络使用的IP地址段为54,局域网端口Ethernet 0的IP地址为,子网掩码为。网络分配的合法IP地址范围为,2831,连接ISP的端口Ethernet 1的IP地址为29,子网掩码为52,可用于转换的IP地址为30。要求网络内部的所有计算机均可访问Internet。 案例分析: 既然只有一个可用的合法IP地址,当然只能采用端口复用方式实现NAT,不过,由于同时又要求网络内部的服务器可以被Internet访问到,因此,必须使用PAT创建TCP/UDP端口的NAT映射。需要注意的是,也可以直接使用广域端口创建TCP/UDP端口的NAT映射,也就是说,即使只有一个IP地址,也可以完美实现端口复用。由于合法IP地址位于路由器端口上,所以,不再需要定义NAT池,只简单地使用inside source list语句即可。 需要注意的是,由于每种应用服务都有自己默认的端口,所以,这种NAT方式下,网络内部每种应用服务中只能各自有一台服务器成为Internet中的主机,例如,只能有一台Web服务器,一台E-mail服务,一台FTP服务器。尽管可以采用改变默认端口的方式创建多台应用服务器,但这种服务器在访问时比较困难,要求用户必须先了解某种服务采用的新TCP端口。 配置清单: interface fastethernet0/0 ip address /指定局域网口的IP地址 duplex auto speed auto ip nat inside /指定局域网接口 ! interface fastethernet0/1 ip address 29 48 /指定广域网口的IP地址 access-list 1 permit 55 ! ip nat inside source list1 interface fastethernet0/1 overload /启用端口复用地址转换,并直接采用fastethernet0/1的IP地址。 ip nat inside source static tcp 1 80 29.80 ip nat inside source static tcp 2 21 29.21 ip nat inside source static tcp 3 25 29.25 ip nat inside source static tcp 3 110 29 110 示例五:利用地址转换实现负载均衡 随着访问量的上升,当一台服务器难以胜任时,就必须采用负载均衡技术,将大量的访问合理地分配至多台服务器上。当然,实现负载均衡的手段有许多种,比如可以采用服务器群集负载均衡、交换机负载均衡、DNS解析负载均衡等等。 其实除此以外,也可以通过地址转换方式实现服务器的负载均衡。事实上,这些负载均衡的实现大多是采用轮询方式实现的,使每台服务器都拥有平等的被访问机会。 网络环境: 局域网以2Mb/s DDN专线拉入Internet,路由器选用安装了广域网模块的Cisco 2611,如图4-2-6所示。内部网络使用的IP地址段为54,局域网端口Ethernet 0的IP地址为,子网掩码为。网络分配的合法IP地址范围为07,连接ISP的端口Ethernet 1的IP地址为1,子网掩码为48。要求网络内部的所有计算机均可访问Internet,并且在3台Web服务器和2台FTP服务器实现负载均衡。 案例分析: 既然要求网络内所有计算机都可以接入Internet,而合法IP地址又只有5个可用,当然可采用端口复用地址转换方式。本来对服务器通过采用静态地址转换,赋予其合法IP地址即可。但是,由于服务器的访问量太大(或者是服务器的性能太差),不得不使用多台服务器作负载均衡,因此,必须将一个合法IP地址转换成多相内部IP地址,以轮询方式减轻每台服务器的访问压力。 配置文件: interface fastethernet0/1 ip adderss /定义局域网端口IP地址 duplex auto speed auto ip nat inside /定义为局域端口 ! interface serial 0/0 ip address 1 48 /定义广域网端口IP地址 duplex auto speed auto ip nat outside /定义为广域端口 ! access-list 1 permit 2 /定义轮询地址列表1 access-list 2 permit 3 /定义轮询地址列表2access-list 3 permit 55 /定义本地访问列表3 ! ip nat pool websev 48 type rotary /定义Web服务器的IP地址池,Rotary关键字表示准备使用轮询策略从NAT池中取出相应的IP地址用于转换进来的IP报文,访问2的请求将依次发送给web服务器:、和 ip nat pool ftpsev 48 type rotary /定义ftp服务器的IP地址池。ip nat pool normal 4 4 netmask 48 /定义合法IP地址池,名称为normal ip nat inside destination list 1 pool websev /inside destination list 语句定义与列表1相匹配的IP地址的报文将使用轮询策略 ip nat inside destination list 2 pool ftpsev#*#*#*#*#*#*#*#*#*#*#*#*#*#四种不同的NAT类型讨论前提:考虑到UDP的无状态特性,目前针对其的NAT实现大致可分为Full

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论