一、反射 ACL 简介
如果现在要求在思科路由器上通过配置 ACL 来实现以下功能:
A 网段中的主机可以主动访问 B 网段中的主机,但 B 网段中的主机不可以主动访问 A 网段中的主机。
估计很多新人的给出的答案都是:
配置一个包含「A 网段允许访问 B 网段」和「B 网段禁止访问 A 网段」这两个条目的扩展 ACL 并应用在 A 网段或 B 网段所在接口的入方向上。
虽然思路是没问题的,但这种普通的扩展 ACL 只会机械地阻止所有 B 网段到 A 网段的流量,并不能放行由于 A 网段主动访问 B 网段而产生的 B 网段到 A 网段的流量。
请记住,在正常情况下,网络通信必须是双向的!
而通过配置反射 ACL 就可以轻松地解决这个问题。
反射 ACL 会记录每个连接的状态,然后根据记录来放行合法的反向流量。
不过,反射 ACL 还是有它的局限性的。
它对于那种正反向流量特征不相同的服务(例如主动式 FTP、NFS 等正反向端口不同的服务)就无能为力了。
不这样的话,防火墙还怎么卖,对吧。
二、网络拓扑图及说明

如上图,有 192.168.1.0/24
和 192.168.2.0/24
两个网段。
现要求使用反射 ACL 来实现允许 192.168.1.0/24
主动访问 192.168.2.0/24
,由此产生的反向流量也要被允许;但不允许 192.168.2.0/24
主动访问 192.168.1.0/24
。
以下路只介绍路由器反射 ACL 的配置方法。
三、配置方法
3.1 配置正向 ACL
说明
• 只有扩展命名式 ACL 才支持反射功能。
Router(config)#ip access-list extended net1_to_net2 % 创建一个名为 net1_to_net2 的扩展 ACL
Router(config-ext-nacl)#permit ip any 192.168.2.0 0.0.0.255 reflect back_t