控制访问列表有两种:标准的控制访问列表和扩展的控制访问列表。 

 

  • 
 标准  

 
 
 检查源地址  

 
 
 通常允许、拒绝的是完整的协议  

 
 
 能够对源地址进行过滤,是一种简单,直接的数据控制手段 

 

  • 
 扩展  

 
 
 检查源地址和目的地址  

 
 
 通常允许、拒绝的是某个特定的协议  

 
 
 除了基于数据包源地址的过滤以外,还能够对协议,目的地址,端口号进行网络流量过滤。当然,配置也更复杂 

 

  控制访问列表的一般用法: 

 

  • 
 限制对网络的FTP访问  

 

  • 
 禁止一个子网到另一个子网的访问  

 

  • 
 允许规定主机Telnet访问路由器  

 
 
 如:不允许指定的主机TELNET访问 

 

  访问列表的配置指南 
 : 

 

  • 
 访问列表的编号指明了使用何种协议的访问列表  

 

  • 
 每个端口、每个方向、每条协议只能对应于一条访问列表  

 

  • 
 访问列表的内容决定了数据的控制顺序  

 

  • 
 具有严格限制条件的语句应放在访问列表所有语句的最上面  

 

  • 
 在访问列表的最后有一条隐含声明:deny any-每一条正确的访问列表都至少应该有一条允许语句  

 

  • 
 先创建访问列表,然后应用到端口上  

 

  • 
 访问列表不能过滤由路由器自己产生的数据 

 

  标准访问列表的一般配置举例: 

 
 
 Router#  

 
 
 Router#configure terminal  

 
 
 Router(config)#  

 
 
 Router(config)#access-list 1 permit 172.16.2.0 0.0.0.255  

 
 
 配置的访问列表是允许来自网络172.16.2.0的流量  

 

  • 
 Router#configure terminal  

 

  • 
 Router(config)#  

 

  • 
 Router(config)#access-list 2 deny 172.16.3.0 0.0.0.255  

 

  • 
 Router(config)#access-list 2 permit any  

 

  • 
 Router(config)#int s0  

 

  • 
 Router(config-if)#ip access-group 2 out  

 

  • 
 Router(config-if)# 

 
 
 禁止来自网络172.16.3.0的流量!!! 

 

  扩展访问列表的一般配置举例: 

 
 
 access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21  

 
 
 access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20  

 
 
 access-list 101 permit ip any any  

 
 
 (implicit deny all)  

 
 
 (access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255)  

 

  • 
 拒绝子网172.16.4.0 的数据使用路由器e0口ftp到子网172.16.3.0  

 

  • 
 允许其它数据  

 
 
 access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23  

 
 
 access-list 101 permit ip any any  

 
 
 (implicit deny all)  

 

  • 
 拒绝子网 172.16.4.0 内的主机使用路由器的端口建立Telnet会话  

 

  • 
 允许其它数据 

 
 
  

 

 
 
  

 

  我们来比较一下标准的和扩展的异同: 

 

  标准: 

 
 
 基于源地址 

 
 
 允许和拒绝完整的  

 
 
 TCP/IP协议 

 
 
 编号范围 1-99和1300-1999 

 

  扩展: 

 
 
 基于源地址和目标地址 

 
 
 指定TCP/IP的特定协议  

 
 
 和端口号 

 
 
 编号范围 100-199和2000-2699 

 

  我们指定特定的主机时一般用通配符掩码指明,下面我举几个例子: 

 
 
 例如 172.30.16.29 0.0.0.0 检查所有的地址位 可以简写为 host (host 172.30.16.29)   

 
 
 所有主机: 0.0.0.0 255.255.255.255 可以用 any 简写