网络设备管理||路由器ACL|标准ACL/扩展ACL/命名ACL的命令配置【思科路由器】

概念


访问控制列表–ACL(Access Control List)是应用在路由器接口的指令列表,这些指令列表用来告诉路由器,哪些数据包可以接收,哪些数据包需要拒绝。它的主要任务是保证网络资源不被非法使用和访问,是保证网络安全最重要的核心策略之一。

请注意,路由器本身发送的数据不受ACL控制

原理


**ACL使用包过滤技术,在路由器上读取OSI七层 模型的第三层(网络层)及第四层(传输层)
包头中的信息。如:源地址,目的地址,源端口,目的端口,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。

作用


  1. ACL可以限制网络流量,提高网络性能
  2. ACL是提供网络安全访问的基本手段
  3. ACL可以在路由器端口处决定哪种类型的通信流量被转发或阻塞

ACL应用原则以及执行过程

原则


3P原则:每种协议(per protocol),每个方向(per direction),每个端口(per interface)配置一个ACL

一个标准ACL匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作,且标准访问控制列表要尽量靠近目的端。

执行过程


一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个判断语句相匹配,name后面的雨具就将忽略,不再检查

**省流:switch 的每个case里都有一个break;

数据包只有在第一个判断条件不匹配时,它才被交给ACL中下一个条件判断语句进行比较。如果匹配(假设允许发送),则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。如果所有的ACL判断语句都检测完毕,仍然没有匹配的语句,则该数据包将视为拒绝而被丢弃。(也就是默认最后一条语句为拒绝发送)

**省流: default false;

分类

目前主要有三种ACL:

  1. 标准ACL
    标准ACL使用1-99以及1300-1999之间的数字作为表号,是基于源IP地址过滤数据包
  2. 扩展ACL
    **扩展ACL使用100-199以及2000-2699之间的数字作为表号,可以基于源IP地址,目的IP地址,指定协议,端口和标志来过滤数据包
  3. 命名ACL
    命名ACL是以列表名称代替编号来定义ACL,同样包括标准和扩展两种列表。在使用命名访问控制列表时,要求路由器IOS是11.2以上的版本,并且不能以同一个名字命名多个ACL,不同类型的ACL也不能相同名字

    **省流:primary_key unique

  4. 时间ACL
    从IOS12.0开始,思科路由器新增加了一种基于时间的访问系统列表。可以根据一天中不同时间,或是日期,来控制网络数据包转发

定义规范

  1. ACL是通过表号或者表名区别的
  2. 一个ACL的配置是3P
  3. ACL的雨具顺序决定了数据包的控制顺序
  4. 最有限制性的雨具应该放在ACL语句 的首行
  5. 在将ACL应用到接口之前,一定要先建立ACL
  6. 在ACL的最后,有一条隐含“全部拒绝”的命令,所以在ACL是至少有一条“允许”的语句。
  7. ACL职能过滤穿过路由器的数据流量,不能过滤本路由器上发出的数据包
  8. 在路由器进行选择以前,应用在接口进入方向的ACL起作用
  9. 在路由器选择决定以后,用在交界口离开的方向的ACL起作用

标准ACL配置命令

创建ACL

