使用 systemd-networkd 在绑定接口上进行桥接

使用 systemd-networkd 在绑定接口上进行桥接

所以我最近将我的服务器从使用旧 ifupdown 样式配置的基于 Debian 的发行版更改为 systemd-networkd。

我想要的是,我的两个主要接口,绑定在一起,然后有一个桥连接到该绑定接口。

桥上将有一个用于服务器的接口,在下面的示例中为bridge0.2。目的是主机可以与在 上运行的客户机进行通信bridge0。虚拟机和容器可能连接到bridge0。它们可能位于它们选择的任何 VLAN 上。

这样我就有了以下配置:

/etc/网络/接口

auto lo
iface lo inet loopback

iface eth0 inet manual
iface eth1 inet manual

auto bond0
iface bond0 inet manual
  bond-slaves eth0 eth1
  bond-mode 802.3ad
  bond-xmit-hash-policy layer2+3

auto bridge0
iface bridge0 inet manual
  bridge-ports bond0
  bridge-stp off
  bridge-fd 0
  bridge-vlan-aware yes
  bridge-vids 2-4094

auto bridge0.2
iface bridge0.2 inet static
  address 192.168.2.253/24
  gateway 192.168.2.1

我尝试使用 systemd-networkd 重复同样的操作。我可以在绑定接口上启动 VLAN 2,但似乎无法启动桥接上的 VLAN。

如果我DHCP=truebridge0接口上执行此操作,我可以通过获取地址VLAN=1。这让我认为 VLAN 退出桥接时存在一些问题。

我已经尝试过太长了让它工作,我真的不知道该尝试什么其他组合。这是我有的:

10-所有网卡到bond0.network

[Match]
Name=eno1 eno2
Type=ether

[Network]
Bond=bond0

20-bond0.netdev

[NetDev]
Name=bond0
Kind=bond

[Bond]
Mode=802.3ad
MIIMonitorSec=1s
LACPTransmitRate=fast
UpDelaySec=2s
DownDelay=8s
TransmitHashPolicy=layer2+3

20-bond0.网络

[Match]
Name=bond0

[Network]
BindCarrier=eno1 eno2
Description=Unconfigured bond interface
Bridge=bridge0

30-bridge0.netdev

[NetDev]
Name=bridge0
Kind=bridge

[Bridge]
VLANFiltering=false
STP=false

30-bridge0.网络

[Match]
Name=bridge0

[Network]
VLAN=vlan2

[BridgeVLAN]
VLAN=2-4094

40-vlan2.netdev

[NetDev]
Name=vlan2
Kind=vlan

[VLAN]
Id=2

40-vlan2.网络

[Match]
Name=vlan2

[Network]
Description=VLAN for direct access to gateway
DHCP=true

#[Address]
#Address=192.168.253/24
#DNS=192.168.2.1

#[Route]
#Gateway=192.168.2.1

答案1

我想我已经让它工作了,正是VLANFiltering=true它导致了问题,将其更改为 false 允许我退出 VLAN2 上的桥。

相关内容