首先将所有数据包重新路由到/从 MAC 到路由器

网络工程 转变
2022-02-10 07:31:57

我想将交换机配置为首先将数据包转发到/从特定 MAC 地址到路由器,无论它连接到的主机是否在同一个交换机和 l3 网络上。这样流量就可以通过我们放置在交换机和路由器之间的内联设备,然后再传递到目的地。有没有办法配置这样的东西?我无法修改特定主机本身,但我可以修改交换机和内联设备。

目前我唯一的想法是本质上执行 ARP 欺骗,以便其他主机认为该特定主机的 MAC 地址是唯一的、不存在的 MAC。我们会将交换机配置为将此 MAC 的帧发送到我们的内联设备,然后我们可以在返回交换机的途中将帧的 MAC 重写为正确的 MAC。因此,我们将能够看到流向特定设备的所有流量,而不是离开它的流量。显然,此解决方案并不理想,因此将不胜感激任何帮助或想法。

谢谢

2个回答

这里有一些想法:

1. 专用 VLAN 边缘和重新路由

思科交换机有一项旧功能称为“专用 VLAN 边缘”(请参阅​​ https://www.cisco.com/en/US/tech/tk389/tk814/tk841/tsd_technology_support_sub-protocol_home.html)。

把它想象成“酒店模式”,你想让你的客人的系统不互相交谈,但每个人都可以和路由器交谈。

该功能仅限于单个交换机(或交换机堆栈),并且实际上不适用于多个交换机。

我现在不能实际测试这个,但它可能值得考虑:

  • 将给定 3560G 的所有交换机端口设置为“受保护”,路由器和内联设备连接的端口除外。
  • 如果源/目标在给定的子网内,请确保路由器通过它们来自的接口重新路由传入的数据包。可能会对性能产生影响,因为所有 VLAN 内流量现在都将通过内联设备和路由器发夹。

这应该使所有VLAN 内流量对设备可见。这可能比最初的预期要多一些,所以...

2. PVLAN 边缘、动态 VLAN 分配和循环两个 VLAN

一种完全不同的方法可能是这样的:

  • 在 Switch 上定义两个 VLAN。
  • 让 VLAN“A”成为允许每个人与路由器通信的常规 VLAN。
  • 设 VLAN“B”为特殊 VLAN,其通信必须通过内联设备。
  • VLAN B 的端口应作为 PVLAN 边缘“受保护”端口运行(连接内联设备的端口除外)。
  • 实施将 MAC 地址从给定列表映射到 VLAN B 的解决方案。802.11x、CISCO ISE、MAB 和端口模板可能过于陡峭,难以攀登,但有助于根据需要动态配置端口。
  • 另一种方法可能是(自定义)智能端口宏:https ://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750/software/release/12-2_52_se/configuration/guide/3750scg /swmacro.html#wp1238054有问题的用户定义端口宏不仅应将端口设置为“switchport access vlan B”,还应设置为“switchport protected”。
  • 当然,将(一组)端口静态/手动映射到 VLAN“B”也可以,但不像我假设的那样动态。
  • 在交换机上,将内联设备的面向交换机的端口连接到 VLAN B 的 *non-*protected 端口。
  • 在交换机上,将内联设备的面向路由器的端口连接到 VLAN A 的端口。只要内联设备的交换机端口以“交换机端口模式访问”方式进入不同的 VLAN 并且没有 bpduguard,就不会出现交换环路。

现在,只要具有感兴趣 MAC 地址的主机连接到任何端口,它的交换机端口就会映射到 VLAN B,并且要到达子网上的其他任何人(包括其他感兴趣的 MAC),它必须通过内联设备。MAC 学习和 ARPing 对于所有涉及的系统都应该是“本机”的。

3. 动态 VLAN 分配和自动 SPAN 端口

如果内联设备仅用于分析流量(而不是用于操作或阻止),则自定义智能端口宏(见上文)可能只是运行用户定义的宏,该宏添加了另一行“监控会话 1 源接口 0/Y ",只要在给定端口上发现感兴趣的 MAC 地址。当然,您还需要一个“清理宏”,它在给定交换机端口的“线路协议关闭”之后运行。

4. 动态 VLAN 分配 & SPANning 一个 VLAN

使用 2. 和 3 的混合方法。

端口宏将感兴趣的主机分配给 VLAN B。将 VLAN A 和 VLAN B 都连接到路由器上的一对桥接端口(如上,两个接口和 BVI,或者更好的交换机模块上的两个端口和 SVI)。

将内联设备连接到交换机上的 SPAN 目标端口,并使用 VLAN B 作为 SPAN 源。现在被动的内联设备可以看到 VLAN B 上的任何对话。

干杯马克

一般来说,隔离设备的方法是将其放在自己的 VLAN 上。

如果您需要保持 IP 地址相同,那么您将需要在路由器上使用一些巧妙的技巧。基本上在面向隔离设备的接口上,您需要为所有 IP 执行代理 arp,而在面向网络其余部分的接口上,您需要为隔离设备的 IP 执行代理 arp。