华为3COM设备中访问控制列表ACL分很多种,不同场合应用不同种类的ACL。其中最简单的就是标准访问控制列表,他是通过使用IP包中的源IP地址进行过滤,使用的访问控制列表号1到99来创建相应的ACL。
  
   一,标准访问控制列表的格式
  
  标准访问控制列表是最简单的ACL。他的具体格式如下:
  
  acl ACL号
  
  //进入ACL设置界面
  
  rule permit|deny source IP地址 反向子网掩码
  
  例如:rule deny source 192.168.1.1 0.0.0.0这句命令是将所有来自192.168.1.1地址的数据包丢弃。当然我们也可以用网段来表示,对某个网段进行过滤。命令如下:
  
  rule deny source 192.168.1.0 0.0.0.255
  
  //将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。为什么后头的子网掩码表示的是0.0.0.255呢?这是因为华为设备和CISCO一样规定在ACL中用反向掩玛表示子网掩码,反向掩码为0.0.0.255的代表他的子网掩码为255.255.255.0。
  
   二,配置实例:
  
  要想使标准ACL生效需要我们配置两方面的命令:
  
  1,ACL自身的配置,即将详细的规则添加到ACL中。
  
  2,宣告ACL,将设置好的ACL添加到相应的端口中。
  
  网络环境介绍:
  
  我们采用如下图所示的网络结构。路由器连接了二个网段,分别为172.16.4.0/24,172.16.3.0/24。在172.16.4.0/24网段中有一台服务器提供WWW服务,IP地址为172.16.4.13。
  
  2005.10.11.9.20.37.2.1.jpg

  实例1:禁止172.16.4.0/24网段中除172.16.4.13这台计算机访问172.16.3.0/24的计算机。172.16.4.13可以正常访问172.16.3.0/24。
  
  路由器配置命令:
  
  acl 1
  
  //设置ACL 1,并进入ACL设置模式
  
  rule deny source any
  
  //设置ACL,阻止其他一切IP地址进行通讯传输。
  
  int e1
  
  //进入E1端口。
  
  firewall packet-filter 1 inbound
  
  //将ACL 1宣告。
  
  经过设置后E1端口就只容许来自172.16.4.13这个IP地址的数据包传输出去了。来自其他IP地址的数据包都无法通过E1传输。
  
  小提示:
  
  由于华为3COM的设备是默认添加了permit ANY的语句在每个ACL中,所以上面的rule deny source any这句命令可以必须添加的,否则设置的ACL将无法生效,所有数据包都会因为结尾的permit语句而正常转发出去。另外在路由器连接网络不多的情况下也可以在E0端口使用firewall packet-filter 1 outbound命令来宣告,宣告结果和上面最后两句命令效果一样。
  
  实例2:禁止172.16.4.13这个计算机对172.16.3.0/24网段的访问,而172.16.4.0/24中的其他计算机可以正常访问。
  
  路由器配置命令:
  
  access-list 1
  
  //设置ACL,进入ACL1设置界面。
  
  rule deny source 172.16.4.13 0.0.0.0
  
  //阻止172.16.4.13这台计算机访问。
  
  rule permit source any(如下图)
  
  //设置ACL,容许其他地址的计算机进行通讯
  
  int e1
  
  //进入E1端口
  
  firewall packet-filter 1 inbound
  
  //将ACL1宣告,同理可以进入E0端口后使用firewall packet-filter 1 outbound来完成宣告。
  
2005.10.11.9.20.47.2.2.jpg

  配置完毕后除了172.16.4.13其他IP地址都可以通过路由器正常通讯,传输数据包。需要提醒一点的是默认情况下华为设备在ACL结尾添加了rule permit source any的语句,所以本例中可以不输入该语句,效果是一样的。
  
   总结:
  
  标准ACL占用路由器资源很少,是一种最基本最简单的访问控制列表格式。应用比较广泛,经常在要求控制级别较低的情况下使用。如果要更加复杂的控制数据包的传输就需要使用扩展访问控制列表了,他可以满足我们到端口级的要求。