如何配置 Linux 盒子转发基于 mac 地址的流量?

如何配置 Linux 盒子转发基于 mac 地址的流量?

我使用以下命令将 Linux 盒子配置为交换机模式:

ip link add name switch type bridge
ifconfig switch 192.168.1.2
ip link set switch up
ip link set swp0 master switch && ip link set swp0 up
ip link set swp1 master switch && ip link set swp1 up
ip link set swp2 master switch && ip link set swp2 up
ip link set swp3 master switch && ip link set swp3 up

我使用route命令来配置这个 linux 机器的路由表,例如 route add -host 192.168.1.11 dev swp0.但route命令只能进行L3路由。如何配置L2路由?具体来说,如何配置此 Linux 盒子通过 mac 表转发帧,该表具有到出口端口的 mac。

答案1

如何配置L2路由?

不存在“L2 路由”。路由(查找不在您附近的数据包的目的地)仅发生在 L3 上。

如何配置此 Linux 盒子通过 mac 表转发帧,该表具有到出口端口的 mac。

如果您的意思是“如何确保网桥仅在知道目标 MAC 地址位于该端口后面的单个端口上发送数据包”,那么这种情况会自动发生:网桥保留它所看到的所有 MAC 地址的列表与端口一起使用,并且尽可能只使用一个端口。但是,它仍然会在所有端口上发送未知 MAC 地址的数据包。当条目变得太旧时,它还会从该列表中删除它们。man brctl详细信息请参见例如。

您通常不会手动触及此内部列表,因为与路由信息不同,它可以仅从本地可获得的信息中推断出来。

相关内容