访问控制列表(ACL)的匹配机制概括来说是:配置ACL的设备接收报文后,会将该报文与ACL中的规则逐条进行匹配。如果不能匹配上,就会继续尝试去匹配下一条规则。一旦匹配上,则设备会根据规则中的指定动作和应用ACL的各个业务模块来共同决定报文最终是被允许通过还是拒绝通过。不同的业务模块,对命中和未命中规则报文的处理方式也各不相同。
例如,在Telnet模块中应用ACL,只要报文命中了规则且ACL规则动作为permit,就允许通过;而在流策略中应用ACL,如果报文命中了规则且ACL规则动作为permit,但流行为动作配置的是deny,该报文仍会被拒绝通过。
ACL存在两种匹配顺序:配置顺序(config模式)和自动排序(auto模式)。缺省的ACL匹配顺序是config模式,即系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。
以下是一些ACL的配置示例:
- 使R1可以ping通R2,但R2不能ping通R1 :
- 步骤1:测试在R1拼R2与在R2拼R1 。
- 步骤2:在R1上写ACL并应用在接口,允许12.1.1.2到12.1.1.1返回的包。
- 步骤3:验证R1拼R2与R2拼R1 。
- 使R1能TELNET进R2,而R2不能TELNET进R1 :
- 步骤1:在R1与R2测试相互TELNET对方 。
- 步骤2:在R1上写ACL并应用到接口,只允许12.1.1.2的23端口访问12.1.1.1大于1024的端口 。
- 步骤3:验证R1与R2互相TELNET对方 。
总之,ACL的匹配机制和配置方式多样,需要根据具体的网络需求进行灵活应用。
ACL 在 Telnet 模块中的应用规则
在 Telnet 模块中应用 ACL 时,其规则具有严格的限制作用。如果 ACL 中存在规则但报文未匹配上,该报文会被拒绝通过。例如,为了保障远程维护网络设备的安全性,仅允许管理员(源地址是特定的)进行 Telnet 登录,其他人不允许登录。此时,仅需配置一条允许管理员地址通过的规则即可,其他地址的报文因匹配不上规则会被拒绝登录。
ACL 在流策略中的应用规则
在流策略中应用 ACL 时,其处理机制有所不同。如果 ACL 中存在规则但报文未匹配上,该报文仍可以正常通过。比如,在对某些网段的报文进行过滤时,拒绝特定主机地址的报文通过,允许其他地址的报文通过。或者反过来,允许特定主机地址的报文通过,拒绝其他地址的报文通过。
ACL 的配置顺序模式
配置顺序模式,即系统按照 ACL 规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。如果配置规则时指定了规则编号,则规则编号越小,规则插入位置越靠前,该规则越先被匹配。若未指定规则编号,系统会自动为其分配一个编号,该编号是一个大于当前 ACL 内最大规则编号且是步长整数倍的最小整数,因此该规则会被最后匹配。例如,先后配置了拒绝目的 IP 地址为较大网段的规则和允许目的 IP 地址为较小网段且包含在上述较大网段内的规则,由于匹配顺序的原因,对于特定目的 IP 的报文,可能会因先匹配到拒绝规则而被拒绝通过,反之则可能被允许通过。
ACL 自动排序模式
自动排序模式是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度从高到低的顺序进行报文匹配。规则中定义的匹配项限制越严格,规则的精确度就越高,即优先级越高,系统越先匹配。各类 ACL 的“深度优先”顺序匹配原则较为复杂,在自动排序的 ACL 中配置规则时,不允许自行指定规则编号,系统能自动识别出该规则在这条 ACL 中的优先级,并为其分配一个适当的规则编号。
ACL 配置实现特定网络访问的示例
以下是一些常见的 ACL 配置实现特定网络访问的示例:
- 限制特定 IP 访问网络:通过配置 ACL 规则,如“access-list 101 permit ip 192.168.1.0 0.0.0.255 any”和“access-list 101 deny ip any any”,实现只允许特定网段的 IP 访问网络,拒绝其他 IP 访问。
- 限制用户在特定时间访问特定服务器:例如某公司禁止研发部门和市场部门在上班时间访问工资查询服务器,配置时间段、高级 ACL 和基于 ACL 的流分类,以及相应的流行为和流策略,来实现基于时间和用户部门的访问限制。
- 配置特定时间段允许个别用户上网:如某公司要求在上班时间所有员工均可以上网,但周末时间仅允许各部门经理能够上网,其他用户不允许上网。通过配置时间段、基本 ACL 和基于 ACL 的流分类等,实现对不同用户在不同时间段的上网控制。
综上所述,访问控制列表(ACL)在网络管理和安全中起着重要作用。其匹配机制和配置方式的灵活运用,可以有效地实现对网络访问的精细控制,满足不同场景下的网络需求,保障网络的安全性和稳定性。无论是在 Telnet 模块、流策略中,还是在实现特定网络访问的配置中,都需要根据实际需求精心设计 ACL 规则,以达到预期的网络管理目标。