I would like to configure a MAC ACL on my cisco router. From the official CISCO documentation I can see this is done by typing:
cisco# configure terminal
cisco(config) # mac access-list <mac-list-name>
However when I use this I get:
cisco(config)#mac access-list mac-Permit
^
% Invalid input detected at '^' marker.
I noticed in config mode there is a command of it's own called access-list and in here I assume I can use this to configure single rules. Is this where it is supposed to be done or am I missing something? Why does the mac access-list command not work? Is it not supported on my software version.
Version: c1900-universalk9-mz.SPA.153-1.T1.bin – 15.0(1r)M16
Thanks in advanced.
Best Answer
MAC access lists can be defined numerically in any standard IOS in the ranges of 1100-1199 for extended or 700-799 for basic, as such:
So - that's how you define a mac access list. As per my comment, however, it may not behave the way you think it does. It's actually intended for use with bridging - so, for example, blocking a specific MAC address from passing through a bridge group.
It's not really analogous to the MAC filtering you might find on a consumer router in that there isn't a way to simply say "don't accept traffic from mac address x" on a standard routed interface. If you want to use IRB (see CCO Transparent Bridging Configuration Guide) you could put the IP on a BVI and then join it and one or more Ethernet interfaces into a bridge-group and then apply MAC filters via access-expressions on the physical interfaces (...thus allowing/preventing certain MAC addresses, or ranges of addresses, from making it to the BVI).
The best way to put it might actually be that the sort of MAC filtering you see on a consumer network device is actually part of the switch (..to include any integrated AP) while IP-based rules are likely part of the router. To this end - if you were using a Cisco switch then you could apply MAC filters in a pretty straightforward way via VACL's or PACL's. On a device acting as a pure router, however, it's going to be a different story.