带有 netplan 的桥接器失败,接口启动缓慢

带有 netplan 的桥接器失败,接口启动缓慢

我的家庭服务器使用 enp7s0 连接到互联网,并通过 3 个设备共享互联网,enp2s0(以太网到交换机)、enp3s0(以太网到提供访客网络的路由器)和 wlxe0e1a935d56d(用于家庭网络的快速 USB 无线加密狗)。我希望 USB 无线和 enp2s0 位于同一个网桥中,以便设备可以互相看到。

这是我的 netplan yaml 文件:

network:
  ethernets:
    enp2s0:
      optional: true
    enp3s0:
      addresses: [192.168.1.1/24]
      optional: true
    enp7s0:
      dhcp4: true
    wlxe0e1a935d56d:
      dhcp4: no
  bridges:
    br0:
      interfaces:
        - enp2s0
        - wlxe0e1a935d56d
      addresses: [192.168.0.1/24]
  version: 2

问题是启动时会卡在“等待网络配置”两分钟,之后机器启动时 br0 中只有 enp2s0。我可以通过用 将 wlxe0... 添加到网桥来修复此时的网络brctl addif。如果我在以太网下将行添加optional: true到 wlxe0...,启动卡住问题就会消失,但 br0 仍然只会获得 enp2s0。

我认为问题可能是 USB 棒需要相当长的时间才能准备好,比机器等待的时间还要长。是否可以设置 netplan,以便它在实际启动时添加到网桥中?

我刚刚意识到我有日志。(呃)。在其中,我发现了这行令人振奋的文字,wlxe0e1a935d56d: Failed to set master interface: Device does not allow enslaving to a bridge. Operation not supported它解释了为什么接口在启动期间没有加入桥接,但是为什么它可以在启动后手动添加到桥接中?

答案1

我不确定,但我认为问题是 hostapd 对接口做了一些神奇的事情,使其能够加入网桥。我无法在联网之前移动 hostapd,所以我只添加了一个一次性的 systemd 单元,它将接口添加到网桥,该单元被定义为在 hostapd 之后运行。

我对这个解决方案并不是很满意,但它现在仍然有效。

相关内容