访问控制列表简述
访问控制列表(Access Control Lists,简称ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。ACL读取第三层、第四层包头信息,并根据预先定义好的规则对包进行过滤。
ACL的功能
1.限制网络流量、提高网络性能
2.提供对通信流量的控制手段
3.提供网络访问的基本安全手段
4.在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞
ACL的工作原理
1.访问控制列表在接口应用的方向:
出方向:已经过路由器的处理,正离开路由器接口的数据包
入方向:已达到路由器接口的数据包,将被路由器处理
列表应用到接口方向与数据方向有关
2.访问控制列表的处理过程:
ACL规则:匹配为自上而下逐条匹配,默认隐含的拒绝是拒绝所有(any)
白名单
允许 1.2
允许 1.3
拒绝所有(可不写,隐含的拒绝会拒绝所有)
**黑名单**
拒绝 1.2
拒绝 1.3
允许所有(必须写,否则隐含的拒绝会拒绝所有)
ACL的类型
标准访问控制列表
基于IP地址过滤数据包
标准访问控制列表的访问控制列表号是1~99
扩展访问控制列表
基于源IP、目标IP地址、指定协议、端口和标志来过滤数据包
扩展访问控制列表的访问控制列表号是100~199
命名访问控制列表
命名访问控制列表允许在标准和扩展访问控制列表中使用名称待敌表号
调整安全策略相对灵活
ACL的配置命令
1.创建ACL
access-list access-list-number { permit | deny} source [source-wildcard ]
//permit表示允许数据包通过 ,deny表示拒绝数据包通过 ,source [ source-wildcard ]只对源IP进行控制+(反子网掩码)
范例演示
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的流量通过
2.删除ACL
no access-list access-list-number //直接删除ACL列表号
3.隐含的拒绝语句
access-list 1 deny 0.0.0.0 255.255.255.255 //拒绝所有ip
4.关键字
host //host后面可跟ip地址,免去子网掩码的输入
any //等同于拒绝所有ip
5.ACL 应用于接口
ip access-group access-list-number {in | out} //in定义于离控制方最近的端口
6.取消ACL在接口上 的应用
no ip access-group access-list-number {in | out}
ACL标准版配置演示
1.首先配置交换机
conf t //进入全局模式
no ip routing //关闭路由功能
int f1/0 //进入端口f1/0
speed 100 //配置速率
dup full //配置全双工模式
2.配置路由器R2
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限制,可以正常通讯
原文地址:https://blog.51cto.com/14449521/2442141
时间: 2024-11-10 14:26:10