ACL访问控制列表
一、简介
访问控制列表(ACL)是应用在路由器接口的指令列表(即规则)。这些指令列表用来告诉路由器,那些数据包可以接受,那些数据包需要拒绝。
1.工作原理
- ACL使用包过滤技术,在路由器上读取OSI七层模型的第3层和第4层包头中的信息。如源地址,目标地址,源端口,目标端口等,根据预先定义好的规则,对包进行过滤,从而达到访问控制的目的。
- ACl是一组规则的集合,它应用在路由器的某个接口上。对路由器接口而言,访问控制列表有两个方向。
出:已经过路由器的处理,正离开路由器的数据包。
入:已到达路由器接口的数据包。将被路由器处理。
2. 访问控制列表类型
- 标准访问控制列表
根据数据包的源IP地址来允许或拒绝数据包,标准访问控制列表的访问控制列表号是1-99。 - 扩展访问控制列表
根据数据包的源IP地址,目的IP地址,指定协议,端口和标志,来允许或拒绝数据包。扩展访问控制列表的访问控制列表号是100-199
二、CLI指令
1. 创建ACL指令
1.1 创建标准ACL
access-list access-list-number {permit|deny} source [souce-wildcard]
host指代主机地址 any任何主机
access-list-number:访问控制列表号,标准ACL取值是1-99。
permit|deny:如果满足规则,则允许/拒绝通过。
source:数据包的源地址,可以是主机地址,也可以是网络地址。
source-wildcard:通配符掩码,也叫做反码,即子网掩码去反值。
如:正常子网掩码255.255.255.0取反则是0.0.0.255。
// 举个大栗子
# 创建一个ACL允许192.168.1.0网段的所有主机
access-list 1 permit 192.168.1.0 0.0.0.255
# 创建一个默认ACL拒绝所有主机访问。
access-list 1 deny any
1.2 创建扩展ACL
access-list access-list-number {permit|deny} protocol {source souce-wildcard destination destination-wildcard} [operator operan]
access-list-number:访问控制列表号,扩展ACL取值是100-199。
permit|deny:如果满足规则,则允许/拒绝通过。
protocol:用来指定协议的类型,如IP,TCP,UDP,ICMP等。
source、destination:源和目的,分别用来标示源地址和目的地址。
souce-wildcard、destination-wildcard:子网反码,souce-wildcard是源反码,destination-wildcard是目标反码。
operator operan:lt(小于)、gt(大于)、eq(等于)、neq(不等于)一个端口号。
// 举好多栗子
# 允许192.168.1.0/24访问192.168.2.0/24,而拒绝其他所有主机访问。
access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 101 deny ip any any
# 拒绝网络192.168.1.0/24访问FTP服务器192.168.2.100/24,而允许其他主机访问。
access-list 102 deny tcp 192.168.1.0 0.0.0.255 host 192.168.2.100 eq 21
access-list 102 permit ip any any
2. 删除ACL指令
删除标准ACL与扩展ACL
no access-list access-list-number
3. 查看ACL指令
show access-list
4. ACL与交换机端口(加入)
- access-list-number:创建ACL时指定的访问控制列表号
- in:应用到入站接口
- out:应用出站接口
ip access-group access-list-number {in|out}
5. ACL与交换机端口(删除)
no ip access-group access-list-number {in|out}
三、具体实现
针对期末计算机网络课设
1. 访问权限控制分析
1.1 行政部门
- 部门内部可通信
- 部门间不可以通信
- 可以与其他团队、生产车间通信
1.2 销售部门
- 团队内部可通信
- 团队间不可以通信
- 可以与其他部门、生产车间通信
1.3 生产车间
无要求,无需配置
2. 配置语句
配置交换机SWRoot
2.1 配置行政部门
// vlan 10
Switch(config)#access-list 110 deny ip 192.168.1.0 0.0.0.31 192.168.1.32 0.0.0.31
Switch(config)#access-list 110 deny ip 192.168.1.0 0.0.0.31 192.168.1.64 0.0.0.31
Switch(config)#access-list 110 deny ip 192.168.1.0 0.0.0.31 192.168.1.96 0.0.0.31
Switch(config)#access-list 110 deny ip 192.168.1.0 0.0.0.31 192.168.1.128 0.0.0.31
Switch(config)#access-list 110 permit ip any any
Switch(config)#int vlan 10
Switch(config-if)#ip access-group 110 in
// vlan 11
Switch(config)#access-list 111 deny ip 192.168.1.32 0.0.0.31 192.168.1.0 0.0.0.31
Switch(config)#access-list 111 deny ip 192.168.1.32 0.0.0.31 192.168.1.64 0.0.0.31
Switch(config)#access-list 111 deny ip 192.168.1.32 0.0.0.31 192.168.1.96 0.0.0.31
Switch(config)#access-list 111 deny ip 192.168.1.32 0.0.0.31 192.168.1.128 0.0.0.31
Switch(config)#access-list 111 permit ip any any
Switch(config)#int vlan 11
Switch(config-if)#ip access-group 111 in
// vlan 12
Switch(config)#access-list 112 deny ip 192.168.1.64 0.0.0.31 192.168.1.0 0.0.0.31
Switch(config)#access-list 112 deny ip 192.168.1.64 0.0.0.31 192.168.1.32 0.0.0.31
Switch(config)#access-list 112 deny ip 192.168.1.64 0.0.0.31 192.168.1.96 0.0.0.31
Switch(config)#access-list 112 deny ip 192.168.1.64 0.0.0.31 192.168.1.128 0.0.0.31
Switch(config)#access-list 112 permit ip any any
Switch(config)#int vlan 12
Switch(config-if)#ip access-group 112 in
// vlan 13
Switch(config)#access-list 113 deny ip 192.168.1.96 0.0.0.31 192.168.1.0 0.0.0.31
Switch(config)#access-list 113 deny ip 192.168.1.96 0.0.0.31 192.168.1.32 0.0.0.31
Switch(config)#access-list 113 deny ip 192.168.1.96 0.0.0.31 192.168.1.64 0.0.0.31
Switch(config)#access-list 113 deny ip 192.168.1.96 0.0.0.31 192.168.1.128 0.0.0.31
Switch(config)#access-list 113 permit ip any any
Switch(config)#int vlan 13
Switch(config-if)#ip access-group 113 in
// vlan 14
Switch(config)#access-list 114 deny ip 192.168.1.128 0.0.0.31 192.168.1.0 0.0.0.31
Switch(config)#access-list 114 deny ip 192.168.1.128 0.0.0.31 192.168.1.32 0.0.0.31
Switch(config)#access-list 114 deny ip 192.168.1.128 0.0.0.31 192.168.1.64 0.0.0.31
Switch(config)#access-list 114 deny ip 192.168.1.128 0.0.0.31 192.168.1.96 0.0.0.31
Switch(config)#access-list 114 permit ip any any
Switch(config)#int vlan 14
Switch(config-if)#ip access-group 114 in
2.2 配置销售部门
// vlan 20
Switch(config)#access-list 120 deny ip 192.168.2.0 0.0.0.31 192.168.2.32 0.0.0.31
Switch(config)#access-list 120 deny ip 192.168.2.0 0.0.0.31 192.168.2.64 0.0.0.31
Switch(config)#access-list 120 deny ip 192.168.2.0 0.0.0.31 192.168.2.96 0.0.0.31
Switch(config)#access-list 120 deny ip 192.168.2.0 0.0.0.31 192.168.2.128 0.0.0.31
Switch(config)#access-list 120 permit ip any any
Switch(config)#int vlan 20
Switch(config-if)#ip access-group 120 in
// vlan 21
Switch(config)#access-list 121 deny ip 192.168.2.32 0.0.0.31 192.168.2.0 0.0.0.31
Switch(config)#access-list 121 deny ip 192.168.2.32 0.0.0.31 192.168.2.64 0.0.0.31
Switch(config)#access-list 121 deny ip 192.168.2.32 0.0.0.31 192.168.2.96 0.0.0.31
Switch(config)#access-list 121 deny ip 192.168.2.32 0.0.0.31 192.168.2.128 0.0.0.31
Switch(config)#access-list 121 permit ip any any
Switch(config)#int vlan 21
Switch(config-if)#ip access-group 121 in
// vlan 22
Switch(config)#access-list 122 deny ip 192.168.2.64 0.0.0.31 192.168.2.0 0.0.0.31
Switch(config)#access-list 122 deny ip 192.168.2.64 0.0.0.31 192.168.2.32 0.0.0.31
Switch(config)#access-list 122 deny ip 192.168.2.64 0.0.0.31 192.168.2.96 0.0.0.31
Switch(config)#access-list 122 deny ip 192.168.2.64 0.0.0.31 192.168.2.128 0.0.0.31
Switch(config)#access-list 122 permit ip any any
Switch(config)#int vlan 22
Switch(config-if)#ip access-group 122 in
// vlan 23
Switch(config)#access-list 123 deny ip 192.168.2.96 0.0.0.31 192.168.2.0 0.0.0.31
Switch(config)#access-list 123 deny ip 192.168.2.96 0.0.0.31 192.168.2.32 0.0.0.31
Switch(config)#access-list 123 deny ip 192.168.2.96 0.0.0.31 192.168.2.64 0.0.0.31
Switch(config)#access-list 123 deny ip 192.168.2.96 0.0.0.31 192.168.2.128 0.0.0.31
Switch(config)#access-list 123 permit ip any any
Switch(config)#int vlan 23
Switch(config-if)#ip access-group 123 in
// vlan 24
Switch(config)#access-list 124 deny ip 192.168.2.128 0.0.0.31 192.168.2.0 0.0.0.31
Switch(config)#access-list 124 deny ip 192.168.2.128 0.0.0.31 192.168.2.32 0.0.0.31
Switch(config)#access-list 124 deny ip 192.168.2.128 0.0.0.31 192.168.2.64 0.0.0.31
Switch(config)#access-list 124 deny ip 192.168.2.128 0.0.0.31 192.168.2.96 0.0.0.31
Switch(config)#access-list 124 permit ip any any
Switch(config)#int vlan 24
Switch(config-if)#ip access-group 124 in
2.3 生产车间
无特殊要求,无需配置