下面咱们结合几个小实例来看一下标准ACL的具体配置过程:
我们所参考的拓扑图如下:
▲ 实验拓扑图
我们结合这个拓扑来做三个实验:
实例1:我们只允许192.168.10.0与192.168.20.0两个网段可以通讯
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface fa0/0
Router(config-if)#ip address 192.168.10.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface fa0/1
Router(config-if)#ip address 192.168.20.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface e1/0
Router(config-if)#ip address 192.168.30.1 255.255.255.0
Router(config-if)#no shutdown
现在默认情况下,三个网段之间是可以进行正常通讯的,如图:
▲ 配置前
那么下面我们怎么做才能只让10.0和20.0通讯呢,具体配置如下:
Router>enable
Router#conf t
Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
Router(config)#access-list 2 permit 192.168.20.0 0.0.0.255
Router(config)#interface fa 0/0
Router(config-if)#ip access-group 2 out
Router(config-if)#exit
Router(config)#interface fa 0/1
Router(config-if)#ip access-group 1 out
Router(config-if)#exit
Router(config)#
然后测试如下:
▲ 配置后
刚才我们是匹配的整个网段,下面咱们看如何匹配一个具体的主机:
实例2:我们不允许192.168.10.10 可以访问 非192.168.20.0 网段,也就是不允许192.168.10.10这一台机器访问192.168.30.0网段
具体配置如下:
Router>enable
Router#conf t
Router(config)#access-list 1 deny 192.168.10.10 0.0.0.0
Router(config)#access-list 1 permit any
Router(config)#interface e0/2
Router(config-if)#ip access-group 1 out
此时再来测试:
▲ 禁止某一主机
大家可以看到和192.168.20.0网段通讯没有问题,但是和192.168.30.0网段就不行,这就是对某一台机器进行精确匹配,那么如果我们把192.168.10.10的IP改为192.168.10.100又如何呢?
▲ 调整IP
发现又可以通讯了,因为和我们所设置的规则不匹配了!
同时我们也是通过几个实例来具体看一下扩展ACL的配置,关于标准ACL与扩展ACL的区别,我们在前面已经做了介绍,在此不再累述,下面看具体的匹配命令;
1 创建ACL:
Access-list ACL_number permit|deny protocol soure wildcard [port] destination waildcard [port]
大家一看就觉得比标准ACL要复杂点,这要可以指定源地址,目标地址,使用的协议以及使用的端口号等,当然还可以使用log来指定日志服务器,在此不作讲解!
2 在接口上应用ACL
Ip access-group ACL_number in | out
下面咱们还是通过具体的实例来掌握扩展ACL的应用
实例3: 我们拒绝192.168.20. 0 telnet到192.168.10.0上的任何一个主机上!
▲ 拓扑图
具体配置如下:
Router>enable
Router#conf terminal
Router(config)#access-list 101 deny tcp 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 eq 23
Router(config)#access-list 101 permit ip any any
注意:默认有一个deny all
接下来要应用以相应的接口上,例如出端口 E 0/0
Router(config)#interface e0/0
Router(config-if)#ip access-group 101 out
配置还是很简单的!
只不过需要注意有的服务是有辅助端口的,所以一定要把辅助端口一起封!
如,如果需要封FTP服务器,则需要使用两条语句:
Router(config)#access-list 100 deny tcp 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 eq 21
Router(config)#access-list 100 deny tcp 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 eq 20
查看某上端口上应用的访问控制列表,我们可以使用命令:show ip interface 接口,如图:
▲ 查看接口
还可以查看所有的访问控制列表:show access-lists
▲ 查看ACL表