介绍
DSA 代表分布式交换机架构,是用于网络交换机的 Linux 内核子系统。它是 OpenWrt 的 swconfig 框架的上游替代品,许多新路由器使用 DSA 驱动程序而不是 swconfig 驱动程序。
在 DSA 中,每个交换机端口都是一个单独的 Linux 接口。这意味着ip/ifconfig命令将显示接口等lan1,lan2,wan等。
DSA 交换机端口可以用作独立接口(WAN 的通用解决方案),也可以使用 Linux 桥接接口进行桥接。在后一种情况下,交换机仍然能够在硬件级别路由流量,因此不会影响性能。
每个端口最多只能是一个网桥的一部分。
简单的端口桥接
在最简单的情况下,交换机端口使用 Linux 桥接接口进行桥接,OpenWrt 使用 IP 协议配置该接口。
在这种情况下,连接到桥接端口的所有设备都可以相互通信,也可以与路由器本身通信。
例子:
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask'255.255.255.0'
多个网络(使用网桥)
通过使用多个桥接接口,可以将交换机设置为将选定的端口分组到单独的网络中。使用分离的防火墙区域,连接到不同端口组的设备将无法相互通信。
例子:
config device
option name 'br-home'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
config device
option name 'office'
option type 'bridge'
list ports 'lan3'
list ports 'lan4'
config interface 'home'
option device 'br-home'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask'255.255.255.0'
config interface 'office'
option device 'office'
option proto 'static'
option ipaddr '192.168.13.1'
option netmask'255.255.255.0'
多个网络(使用 VLAN)
还可以使用具有多个 VLAN 的单个网桥来分隔(分组)端口。这需要将接口分配给正确的软件 VLAN。
例子:
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config bridge-vlan
option device 'br-lan'
option vlan '1'
list ports 'lan1'
list ports 'lan2'
config bridge-vlan
option device 'br-lan'
option vlan '2'
list ports 'lan3'
list ports 'lan4'
config interface 'home'
option device 'br-lan.1'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask'255.255.255.0'
config interface 'office'
option device 'br-lan.2'
option proto 'static'
option ipaddr '192.168.13.1'
option netmask'255.255.255.0'
VLAN 标记的流量
通过正确的桥接 VLAN 配置,选定端口也可以使用 VLAN 标记的流量。它还需要将 OpenWrt 接口分配给正确的软件 VLAN。
例子:
端口lan4使用 VLAN 1 的标记数据包并具有 PVID 2。
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
config bridge-vlan
option device 'br-lan'
option vlan '1'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4:t'
config bridge-vlan
option device 'br-lan'
option vlan '2'
list ports 'lan4:u*'
config interface 'lan'
option device 'br-lan.1'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask'255.255.255.0'