访问控制列表和地址换原理.ppt
DP500001 访问控制列表和地址转换原理,ISSUE 1.0,Internal,Page 1,学习完本课程,您应该能够:理解访问控制列表的基本原理理解地址转换的基本原理,学习目标,Page 2,IP包过滤技术介绍,对路由器需要转发的数据包,先获取包头信息,然后和设定的规则进行比较,根据比较的结果对数据包进行转发或者丢弃。而实现包过滤的核心技术是访问控制列表。,Page 3,访问控制列表的作用,访问控制列表可以用于防火墙;访问控制列表可以用于Qos(Quality of Service),对数据流量进行控制;在DCC中,访问控制列表还可用来规定触发拨号的条件;访问控制列表还可以用于地址转换;在配置路由策略时,可以利用访问控制列表来作路由信息的过滤。,Page 4,访问控制列表是什么?,一个IP数据包如下图所示(图中IP所承载的上层协议为TCP/UDP):,Page 5,如何标识访问控制列表?,利用数字标识访问控制列表利用数字范围标识访问控制列表的种类,Page 6,标准访问控制列表,标准访问控制列表只使用源地址描述数据,表明是允许还是拒绝。,Page 7,标准访问控制列表的配置,配置标准访问列表的命令格式如下:acl acl-number match-order auto|config rule normal|special permit|deny source source-addr source-wildcard|any,怎样利用 IP 地址 和 反掩码wildcard-mask 来表示一个网段?,Page 8,如何使用反掩码,反掩码和子网掩码相似,但写法不同:0表示需要比较1表示忽略比较反掩码和IP地址结合使用,可以描述一个地址范围。,Page 9,扩展访问控制列表,扩展访问控制列表使用除源地址外更多的信息描述数据包,表明是允许还是拒绝。,Page 10,扩展访问控制列表的配置命令,配置TCP/UDP协议的扩展访问列表:rule normal|special permit|deny tcp|udp source source-addr source-wildcard|any source-port operator port1 port2 destination dest-addr dest-wildcard|any destination-port operator port1 port2 logging配置ICMP协议的扩展访问列表:rule normal|special permit|deny icmp source source-addr source-wildcard|any destination dest-addr dest-wildcard|any icmp-type icmp-type icmp-code logging配置其它协议的扩展访问列表:rule normal|special permit|deny ip|ospf|igmp|gre source source-addr source-wildcard|any destination dest-addr dest-wildcard|any logging,Page 11,扩展访问控制列表操作符的含义,Page 12,扩展访问控制列表举例,rule deny icmp source 10.1.0.0 0.0.255.255 destination any icmp-type host-redirect,rule deny tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port equal www logging,问题:下面这条访问控制列表表示什么意思?rule deny udp source 129.9.8.0 0.0.0.255 destination 202.38.160.0 0.0.0.255 destination-port greater-than 128,Page 13,如何使用访问控制列表,防火墙配置常见步骤:启用防火墙定义访问控制列表将访问控制列表应用到接口上,Internet,公司总部网络,启用防火墙,将访问控制列表应用到接口上,Page 14,防火墙的属性配置命令,打开或者关闭防火墙firewall enable|disable 设置防火墙的缺省过滤模式firewall default permit|deny 显示防火墙的状态信息display firewall,Page 15,在接口上应用访问控制列表,将访问控制列表应用到接口上指明在接口上是OUT还是IN方向在接口视图下配置:firewall packet-filter acl-number inbound|outbound,Ethernet0,Serial0,Page 16,基于时间段的包过滤,“特殊时间段内应用特殊的规则”,上班时间(上午8:00 下午5:00)只能访问特定的站点;其余时间可以访问其他站点,Page 17,访问控制列表的组合,一条访问列表可以由多条规则组成,对于这些规则,有两种匹配顺序:auto和config。规则冲突时,若匹配顺序为auto(深度优先),描述的地址范围越小的规则,将会优先考虑。深度的判断要依靠通配比较位和IP地址结合比较rule deny 202.38.0.0 0.0.255.255 rule permit 202.38.160.0 0.0.0.255 两条规则结合则表示禁止一个大网段(202.38.0.0)上的主机但允许其中的一小部分主 机(202.38.160.0)的访问。规则冲突时,若匹配顺序为config,先配置的规则会被优先考虑。,Page 18,学习完本课程,您应该能够:理解访问控制列表的基本原理理解地址转换的基本原理,学习目标,Page 19,引入,按照目前Internet网络迅猛发展的速度,到2010年IPv4的地址将消耗殆尽。目前IPv6(IPng)的推广和部署受到一定的阻力,无法在短时间内完成网络从IPv4到IPv6的过渡。目前解决IP地址短缺的有效方法:NAT和CIDR,Page 20,学习完本课程,您应该能够:掌握NAT的基本概念掌握NAT的基本工作原理掌握8070产品的NAT实现掌握8011产品的NAT实现填写课程目标。,目 标,Page 21,内容介绍,第一章 NAT基本概念第二章 NAT基本工作原理第三章 8070产品NAT实现第四章 8011产品NAT实现,Page 22,第一章 NAT基本概念,NAT(Network Address Translator)网络地址转换,即改变IP报文中的源或目的地址的一种处理方式;使一个局域网中的多台主机使用少数的合法地址访问外部资源,也可以按照要求设定内部的WWW、FTP、TELNET的服务提供给外部网络使用;有效的隐藏了内部局域网的主机IP地址,起到了安全保护的作用。,Page 23,第一章 NAT基本概念,共有地址和私有地址私有地址是指内部网络(局域网内部)的主机地址,而公有地址是局域网的外部地址(在因特网上的全球唯一的IP地址)。因特网地址分配组织规定以下的三个网络地址保留用做私有地址:172.16.0.0-172.31.255.255,Page 24,第一章 NAT基本概念,地址池 地址池是由一些外部地址(全球唯一的IP地址)组合而成的,我们称这样的一个地址集合为地址池。在内部网络的数据包通过地址转换达到外部网络时,将会选择地址池中的某个地址作为转换后的源地址,这样可以有效利用用户的外部地址,提高内部网络访问外部网络的能力。,Page 25,第一章 NAT基本概念,访问控制列表 访问列表是由ACCESS-LIST命令生成的,它依据IP数据包报头以及它承载的上层协议数据包头的格式定义了一定的规则,可以表示允许或者是禁止具有某些特征(包头数据可以描述的)的数据包,地址转换按照这样的规则判定哪些包是被允许转换或者是禁止转换,这样可以禁止一些内部的主机访问外部网络,提高一些网络的安全性问题。有关的详细概念可以参考防火墙中的有关内容。,Page 26,第一章 NAT基本概念,转换关联 转换关联就是将一个地址池和一个访问列表关联起来,这种关联指定了“具有某些特征的IP报文”是使用“这样的地址池中的地址”,而另一些可能是使用另外一个地址池中的地址。在地址转换时,是根据这样的对应进行地址转换的。当一个内部网络的数据包文发往外部网络时,首先根据访问列表判定是否是允许的数据包,然后根据转换的关联找到于之相对应的地址池,我们就可以把源地址转换成这个地址池中的某一个地址,完成地址转换。,Page 27,第一章 NAT基本概念,内部服务器映射表 内部服务器映射表是由NAT SERVER命令配置的,允许用户依照自己的需要提供内部服务。在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址。,Page 28,内容介绍,第一章 NAT基本概念第二章 NAT基本工作原理第三章 8070产品NAT实现第四章 8011产品NAT实现,Page 29,第二章 NAT的基本工作原理,NAT在系统中的位置,Page 30,第二章 NAT的基本工作原理,NAT基本工作原理(以出口NAT为例)在IP层的出口处调用NAT,Page 31,第二章 NAT的基本工作原理,在IP层的入口出调用NAT,Page 32,第二章 NAT的基本工作原理,透明的地址分配静态的地址分配指一个特定的主机使用固定的地址访问外部的网络。动态的地址分配是指NAT在一些地址中挑选一个地址,做为内部网络的主机访问外部网络的IP地址。无论是那种,地址的分配应该对用户来说是透明的。,Page 33,第二章 NAT的基本工作原理,NAT的基本工作方式:NAT一对一的地址转换PAT多对一的地址转换NPAT多对多的地址转换,Page 34,第二章 NAT的基本工作原理,NAT方式,Page 35,第二章 NAT的基本工作原理,NAT方式在出方向上转换IP报文头中的源IP地址,而不对端口进行转换。在私有网络地址和外部网络地址之间建立一对一映射,实现比较简单只转换IP报文头中的IP地址,所以适用于所有IP报文转换,Page 36,第二章 NAT的基本工作原理,PAT方式(10.0.0.10:1001-200.0.0.66:23)-(100.100.100.100:12964-200.0.0.66:23)(200.0.0.66:23-100.100.100.100:12964)-(200.0.0.66:23-2.0.0.10:1001),Page 37,第二章 NAT的基本工作原理,PAT方式PAT(Port Address Translation)方式的地址转换利用了TCP/UDP协议的端口号,进行地址转换。PAT方式的地址转换是采用了“地址端口”的映射方式,因此可以使内部局域网的许多主机共享一个IP地址访问Internet。在私有网络地址和外部网络地址之间建立多对一映射。不同的内部网地址,转换时采用相同的公网地址,并依靠不同的端口号来区分每一个内部网主机。,Page 38,第二章 NAT的基本工作原理,NPAT方式(10.0.0.10:1001-200.0.0.66:23)-(100.100.100.100:12964-200.0.0.66:23)(192.168.1.1:2001-200.0.0.67:25)(200.0.0.66:23-100.100.100.100:12964)-(200.0.0.66:23-2.0.0.10:1001)(200.0.0.67:25-192.168.1.1:2001),Page 39,第二章 NAT的基本工作原理,NPAT方式NPAT(Nat&Port Address Translation)方式的地址转换也是利用了TCP/UDP协议的端口号,进行地址转换。私网地址和公网地址之间建立了多对多的映射关系。NPAT方式也是采用“地址端口”的映射关系,因此可以使内部局域网的多个主机共享多个IP地址访问Internet。,Page 40,第二章 NAT的基本工作原理,内部服务器内部服务器是一种反相的地址转换。地址转换屏蔽了内部网络中的主机,而内部服务器可以提供外部网络访问内部网络的服务。可以配置WWW、FTP、Telnet等服务。内部服务器映射表是由NAT SERVER命令配置的,在转换时,根据用户的配置查找外部数据包的目的地址,如果是访问内部的服务器,则转换成相应的内部服务器的目的地址和端口,达到访问内部服务器的目的。还原时对源地址进行查找,判断是否是从内部服务器出去的报文,如果是将源地址转换成相应的外部地址。,Page 41,第二章 NAT的基本工作原理,内部服务器,Page 42,第二章 NAT的基本工作原理,利用ACL控制地址转换,Page 43,第二章 NAT的基本工作原理,支持特殊协议(ALG应用程序网关)地址转换改变了IP数据包头的IP地址信息,如果数据报文的载荷中含有地址信息,地址转换就需要特殊处理,除了改变IP包头的地址信息以外还需要改变数据报文中载荷中的地址信息。比较典型的应用是FTP目前VRP NAT平台支持FTP、Radius、L2tp、PPTP、CMC几种特殊的协议。以及后来支持的H.323、SMTP、DNS等。,Page 44,第二章 NAT的基本工作原理,以FTP ALG为例:在TCP的应用FTP中,包含两种连接:控制连接(会话)、数据连接(传输)。其中控制连接是用大家都熟悉的21端口的TCP连接。数据连接却是由客户端“发起”的,它通过控制连接“通知”服务器它已经初始化完的端口,FTP服务器通过20端口(默认情况)将数据传送到客户端。,Page 45,第二章 NAT的基本工作原理,以FTP ALG为例(续):在通知服务器的时候,会用到“PORT命令”,其中在这次TCP连接的数据中是这样的:“PORT 10,110,1,2,13,23AD”(表示:端口=138+23,地址=10.110.1.2),于是服务器就可以知道客户端的数据连接的地址和端口了。在地址转换的过程中,对于PORT命令,我们除了改变IP地址以及端口信息,同时必须改变相应TCP中的数据,这样才可以保证使FTP服务器端可以把数据发送到正确的客户端。这样,有可能会使TCP数据包的长度发生变化,所以对于PORT命令还需要对TCP数据头中的序号(SEQUENCE NUMBER)进行调整。,Page 46,第二章 NAT的基本工作原理,NAT地址转换的DNS运用DNS服务器处于私网中DNS服务器处于公网中,Page 47,第二章 NAT的基本工作原理,DNS和内部服务器使用私网地址由于内部www服务器和DNS服务器都在一个私网内,这样,当内部DNS进行为内部服务器进行域名到IP地址的转换时,会得到一个内部网的IP地址,然后DNS将这个内部地址返回给外部要访问的内部服务器的主机。而这个地址由于是私网地址,所以外部网访问不到。,Page 48,第二章 NAT的基本工作原理,DNS在公网上,内部主机无法使用域名访问内部服务器当内部pc通过域名访问时,会到外部的DNS上请求IP地址,由于DNS是在外部,所以它会返回一个公网的地址或找不到地址。这样导致内部PC通过域名访问时,得到是个外部的地址或者得不到地址,导致内部用户不能正常访问内部服务器。,Qusetion:有什么好的方法可以解决DNS问题?,Page 49,第二章 NAT的基本工作原理,以太网口支持地址池在以太网环境中,如果地址池中的地址与接口的地址在不同的网段上,那么可以通过添加路由的方式来解决。而如果在同一个网段上,则对方不会缺省的将报文发送到此设备上,因为对方发现这是一个同网段的地址,会发送ARP请求,如果得不到响应,将认为这个地址不存在,当然报文将无法到达本端。因此需要对以太网接口做特殊处理,使得当地址池中的地址和接口的地址在同一个网段也可以支持。,Page 50,第二章 NAT的基本工作原理,以太网口支持地址池(续)如果一个ARP请求报请求的地址不是以太网接口的IP地址,ARP模块将这个ARP请求丢弃,现在NAT模块提供一个函数,根据地址、接口判断这个地址是否是在这个接口上的一个地址池中的地址。如果是,告诉ARP对这个IP地址发送ARP应答,MAC地址就是这个以太网接口的MAC地址。,Page 51,第二章 NAT的基本工作原理,支持多个方向上负载分担应用,Page 52,NAT基本工作原理小结,地址转换的优点:地址转换可以使内部网络用户方便的访问Internet。地址转换可以使内部局域网的许多主机共享一个IP地址上网。地址转换可以屏蔽内部网络的用户,提高内部网络的安全性。地址转换同样可以提供给外部网络WWW、FTP、Telnet服务。,Page 53,NAT基本工作原理小结,地址转换的缺点:地址转换对于报文内容中含有有用的地址信息的情况很难处理。地址转换不能处理IP报头加密的情况。地址转换由于隐藏了内部主机地址,有时候会使网络调试变得复杂。影响报文转发的效率。无法确定源地址。因为同样的内部地址在不同时刻的外部地址是不一样的,所以如果从内部网络攻击外部网络,将造成定位攻击源的困难。,Page 54,NAT基本工作原理小结,NAT地址转换的改进 为满足公安部以及一些企事业单位的需求,对NAT流(FLOW)信息进行日志记录,通过日志信息了解NAT转换前的地址信息。用户日志只在NAT的出方向进行日志记录,根据报文的源IP地址、转换后的源IP地址、目的IP地址、源端口、转换后的源端口、目的端口、协议号等7元组来标识一条流,并生成该NAT流的日志记录。根据这些日志信息进行分析查询,可以方便地追踪一些非法活动以及不正当的操作等,提高网络设备的可用性和安全性,Page 55,内容介绍,第一章 NAT基本概念第二章 NAT基本工作原理第三章 8070产品NAT实现第四章 8011产品NAT实现,Page 56,第三章 8070产品的NAT实现,华为公司8070产品包括:NE16E、NE08E、NE05。8070产品支持NAT转换的方式:NAT、PAT、PNAT。8070产品NAT转换是通过软件实现,NAT转换的效率和路由器的CPU以及内存有很大关系。8070产品采用出口NAT的方式,数据报文在出口实现私网地址到公网地址的转换,可以实现多出口的负载分担。,Page 57,内容介绍,第一章 NAT基本概念第二章 NAT基本工作原理第三章 8070产品NAT实现第四章 8011产品NAT实现,Page 58,第四章 8011产品的NAT实现,华为公司8011产品包括:NE80、NE40、S8016。8011产品支持NAT转换的方式:NAT、PAT、PNAT。8011产品采用IBM网络处理器NP4GS3(rainier),使用微码来实现基本的地址转换功能,ALG由微码上送CPU处理。NAT功能采用单独NAT板完成,采用地址池与NAT板绑定的方式支持多NAT板,即配置地址池时指定NAT板 号。NE80/NE40产品采用入口NAT的方式,在单独一块NAT单板的情况下,无法实现多出口的负载分担,S8016产品采用出口NAT的方式,目前可以实现多出口的负载分担。,Page 59,第四章 8011产品的NAT实现,NE80/NE40 NAT的工作流程(入口NAT)正向NAT:IP上行-IP入端口-FIB查找-ACL匹配重定向到NAT板下行-查找NAT转换表进行转换-(查找不成功按照报文类型决定添加表项还是丢弃,添加表项由微码完成)送自环物理接口至NAT板上行-NAT板上行查找FIB-送目的LPU板下行-目的LPU板下行封装、转发,Page 60,第四章 8011产品的NAT实现,反向NAT:IP上行-IP入端口-FIB查找重定向到NAT板-NAT板下行-查找NAT转换表进行转换-送自环物理接口至NAT板上行-NAT板上行查找FIB-送目的LPU板下行-目的LPU板下行封装、转发,Page 61,第四章 8011产品的NAT实现,S8016 NAT的工作流程(出口NAT)正向NAT:IP上行-IP入端口-FIB查找或ACL重定向-IP出端口关联地址池重定向到NAT板下行-查找NAT转换表进行转换-(查找不成功按照报文类型决定添加表项还是丢弃,添加表项由微码完成)送自环物理接口至NAT板上行-送回IP出端口所在的LPU板-出端口所在的LPU板下行封装、转发,Page 62,第四章 8011产品的NAT实现,反向NAT:IP上行-IP入端口-FIB查找重定向到NAT板-NAT板下行-查找NAT转换表进行转换-送自环物理接口至NAT板上行-NAT板上行查找FIB-送目的LPU板下行-目的LPU板下行封装、转发,Page 63,小结,Question:入口NAT和出口NAT的优缺点比较?,Page 64,参考资料,RFC 3022 Traditional IP Network Address Translator(Traditional NAT)RFC2993 Architectural Implications of NATRFC 2663 IP Network Address Translator(NAT)Terminology and ConsiderationsRFC 3027 Protocol Complications with the IP Network Address Translator,Page 65,问题,Question?,