深信服的跨三层取MAC地址

moting 发布于 2024-10-15 137 次阅读


为什么要跨三层获取MAC地址

跨三层获取MAC地址的需求通常源于网络管理和设备监控的复杂性,尤其是在大规模网络中。MAC地址属于二层(数据链路层)信息,但在三层(网络层)的通信中,IP地址则是关键。当涉及不同子网的设备时,我们只能依赖IP地址进行通信,而不能直接通过MAC地址识别。因此,为了管理和监控这些设备,我们需要跨三层获取MAC地址。

常见的几种需求

  1. 网络安全和访问控制
  2. 设备追踪和网络监控
  3. ARP协议局限
  4. 网络问题诊断
  5. 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/2GigabitEthernet1/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 的空闲网口,配置完成后即可开始使用。