为什么要跨三层获取MAC地址
跨三层获取MAC地址的需求通常源于网络管理和设备监控的复杂性,尤其是在大规模网络中。MAC地址属于二层(数据链路层)信息,但在三层(网络层)的通信中,IP地址则是关键。当涉及不同子网的设备时,我们只能依赖IP地址进行通信,而不能直接通过MAC地址识别。因此,为了管理和监控这些设备,我们需要跨三层获取MAC地址。
常见的几种需求
- 网络安全和访问控制
- 设备追踪和网络监控
- ARP协议局限
- 网络问题诊断
- IP-MAC绑定
我的需求则是第五种,我把企业级的网络设备运用于家庭网络中,因为家里的小孩子总是熬夜看电视,那怎么办?当然要想办法限制!
于是我选择了设置时间段和审计策略,把上课时间段的网络访问全部拒绝掉。
但是遇到一个问题,IP地址是通过DHCP动态分配的,如果我手动设置IP地址,小孩子也可以轻易更改。在交换机上手动绑定IP地址也太麻烦了,因此我使用深信服AC设备的IP/MAC绑定功能。
它会将IP地址和设备的MAC地址绑定,确保网络设备无法被更改。深信服提供了两种方式来跨三层获取MAC地址:
- 通过镜像读取内网用户的MAC(推荐)
- 配置跨三层取MAC(通过SNMP)
我们重点讲解第一种方法,它是官方推荐的。首先,需要在交换机上配置端口镜像,设置源地址和目的地址。
配置
源地址是镜像的源端口,目的地址是接收镜像流量的端口。
我使用的是H3C交换机,所以接下来的命令都是针对华三设备的。
1. 进入系统视图
system-view
2. 配置镜像组
mirroring-group 1 local
3. 设置目标接口
选择一个目标接口来接收被镜像的数据流量(例如一个空闲的光口或网口,连接到AC的接口)。
mirroring-group 1 monitor-port <目标接口>
将<目标接口>
替换为你实际使用的目标接口(例如GigabitEthernet1/0/1
)。
4. 镜像所有接口流量
假设你有多个接口,如GigabitEthernet1/0/2
到GigabitEthernet1/0/24
,可以将这些接口添加到镜像组中。为了监控所有接口的流量,可以分别配置入方向、出方向或双向镜像:
interface GigabitEthernet1/0/2
mirroring-group 1 mirroring inbound
quit
interface GigabitEthernet1/0/3
mirroring-group 1 mirroring outbound
quit
# 以上命令需要为你想要镜像的每个接口重复执行
mirroring inbound
:表示镜像进入接口的流量。mirroring outbound
:表示镜像从接口发出的流量。- 如果需要双向镜像,可以分别为入方向和出方向配置镜像。
5. 配置验证
配置完成后,可以使用以下命令查看当前的镜像配置:
display mirroring-group 1
6. 注意事项
- 流量压力:将所有接口的流量镜像到一个接口会产生较大的流量压力。请确保目标接口和接收设备(AC)能够处理所有镜像流量。
- 端口带宽:如果监控的接口较多且流量大,目标接口的带宽可能会成为瓶颈,因此需要确保目标接口足够快速(如 10Gbps 接口),以避免数据丢包。
最后,使用连接线将设置的 GigabitEthernet1/0/1
连接到 AC 的空闲网口,配置完成后即可开始使用。
Comments NOTHING