Router(config)#access-list access-list==[number]== permit | deny source-ip-address wildcard-mask
列表编号 允许或拒绝 源IP地址 子网掩码反码
eg.`Rouuter(config)#access-list access-list 1 permit 192.168.1.0 0.0.0.255

将ACL应用于接口

Router(config-if)#ip access-group access-list-number in | out
eg.Router(config-if)#ip access-group 1 in

删除已建立的标准ACL

Router(config-if)#ip access-group access-list-number in | out
eg. ‘Router(config-if)#ip access-group 1 in’

对于标准ACL,不能删除单条ACL语句,只能够删除整个ACL

扩展ACL配置命令

创建ACL

Router(config)#access-list access-list-number1permit| deny2 protocol 3source source-wildcard destion4 destion-wildcard 5operator operan6

将ACL应用到特定的端口

Router(config-if)#ip access-group access-list-number in | out

举例

eg.允许网络192.168.1.0/24访问网络192.168.2.0/24的IP流量通过,而拒绝其他任何流量,ACL配置命令如下:
Router(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config)#access-list 101 deny ip any any

eg.拒绝网络192.168.1.0/24访问FTP服务器192.168.2.2/24的IP流量通过,而允许其他任何流量,ACL配置命令如下:

Router(config)#access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.2 eq 21 Router(config)#access-list 101 permit ip any any

eg.禁止网络192.168.1.0/24中的主机ping通服务器192.168.2.2/24,而允许其他任何流量,ACL配置命令如下:

Router(config)#access-list 101 deny icmp 192.168.1.0 0.0.0.255 host 192.168.2.2 echo Router(config)#access-list 101 permit ip any any

eg.禁止A网段192.168.1.1-192.168.1.30访问B网段的主机192.168.2.200。
Router(config)#access-list 100 deny ip 192.168.1.0 0.0.0.31 host 192.168.2.200
Router(config)#access-list 100 permit ip any any
Router(config)#int fa0/0
Router(config-if)#ip access-group 100 in

命名ACL

概述

命名ACL是以列表名称代替列表编号来定义ACL,同意包括表尊和扩展两种列表。
命名ACL还可以被用来从某一特定的ACL中删除个别的控制条目,这样可以使网络管理员方便修改ACL

命令

命名ACL的创建

Router(config)#ip access-list standard| extended access-list-name

  1. standard:创建标准的命名访问控制列表
  2. extended:创建欧战的命名访问控制列表
  3. access-list-name:命名访问控制列表的名字,可以是任意字母和数字的组合

eg. Router(config)#ip access-list standard aa.

标准命名ACL语法

Router (config-std-nacl)#[sequence-number] permit|deny source [source-wildcard]

eg.
将一条新添加的ACL加入到原有标准命名ACL的序列15的位置,内容为允许主机192.168.1.1/24访问Internet
Router(config)#ip access-list standard test 1
Router(config-std-nacl)#15 permit host 192.168.1.1

扩展命名ACL语法

Route(config-ext-nacl)#[sequence-number] permit|deny protool source source-wildcard destination destination-wildcard [opeatro operan]

eg.
创建扩展命名ACL,内容为拒绝192.168.1.0/24访问FTP服务器192.168.2.200/24,允许其他主机访问。
Router(config)#ip access-list extender test2
Router(config-std-nacl)#deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.200 eq 21
Router(config-std-nacl)#[ermit ip any any

sequence-number

sequence-number:这个参数表明了配置ACL语句在命名ACL中所处的位置,默认情况下,第一条为10,第二条为20,以此类推。
sequence-number可以很方便地将新添加的ACL语句插入到原有的ACL语句列表中指定的位置。如果不使用sequence-number参数,默认添加至ACL语句列表末尾并且序列号加10。

删除已建立的命名ACL

Router(config)#no ip access-list standard| extended access-list-name
如果要删除某一条ACL语句,可以使用“no sequence-number”或“no ACL”语句两种方式。

将命名ACL应用到接口

Route(config-if)#ip access-group access-list-name in|out

举例

题目:配置命名ACL,要求192.168.1.0/24网段中除了192.168.1.4外的其他地址都不能访问服务器192.168.100.100,但其他网段的地址可以访问服务器192.168.100.100

PC(192.168.1.0/24)–(.254|fa0/0)Router(.254|fa0/1)–Server(192.168.100.100/24)
配置命令如下

Router(config)#ip access-list extended kz

Router(config-ext-nacl)#permit ip host 192.168.1.4 host 192.168.100.100

Router(config-ext-nacl)#deny ip 192.168.1.0 0.0.0.255 host 192.168.100.100

Router(config-ext-nacl)#permit ip any host 192.168.100.100

Router(config-ext-nacl)#exit

Router(config)#interface fa0/0

Router(config-if)#ip access-group kz in

查看


Router#show access-list

Extended IP access list kz

    10 permit ip host 192.168.1.4 host 192.168.100.100

    20 deny ip 192.168.1.0 0.0.0.255 host 192.168.100.100

    30 permit ip any host 192.168.100.100

举例

题目:.现变更访问服务器的ACL,不允许192.168.1.4的主机访问服务器,允许192.168.1.5的主机访问服务器。

ACL变更配置

Router(config)#ip access-list extended kz

Router(config-ext-nacl)#no 10

Router(config-ext-nacl)#11 permit ip host 192.168.1.5 host 192.168.100.100

//注意:如果不指定序列号,则新添加的ACL被添加到列表的末尾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值