第十一天
ACL(访问控制列表):
ACL的作用:
1、访问控制:在路由器流量流入或流出的接口上,匹配流量,然后执行设定好的动作,只进行两种动作:permit --- 允许 , deny --- 拒绝
2、抓取感兴趣流:ACL可以和其他服务结合使用。ACL只负责匹配流量,其他服务则对匹配上的流量执行对应的动作。
ACL的匹配规则:自上而下,逐一匹配。如果匹配上,则按照对应的动作执行,不再向下匹配
不同体系的设备有不同的ACL隐含规则:
思科体系的设备:在ACL列表末尾隐含一条拒绝所有的规则
华为体系的设备:在ACL列表末尾隐含一条允许所有的规则
ACL列表的分类:
基本ACL:仅关注数据包中的源IP地址。
基本ACL的位置原则:因为基本ACL只关注数据包中的源IP地址,故调用时尽可能的靠近目标,避免对其他地址访问造成误伤。
高级ACL:不仅关注数据包中的源IP地址,还会关注数据包中的目标IP地址,以及协议和目标端口号
高级ACL的位置原则:因为高级ACL是精准匹配,不会造成误伤,所以,在调用时应该尽量靠近源目标,避免造成额外的链路资源浪费。
二层ACL:用户自定义ACL
对于ACL有不同的要求:
需求一:PC1可以访问PC3和PC4,但是PC2不行
1、创建一张ACL列表——基础ACL表
[r2]acl ?
INTEGER<2000-2999> Basic access-list(add to current using rules) ---- 基本ACL
INTEGER<3000-3999> Advanced access-list(add to current using rules) ----- 高级ACL
INTEGER<4000-4999> Specify a L2 acl group ---- 二层ACL
ipv6 ACL IPv6
name Specify a named ACL
number Specify a numbered ACL
[r2]acl 2000
[r2-acl-basic-2000] ---- 创建了一个编号为2000的基本ACL列表
2、在ACL列表中添加规则——
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.255.0.255 ——拒绝192.168.1.3
[r2-acl-basic-2000]rule +deny/permit + source + IP/any
0.255.0.255 --- 通配符 --- 0代表不可变,1代表可变 --- 通配符中0和1可以穿插使用
[r2-acl-basic-2000]rule permit source any --- 允许所有
[r2]display acl 2000 --- 查看ACL列表
华为默认以5为步调,自动添加ACL的规则的序号。其目的在于匹配规则是从上向下按顺序匹配,这样便于在其中插入规则。
在ACL列表中通过上面的deny 192.168.1.3和permit any已经存在两条记录
rule 5 deny source 192.168.1.3 0
rule 10 permit
[r2-acl-basic-2000]rule 6 deny source 192.168.1.2 0.0.0.0 --- 自定义序号添加规则
rule 5 deny source 192.168.1.3 0
rule 6 deny source 192.168.1.2 0
rule 10 permit
[r2-acl-basic-2000]undo rule 6 --- 按照序号删除规则
rule 5 deny source 192.168.1.3 0
rule 10 permit
3、在接口上调用ACL列表
[r2-GigabitEthernet0/0/0]traffic-filter outbound acl 2000 ------- Inbound --- 流入,Outbound --- 流出
注意:在一个接口的一个方向上,只能调用一张ACL列表。
需求二:要求PC1可以访问PC3,但是不能访问PC4
[r1]acl name aa 3000 --- 通过重命名的方式创建ACL列表
[r1-acl-adv-aa]
[r1-acl-adv-aa]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.3 0.0.0.0
[r1-acl-adv-aa]rule deny + 源ip(从哪个ip来) + 目标ip(到哪个ip去)
[r1-GigabitEthernet0/0/0]traffic-filter inbound acl name aa --- 通过重命名的方式调用ACL列表
需求三:要求PC1可以ping通R2,但是不能telnet R2
telnet --- 远程登录协议
带外管理 --- 通过console(CSL)接口连接console线对设备进行控制
--- 通过miniUSB接口连接miniUSB线对设备进行控制
带内管理 --- 通过telnet管理路由器
--- 通过web界面管理路由器
--- 通过SNMP协议进行设备管理
telnet进行管理的前提条件:
1、登录设备和被登录设备之间的网络必须联通
2、被登录设备必须开启telnet服务
telnet ---- C/S架构 --- 被登录设备充当telnet服务器的角色,登录设备充当telnet客户端的角色。---- TCP 23
路由器开启telnet服务的方法:
1、在aaa中创建用户名
[r2]aaa 进入aaa服务
[r2-aaa]
[r2-aaa]local-user aa privilege level 15 password cipher 123456 ------ 创建用户名和密码
[r2-aaa]local-user+用户名+权限等级+密码
Info: Add a new user.
[r2-aaa]local-user aa service-type telnet 设置用户服务类型
2、开启虚拟的登录端口
[r2]user-interface vty 0 4 --- 0 4 --- 允许同时0,1,2,3,4,一共5台设备登录
[r2-ui-vty0-4]
[r2-ui-vty0-4]authentication-mode aaa --- 认证模式aaa --- 指用aaa创建的用户名和密码登录
[r1-acl-adv-3001]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port(目标端口号) eq 23
记得路由器有2个接口,所以要telnet两次
telnrt只能在用户视图< >进行。
如何让路由器模仿电脑:
1、改名(可改可不改PC)
2、设置网关(接口)
3、配置缺省,下一跳指向连着的路由器的接口