网络通信 频道

中小企业网络管理:ACL访问控制列表

 下面咱们结合几个小实例来看一下标准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表

  

1
相关文章