赞
踩
所谓mac地址,和人类的身份证类似,是一个独一无二的字符串,由12位的16进制数所组成。起到标识设备的作用。
mac地址可以分为三类,分别是:
1、物理MAC地址
一般指设备的硬件地址,用于标识终端,是一个独一无二的地址。例如一个班级内,所有的学生都有独一无二的身份证号,这个姓名就相当于物理MAC。
2、广播MAC地址
是一个进制数全为1的字符串(FF-FF-FF-FF-FF-FF),表示了整个局域网内的所有的设备。例如我去通知一个班级中所有具有身份证号的同学,这个过程就是广播。
3、组播MAC地址
组播可以理解为有选择性的广播,例如一个班级是一个LAN,我想通知这个班里所有的女生,我就可以通过组播的方式,只有女生可以收到我的这条报文。这个过程就是组播。
MAC地址表中记录了该设备学习到的MAC地址和接口的映射关系。举个例子,比如在班级中有一个花名册,这个花名册记录了每位同学的姓名和座位,我们可以通过这个花名册来迅速的找到这位同学。
在网络中也是如此,我们如果想要找到一台PC在交换机的哪个端口,就可以通过查询MAC地址表的方式进行查询,从而得到接口与MAC的对应关系。
在MAC地址表中,也分为了三类:
1、动态MAC地址表项
动态MAC地址表,顾名思义是动态接受的形式,一般动态MAC地址表中记录了通过接口学习到的地址信息,这个信息会存在老化时间,默认老化时间为5分钟。适用于动态网络,例如无线场景下,用户在不同的AP间移动,所以只能通过动态的MAC地址表去进行查询。
2、静态MAC地址表项
静态MAC地址表是用户手动配置的,适用于一些稳定不变的场景,例如几台服务器,位置基本不会产生变动,为了稳定性和安全性,可以采用静态MAC将其手工绑定,这样一来从其它接口学习上来的源MAC是该MAC地址将会直接丢弃,可以防止MAC泛洪攻击和MAC欺骗。
3、黑洞MAC地址表项
黑洞MAC,也可以理解成MAC黑名单,配置完黑洞MAC后,该设备学习到的该MAC地址将会被丢弃,网络中如果有一个非法设备,可以通过配置黑洞MAC进行过滤。
MAC地址表中重要组成部分主要由MAC地址、VLANID、出接口组成。
首先我们创建一台交换机以及一台PC。
PC配置:
IP:192.168.1.2
掩码:255.255.255.0
网关:192.168.1.1
交换机配置:
[Huawei]vlan 10
[Huawei]int vlanif 10
[Huawei-Vlanif10]ip add 192.168.1.1 24
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 10
配置好基本的端口和IP后,我们查询mac地址表,会发现内容为空。是因为配置完后两端并未进行通信,所以交换机也未能学习到该PC的MAC信息。我们用交换机或者PC进行互ping后再次查询。
查询后会发现MAC地址表中已经学习到了我们PC1的MAC信息,以此表为例,主要信息由MAC地址为5489-98c1-1f87的设备所属vlan为vlan10,是通过GE0/0/1端口学习到的。
在网络通信过程中,如果其它设备想要和这台PC通信,到达交换机后,交换机会通过MAC地址表查询到该设备,并从出接口GE0/0/1口转发数据给PC1。
这就是MAC地址表的基本作用。
静态MAC地址,也就是我们上面讲过的,主要为了防止学习到错误的MAC地址表项,可以通过配置静态MAC地址来进行手动绑定,这样从其它接口再学习到该MAC地址就会直接丢弃。
首先我们还是用之前的交换机和PC基于VLAN去做一下MAC地址绑定。
[Huawei]mac-address static 5489-98c1-1f87 GigabitEthernet 0/0/1 vlan 10
是用这条命令将MAC地址5489-98c1-1f87与GigabitEthernet 0/0/1和vlan 10做一个绑定关系。
然后我们用dis mac-address static这条命令可以查询到所有的静态MAC地址表。
可以看到,现在的状态已经从之前的dynamic变成了static状态。
下面我们来验证一下
首先我们再创建一台PC,将其MAC地址改成和PC1一样的地址。
配置如下:
PC1:
IP:192.168.1.2
掩码:255.255.255.0
网关:192.168.1.1
MAC:54-89-98-C1-1F-87
PC2:
IP:192.168.1.3
掩码:255.255.255.0
网关:192.168.1.1
MAC:54-89-98-C1-1F-87
交换机:
[Huawei]int GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 10
首先我们先删除静态MAC的配置命令,去看下MAC地址表的情况。
我们用PC2去访问交换机,MAC地址表如下:
我们先使用undo mac-address去清理一下mac地址表后,再用PC1去访问交换机,MAC地址表如下:
可以看到,同样的mac在不同接口间不断变换。下面我们配置上静态mac以后再观察现象。
配置好以后我们用非法设备PC2去访问交换机,然后查看MAC地址表。
发现现在已经没有PC2的表项了,这时候我们创建一台pc3,地址为192.168.1.4
然后分别用PC1和PC2进行ping测试,然后看看报文的状态。
首先使用PC1去访问PC3,可以发现arp请求后正常发送ICMP报文。
我们再用PC2去访问PC3,发现ARP请求并没有得到响应。
然后我们在PC3同步抓包,查看发现PC3收到了PC2的ARP请求,并回复了,那么为什么没收到呢?
我们再去看PC1的抓包,发现arp报文中mac地址是PC1相同的MAC,我们配置了静态MAC绑定,所以MAC地址表中只有唯一一条MAC到PC2,所以在PC1上我们发现了PC2发送给PC3的ARP的请求及响应。说明我们配置静态MAC是有效果的。
但是静态MAC只会保证MAC地址表不被篡改,报文不会转发给非法用户,但是ARP报文会被广播从而被目标主机回复然后转发给合法用户,这个可以使用一些ARP安全的设置来处理,我们之后会讲。
黑洞MAC也可以理解为MAC黑名单,当设备收到目的MAC或者源MAC为黑洞MAC的报文,会直接丢弃,不会存在于MAC地址表内。
我们拿刚刚PC3的主机当作非法MAC,正常情况下MAC地址表如下:
可以看到MAC地址表中包含有一条MAC为5489-98da-3676,VLAN10,出接口为GE0/0/3的条目。
黑洞MAC有两种配置方式:
1、基于VLAN配置黑洞MAC
mac-address blackhole mac-address vlan vlan-id
2、基于全局配置黑洞MAC
mac-address blackhole mac-address
那么我们现在配置指定VLAN10中5489-98da-3676为黑洞MAC
配置命令如下:
[Huawei]mac-address blackhole 5489-98da-3676 vlan 10
然后我们通过以下命令查看黑洞mac表项
[Huawei]dis mac-address blackhole vlan 10
可以看到黑洞mac表项中已经存在该mac的表项,下面我们使用PC3访问下交换机,然后查看下mac地址表中是否存在该表项。
可以看到在mac地址表中该表项依旧为blackhole状态,且无法ping通,说明我们黑洞路由已生效。
动态MAC表项中,会定期更新mac表项,默认时间为300秒。
我们可以根据自己的实际情况去更改老化时间。
如果老化时间过长,则信息会更新不及时。
如果老化时间过短,那么会产生很多广播包增加设备负担。
下面我们配置老化时间为30秒,然后将其PC关机,查看30秒后会不会删除该MAC表项。
首先准备PC2为测试设备,MAC地址为:54-89-98-C1-1F-88
目前的MAC地址表为下图所示:
我们使用dis mac-address aging-time命令查看现在的MAC表项老化时间,发现为默认的300秒。
现在我们配置老化时间为30秒。
配置命令:
[Huawei]mac-address aging-time 30
注:时间为0的话则为不老化
配置完后发现老化时间已经更改为30秒。等待30秒后查看mac地址表发现该表项已经被删除,说明我们的老化时间配置生效。
在日常工作中会有一些比较古老的设备,这些设备的网卡发生故障时可能会向网络中发送源或目的全为0的非法MAC报文,为了避免这种情况,可以配置收到全为0的非法报文既丢弃的功能。
下面用实验实践一下
首先我们创建一台SW1与PC1,将其SW1设置为vlan10,地址为192.168.1.1,作为网关。
PC1地址设置为192.168.1.2,将其MAC地址收到改为0000-0000-0000
配置完后我们看下MAC地址表
可以发现现在是有一条全为0的MAC地址条目。
下面我们配置丢弃全为0的MAC地址报文。
drop illegal-mac enable
然后我们删除现在的mac地址表,重新进行ping操作,看看能否获取到mac表项。
undo mac-address
可以看到交换机并未获取到全为0的mac地址。说明命令已生效。
display mac-address
主要信息有MAC Address(mac地址)、VLAN号、port(接口)、type(类型)所组成,可以看到所有的mac地址列表。
display mac-address static
这条命令可以看到所有手动配置的静态MAC地址,主要信息也是由MAC Address(mac地址)、VLAN号、port(接口)、type(类型)所组成。
display mac-address static vlan vlan-id
可以看到VLAN下包含有哪些静态配置的MAC地址。
display mac-address dynamic vlan vlan-id
使用此命令可以看到在vlan下有哪些通过学习而来的MAC地址表项。
display mac-address dynamic interface interface-type interface-number
使用此命令可以看到在某端口学习上来的MAC地址表项。
display interface interface-type interface-number
显示信息中的Hardware address即为该接口的MAC地址
display interface vlanif vlan-id
显示信息中的Hardware address即为该VLANIF的MAC地址
display mac-address summary
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。