链路层复用加上ebtables的broute会取消掉链路层(以太网链路层)本有的MAC地址比对机制,从而产生duplicate数据包。数据包会被复制两份到达目的地,在一些严防重放的环境中,将造成网络不可用。这两份数据包为:
1.发往网关由网关转发到达目标的数据包,该数据包为正常的。
2.由于源和目标处在同一链路层,在HUB环境或者交换机的MAC-端口映射表过期的情况下,本来发往网关的数据包将复制一份发往目标。

如果没有ebtables的broute规则,复制的包即使到达目标由于MAC地址不对也会被丢弃或者桥接转发,然而broute规则将其接收到了IP层。

由此一来,双份的数据包就这样生成了。网络拓扑如下:


当心-链路层复用加ebtables的broute的恶果_网络技术


以上的问题在部署单臂路由器的情形下比较常见。单臂路由器很容易遇到链路层复用导致的问题。