201003NTWK@利用ACL绑定交换机端口与终端MAC地址
S
工作区要求除了允许的机器外,其他机器不能通过网线连接网络面板的方式接入网络,且已有机器不允许随意更改位置。于是想到在交换机上设置ACL,只允许特定MAC的包通过。
1
经查询,华为交换机支持二层ACL,其过滤规则可检查MAC帧。
华为交换机二层ACL的编号为4000-4999,编号在此区间的ACL自动建立为二层ACL。
由于工作区环境为瘦客户端连接虚拟机的模式,所以硬件上的位置不会变动。故考虑在每一个端口上设置一个ACL,在入方向上,其允许源MAC为瘦客户端的包,而阻止其他任何包;在出方向上,其允许目的MAC为瘦客户端的包,而阻止其他任何包,当然,只控制入方向其实就足够了。
2
由于每个端口连接的机器理论上是不变的,为了方便统计目前接口上的MAC地址,暂时将MAC地址设置为不老化,使用mac-address aging-time 0
。
然后使用display mac-address [interface]
查看所有/单个接口的MAC地址学习情况,理论上,每个接口应该只有1条记录(上联接口除外)。
接下来根据查到的MAC地址创建相应的ACL:
ACL 4xxx #创建一个二层ACL
rule 0 permit source-mac xxxx-xxxx-xxxx #允许指定源MAC的包通过
rule 1 deny #禁止所有包通过,其优先级低于rule 0
interface gx/x/x #进入xxx端口
traffic-filter inbound acl 4xxx #在入方向上应用ACL
E
进行试验,在网口上接入新机器,或是其他位置的机器,均无法入网,达到目的。