copp | AAA
1、一机双平面:现在的设备为了提高效率一般就是按照一机双平面来设计的,也就是转控分离。控制层(cpu)负责系统级的流量以及协议流量,转发层只负责业务流量的转发。
2、在转发层有一个CEF表,该表是实时的与控制层的路由表同步的,其实严格来说路由器其实并不是按照路由表来转发的,而是按照转发层的CEF表来转发数据的。
3、在控制层与转发层有一道门叫control-plain,所有去往控制层的流量都会从转发层然后经过control-plain才能来到控制层。所以我们我们可以基于这道门来做数据包的过滤与限速。
4、一些控制层的流量:bpdu、lacp、pagp、VTP、DTP、CDP、lldp等流量。
5、配置:
①定义一个class-map:用于匹配流量
access-list 100 per ospf host 1.1.1.1 host 2.2.2.2 access-list 100 per tcp any any eq 23 //定义一个acl class-map aaa //定义一个class-map用于匹配流量 match access-grop 100 //调用acl exit ②定义一个policy-map policy-map bbb //定义一个policy-map,将匹配来的流量执行的动作 class aaa // 调用class-map drop //执行的动作 exit exit ③调用 control-plane //进入control-place serviece-policy input bbb //调用policy-map exit
6、使用policy-map用于限速:
配置:
//编写acl R1(config)#ip access-list extended icmp R1(config-ext-nacl)#permit icmp any any R1(config-ext-nacl)#exit //调用acl R1(config)#class-map n-icmp R1(config-cmap)#match access-group name icmp R1(config-cmap)#exit //调用class-map,并执行动作 R1(config-pmap)#class n-icmp R1(config-pmap-c)#police 32000 conform-action transmit exceed-action drop //如果超过该速率就将数据包丢弃。 R1(config-pmap-c-police)#exit R1(config-pmap-c)#exit //在control-plane接口调用 R1(config)#control-plane R1(config-cp)#service-policy input qos R1(config-cp)#exit //在物理接口下也可以调用 int f0/0 service-policy input qos exit
7、AAA:认证授权审计。认证分为本地认证和远程认证,本地可以做认证和授权,不能做审计;远程可以做认证授权和审计,需要AAA服务器。一般设备与AAA服务器之间使用的是tacacs+ 和 radius协议对接。
8、本地AAA的认证授权:
//开启AAA、编写aaa认证策略。 aaa new-model aaa authentication login aaa-telnet(策略名) local //本地认证aaa的策略。 aaa authentication login aaa-console 策略名) line none //用于console口的策略,也就是console不加入aaa认证,而是使用本地认证。
line console 0 login authentication aaa-console //aaa认证不包括console口,非常重要一定要配置。 exit username user1 password Cisco123 //创建本地用户 username user1 privilege 5 //设置用户等级 line vty 0 4 login authentication aaa-telnet //telnet时使用aaa认证。
9、本地AAA的授权:
username user1 privilege 5 //用户等级设为5级 aaa authorization exec author-telnet(授权策略名) local //授权用户直接进入#模式 line vty 0 4 authorization exec author-telnet //调用授权策略 //基于单独的或者一组命令授权 privilege 模式(exec、interface、、、) level 5 命令 //就是将该模式下的某个命令剪切到5级命令库中去。