最近收到粉丝的私信,遇到一个我比较少听到的名词的:MAC地址掩码

What? MAC地址掩码?_java



果断可以给你讲一下啊! 谁叫你是网络工程师呢?谁叫你这么爱学习呢?


于是,我就立马搭了个环境,分分钟让你明白!


关于MAC地址掩码,主要是涉及到二层ACL的问题。


做实验前,请读书跟我一起闭上眼,来思考? 


一般什么时候情况会考虑用二层ACL呢?

请闭眼喔!






想出来了吗?






再别想想,别着急!






不知道你有没有想出来呢?  我自己个人觉得,主要是在同一局域网环境下才会

去考虑使用二层ACL,如果是跨网段,直接用三层ACL 好了,用来IP来控制,分分钟搞定!


于是,我搭了一个局域网的环境。


我的拓扑环境是这样子的:

有三台电脑、一台交换机、一台服务器。

PC1:

IP地址:192.168.1.2/24

MAC地址:54-89-98-0B-21-0E


PC2:

IP地址:192.168.1.3/24

MAC地址:54-89-98-BF-1B-A0


PC3:

IP地址:192.168.1.4/24

MAC地址:54-89-98-31-42-98


Server:

IP地址:192.168.1.5/24



What? MAC地址掩码?_java_02



步骤:

1、给每个PC配上IP地址、掩码,

2、给服务器配上地址。


验证:(在交换机未做二层ACL时)

每台PC访问server 的连通性。


What? MAC地址掩码?_java_03

What? MAC地址掩码?_java_04

What? MAC地址掩码?_java_05



结论:

每台PC现在都能访问server!!!



假如这是一个小型公司的网络,可能需要限制某些人不能访问服务器。那么,你就可以使用二层 ACL来实现这个需求。大家都知道,二层通信,都是通过MAC地址来通信的。那么我们就可以写个二层 ACL来根据MAC地址进行访问控制。



关键配置:

What? MAC地址掩码?_java_06


这里明确指出了,acl 编号4000-4999是二层acl。那你就老老实实,在里面取一根编号吧!

我现在就写一条acl,只允许mac地址为:54-89-98-0B-21-0E;其他的都不能访问。


acl number 4001

 rule 1 permit source-mac 5489-980b-210e

 rule 2 deny



rule 1 permit source-mac 5489-980b-210e 这样直接回车,那么默认源MAC地址的掩码为:ffff-ffff-ffff



理解MAC地址掩码

掩码你可以理解为就是执行与运算。 如果你连与运算也不懂,那我就简单地说吧。就是乘法运算。把地址和ffff-ffff-ffff 每个位独立相乘一下。

f=1111。  ffff-ffff-ffff,就是48位mac地址全为1。


What? MAC地址掩码?_java_0754-89-98-0B-21-0E乘以 ffff-ffff-ffff 等于 54-89-98-0B-21-0E。



这么说,就是如果不写掩码,默认ffff-ffff-ffff,就是等于默认值允许源地址指定的一台主机。


好了。回正题。


配完ACL,就要干嘛?

就要接口调用啊!

What? MAC地址掩码?_java_08



现在就可以验证了,只要PC1可以访问server 192.168.1.5.


What? MAC地址掩码?_java_09

What? MAC地址掩码?_java_10

What? MAC地址掩码?_java_11



But,如果你掩码写成这样,那么他们就都可以通了:

 rule 1 permit source-mac 5489-0000-0000 ffff-0000-0000

What? MAC地址掩码?_java_12

What? MAC地址掩码?_java_13

What? MAC地址掩码?_java_14


三台都可以通了。


为什么可以通?

细心的人就会发现,这3台电脑的mac至少前面54-89,于是我mac地址掩码写成: ffff-0000-0000 ,意思就是只检查前面第一段,5489,只要数据包匹配这个,我就允许通过。不管后面地址是什么数字。 

总结一下吧!

MAC地址掩码,就是配合前面source-mac-add来实现控制范围,是指一台还是指一个mac地址范围呢?

简介一句话就是:掩码1就是做检查,检查是否匹配。 掩码0就是不做检查,不管是多少,忽略不看。


二层ACL我这里是举个简单例子而已。大家有兴趣,可以做一些其他的。不然做个复杂的二层ACL ,添加目的MAC  地址。