访问控制列表(Access Control Lists,简称ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包能够收、哪些数据包须要拒绝。至于数据包是被接收仍是拒绝,能够由相似于源地址、目的地址、端口号等的特定指示条件来决定。ACL读取第三层、第四层包头信息,并根据预先定义好的规则对包进行过滤。安全
1.限制网络流量、提升网络性能
2.提供对通讯流量的控制手段
3.提供网络访问的基本安全手段
4.在网络设备接口处,决定哪一种类型的通讯流量被转发、哪一种类型的通讯流量被阻塞网络
出方向:已通过路由器的处理,正离开路由器接口的数据包
入方向:已达到路由器接口的数据包,将被路由器处理
列表应用到接口方向与数据方向有关ide
ACL规则:匹配为自上而下逐条匹配,默认隐含的拒绝是拒绝全部(any) 白名单 容许 1.2 容许 1.3 拒绝全部(可不写,隐含的拒绝会拒绝全部) **黑名单** 拒绝 1.2 拒绝 1.3 容许全部(必须写,不然隐含的拒绝会拒绝全部)
基于IP地址过滤数据包
标准访问控制列表的访问控制列表号是1~99性能
基于源IP、目标IP地址、指定协议、端口和标志来过滤数据包
扩展访问控制列表的访问控制列表号是100~199测试
命名访问控制列表容许在标准和扩展访问控制列表中使用名称待敌表号
调整安全策略相对灵活code
access-list access-list-number { permit | deny} source [source-wildcard ] //permit表示容许数据包经过 ,deny表示拒绝数据包经过 ,source [ source-wildcard ]只对源IP进行控制+(反子网掩码)
范例演示blog
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255 Router(config)# access-list 1 permit 192.168.2.2 0.0.0.0 //容许192.168.1.0/24和主机192.168.2.2的流量经过
no access-list access-list-number //直接删除ACL列表号
access-list 1 deny 0.0.0.0 255.255.255.255 //拒绝全部ip
host //host后面可跟ip地址,免去子网掩码的输入 any //等同于拒绝全部ip
ip access-group access-list-number {in | out} //in定义于离控制方最近的端口
no ip access-group access-list-number {in | out}
1.首先配置交换机接口
conf t //进入全局模式 no ip routing //关闭路由功能 int f1/0 //进入端口f1/0 speed 100 //配置速率 dup full //配置全双工模式
2.配置路由器R2ip
conf t int f0/0 ip add 192.168.10.1 255.255.255.0 //配置端口f0/0的IP地址 no shut nt f0/1 p add 192.168.20.1 255.255.255.0 //配置端口f0/1的IP地址 no shut do show ip route //查看路由表
3.PC机配置IP地址
(1)配置PC1的IP地址及网关路由
ip 192.168.10.2 192.168.10.1
(2)配置PC2的IP地址及网关
ip 192.168.10.3 192.168.10.1
(3)配置PC3的IP地址及网关
ip 192.168.20.2 192.168.20.1
4.测试PC机间的通信
PC1> ping 192.168.20.2 192.168.20.2 icmp_seq=1 timeout 84 bytes from 192.168.20.2 icmp_seq=2 ttl=63 time=31.242 ms 84 bytes from 192.168.20.2 icmp_seq=3 ttl=63 time=31.241 ms 84 bytes from 192.168.20.2 icmp_seq=4 ttl=63 time=31.243 ms 84 bytes from 192.168.20.2 icmp_seq=5 ttl=63 time=31.222 ms PC3> ping 192.168.10.3 192.168.10.3 icmp_seq=1 timeout 84 bytes from 192.168.10.3 icmp_seq=2 ttl=63 time=31.518 ms 84 bytes from 192.168.10.3 icmp_seq=3 ttl=63 time=31.266 ms 84 bytes from 192.168.10.3 icmp_seq=4 ttl=63 time=31.263 ms 84 bytes from 192.168.10.3 icmp_seq=5 ttl=63 time=31.244 ms
5.在路由器R1上建立ACL并使用在f0/0端口
access-list 1 deny host 192.168.10.2 //拒绝ip为192.168.10.2 的主机访问 access-list 1 permit any //容许其余全部ip访问 int f0/0 ip access-group 1 in //将ACL应用与f0/0端口的入方向 do show access-list //查看ACL列表
6.验证ACL配置
(1)测试PC1与PC3 通信
PC1> ping 192.168.20.2 *192.168.10.1 icmp_seq=1 ttl=255 time=31.223 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.10.1 icmp_seq=2 ttl=255 time=15.618 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.10.1 icmp_seq=3 ttl=255 time=15.621 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.10.1 icmp_seq=4 ttl=255 time=15.622 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.10.1 icmp_seq=5 ttl=255 time=15.620 ms (ICMP type:3, code:13, Communication administratively prohibited)
结论:发现没法通信并提示通信被管理方禁止,ACL生效
(2)测试PC1 与PC2 通信
PC1> ping 192.168.10.3 84 bytes from 192.168.10.3 icmp_seq=1 ttl=64 time=0.000 ms 84 bytes from 192.168.10.3 icmp_seq=2 ttl=64 time=0.000 ms 84 bytes from 192.168.10.3 icmp_seq=3 ttl=64 time=0.000 ms 84 bytes from 192.168.10.3 icmp_seq=4 ttl=64 time=0.000 ms 84 bytes from 192.168.10.3 icmp_seq=5 ttl=64 time=0.000 ms
结论:局域网内部不受ACL限制,能够正常通信