有没有工具可以在Linux中定义类似于基于策略的路由,但在Layer2级别? 常用的Linux网桥使用目标MAC来决定将帧发送到哪个接口。 这种行为可以改变吗?
假设我们有一台带有多个接口的机器 – 物理的,虚拟的,带有VLAN标签的子接口等。一个帧到达其中一个接口。 根据帧中的VLAN标记,源MAC地址,源接口,802.1p优先级等参数,我们可以决定将帧传送到哪个出接口?
听起来你正在寻找ebtables
ebtables程序是基于Linux桥接防火墙的过滤工具。 它可以对通过Linux网桥的networkingstream量进行透明过滤。 过滤的可能性仅限于链路层过滤和高层networking上的一些基本过滤。 先进的日志logging,MAC DNAT / SNAT和brouterfunction也包括在内。
ebtables工具可以和其他的Linux过滤工具(iptables,ip6tables和arptables)结合起来,构成一个桥接防火墙,也可以过滤这些更高的networking层。 这是通过作为标准Linux内核的一部分的bridge-netfilter体系结构启用的。