三. 路由器ACL列表
什么是访问列表
•IP Access-list:IP访问列表或访问控制列表,简称IP ACL
telnet ip 端口号•IP ACL就是对经过网络设备的数据包根据一定的规则进行数据包的过滤。
设置访问列表的步骤
•第一步,定义规则(哪些数据允许通过,哪些数据不允许通过)
•第二步,将规则应用在路由器(或交换机)的接口上
访问控制列表的分类(区别在规则定义):
•1、标准访问控制列表
•2、扩展访问控制列表
•标准访问列表
•根据数据包源IP地址进行规则定义
•扩展访问列表
•根据数据包中源IP、目的IP、源端口、目的端口、协议进行规则定义
访问列表规则的应用
•路由器应用访问列表对流经接口的数据包进行控制
–1.入栈应用(in)
•经某接口进入设备内部的数据包进行安全规则过滤
–2.出栈应用(out)
•设备从某接口向外发送数据时进行安全规则过滤
•一个接口在一个方向只能应用一组访问控制列表
IP ACL的基本准则
•一切未被允许的就是禁止的
–定义访问控制列表规则时,最终的缺省规则是拒绝所有数据包通过
•按规则链来进行匹配
–使用源地址、目的地址、源端口、目的端口、协议、时间段进行匹配
•规则匹配原则
–从头到尾,至顶向下的匹配方式
–匹配成功马上停止
–立刻使用该规则的“允许/拒绝……”
访问列表规则的定义
•访问控制列表 ACL 是控制网络访问的基本手段,它可以限制网络流量,提高网络性能。ACL 使用包过滤技术来达到访问控制目的。ACL 分为标准 ACL和扩展 ACL 两种,标准访问
控制列表的编号为1~99和1300---1999之间的数字,标准访问控制列表只使用数据包的源地址进行过滤,扩展的 ACL 的编号使用100~199以及 2000----2699 之间的数字。
•每一个正确的访问列表都至少应该有一条permit语句, 具有严格限制条件的语句应放在访问列表所有语句的最上面, 在靠近源的网络接口上设置扩展 ACL,在靠近目的的网络接口上设置标准的 ACL。
ACL的基本用途是限制访问网络的用户,保护网络的安全。
ACL一般只在以下路由器上配置:
•内部网和外部网的边界路由器
•两个功能网络交界的路由器
限制的内容包括:
•允许哪些用户访问网络(根据用户的IP地址进行限制)
•允许用户访问的类型,如允许http和ftp的访问,但拒绝Telnet的访问。(根据用户使用的上层协议进行限制)
-----------------------------------------------------------------------------
定义规则:每条ACL语句的形式为:
Router(config)#access-list 表号 处理方式 条件
ACL表号用于区分各访问控制列表。
处理方式:取值有permit(允许)和deny(拒绝)两种。当数据包与该语句的条件相匹配时,用给定的处理方式进行处理。
条件:每条ACL语句只能定义一个条件。
例:
access-list 1 permit 10.0.0.0 0.255.255.255
access-list 1 deny 20.0.0.0 0.255.255.255
第一句允许源地址为10.*.*.*的数据包通过
第二句拒绝源地址为20.*.*.*的数据包通过
应用ACL
如果只是定义了ACL,它还不会起任何作用,必须把ACL应用到一个接口上才能起作用。
应用ACL:
Router(config)#interface 接口号
Router(config-if)#ip access-group 表号 [in|out]
–in:表示数据包进入此接口时使用ACL进行过滤;
–out:表示数据包在离开此接口时使用ACL进行过滤。
通配符掩码
在ACL语句中,当使用地址作为条件时,它的一般格式为:地址 通配符掩码
通配符掩码决定了地址中的哪些位需要精确匹配,哪些位不需要匹配。
通配符掩码是一个32位数,采用点分十进制方式书写。匹配时,“0”表示检查位,“1”表示不检查位。
如:192.168.1.1 0.0.255.255
表示检查前16位,忽略后16位,所以这个条件表示的地址是192.168.*.*
当条件为所有地址时,如果使用通配符掩码应写为:0.0.0.0 255.255.255.255这时可以用“any”这个条件。
Router(config)#access-list 1 permit 0.0.0.0 255.255.255.255
Router(config)#access-list 1 permit any
上面两句话是等价的
host关键字
当条件为单一IP地址时,如果使用通配符掩码应写为:IP地址 0.0.0.0,这时可以用“host”关键字
Router(config)#access-list 1 permit 200.1.1.5 0.0.0.0
Router(config)#access-list 1 permit host 200.1.1.5
ACL语句的增加与删除
•ACL由一系列访问控制语句组成。
•当创建一个ACL列表后,新增加的语句总是放到列表最后。
•无法删除某一条ACL语句,只能删除整个ACL列表。
-------------------------------------------------------------------------
标准ACL
–使用IP包中的源IP地址进行过滤。
–在思科的路由器上使用的ACL编号为1~99以及1300~1999。
•第一步,定义访问控制列表,命令如下:
Router(config)# access-list access-list-number(通配符掩码) { permit | deny } source(源地址) [source-wildcard(通配符掩码)] [log(生成日志文件)]
•第二步,把标准 ACL应用到一个具体接口:
Router(config)# int interface
Router(config-if)# { protocol } access-group access-list-number {in | out}
例如
Router(config)# access-list 1 permit 10.0.0.0 0.255.255.255
//允许源地址为10.0.0.0网段的数据通过
Router(config)# int s1/1
Router(config-if)# ip access-group 1 out
-------------------------------------------------------------------------------
扩展ACL
–可以控制源IP,目的IP,源端口,目的端口等。
–在思科路由器上,扩展ACL的编号为100~199以及2000~2699。
–第一步,定义访问控制列表,命令:
Router(config)# access-list access-list-number { permit | deny } protocol(指定协议类型) source source-wildcard [operator operand] destination destination-wildcard [ operator operand] [ established ] [log]
operator :lt, gt, eq, neq(小于, 大于, 等于, 不等于)
operand:一个端口号或应用名称
established:如果数据包使用一个已建立连接,则允许TCP信息通过
例:Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
–第二步,把扩展 ACL应用到一个具体接口:
Router(config)# int interface
Router(config-if)# { protocol } access-group access-list-number {in | out}
例如
Router(config)# int f0/0
Router(config-if)# ip access-group 1 out
------------------------------------------------------------------------------
命名ACL的配置
•命名ACL——在标准ACL和扩展ACL中,使用名字代替ACL编号。
•命名ACL好处:
–字母数字串直观表示特定ACL。
–不受99条标准ACL和100条扩展ACL限制。
–修改方便,无需删除后再重新配置。
•第一步,创建一个ACL命名,要求名字字符串要唯一。
Router(config)# ip access-list { standard | extended } name
•第二步,定义访问控制列表,命令格式:
(1)命名的标准ACL:
Router(config-sta-nacl)# { permit | deny } source [source-wildcard] [log]
(2)命名的扩展ACL:
Router(config-sta-nacl)# { permit | deny } protocol source [source-wildcard] [operator operand] destination destination-wildcard [ operator operand] [ established ] [log]
•第三步,把 ACL应用到一个具体接口上:
•Router(config)# int interface
•Router(config-if)# { protocol } access-group name {in | out}
命名ACL配置实例
•Router(config)# access-list extend server-protect
•Router(config-ext-nad)# permit tcp 10.1.0.0 0.0.255.255 host 10.1.2.20 eq www
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论