在三层核心交换机上通过MAC地址限制终端访问外网的方法
业务需求
需要在三层核心交换机(S5700)上通过MAC地址限制终端访问外网,但不影响其访问内网其它网段。
网络拓扑
【方案1】
下面示例以内网网段为192.168.0.0/16,限制两台终端的MAC地址为例。如果还需要增加限制的终端,参见蓝色部分继续增加ACL规则即可。
配置思路:通过高级ACL允许内网互访,通过二层ACL拒绝MAC地址,然后在同一个策略中应用两个CB对(先允许内网IP互访,再拒绝终端MAC)。
#
acl number 3001 //定义访问规则,允许内网网段互访
rule 5 permit ip source 192.168.0.0 0.0.255.255 destination 192.168.0.0 0.0.255.255
#
acl number 4001 //定义访问规则,只拒绝某个终端的MAC地址
rule 5 deny source-mac 5489-9887-5c67
rule 10 deny source-mac 5489-98a4-196e
#
traffic classifier lan.ip operator and
if-match acl 3001
traffic classifier deny.smac operator and
if-match acl 4001
#
traffic behavior test1
#
traffic policy test1 //这果要注意配置CB对的顺序(先允许内网IP互访,再拒绝终端MAC)
classifier lan.ip behavior test1
classifier deny.smac behavior test1
#
traffic-policy test1 global inbound //在全局应用流策略
#
【方案2】
下面示例以内网网段为192.168.0.0/16,限制两台终端的MAC地址为例。如果还需要增加限制的终端,参见蓝色部分继续增加相应的CB对即可。
配置思路:通过高级ACL制定不允许访问外网的规则,再利用流分类的逻辑“与”的关系,将高级ACL和源MAC作为条件进行访问控制。
#
acl number 3002 //定义访问规则,只允许访问内网网段
rule 5 permit ip source 192.168.0.0 0.0.255.255 destination 192.168.0.0 0.0.255.255
rule 1000 deny ip
#
traffic classifier deny.smac1 operator and //创建流分类,注意这里必须指定operator为“and”
if-match acl 3002
if-match source-mac 5489-9887-5c67 //设置被限制终端的MAC地址
traffic classifier deny.smac2 operator and
if-match acl 3002
if-match source-mac 5489-98a4-196e
#
traffic behavior test2
#
traffic policy test2
classifier deny.smac1 behavior test2
classifier deny.smac2 behavior test2
#
traffic-policy test2 global inbound //在全局应用流策略
#
注意:流分类中的“与”是指ACL规则与非ACL规则之间的关系,即假设在流分类中同时配置两个ACL(比如高级ACL和二层ACL),设备将会按ACL配置的顺序依次进行匹配,匹配上后则不再匹配后面配置的ACL规则,直接去和非ACL规则进行“与”,而不是这两个ACL之间进行“与”,达不到预期的效果。
总结与建议:
如果有多个终端MAC要拒绝的话,建议使用【方案1】,后期添加终端MAC时更方便。
如果只是临时拒绝单个终端MAC的话,【方案2】相对更简洁。
通过这两个方案,可以让我们对流策略与ACL之间关系的理解更加深入一些。
版权声明:
作者:SE_Zhang
链接:https://www.cnesa.cn/1270.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论