![如何让 systemd-udevd 在启动时创建桥接设备?](https://linux22.com/image/69405/%E5%A6%82%E4%BD%95%E8%AE%A9%20systemd-udevd%20%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E5%88%9B%E5%BB%BA%E6%A1%A5%E6%8E%A5%E8%AE%BE%E5%A4%87%EF%BC%9F.png)
我在虚拟机中运行 Ubuntu 服务器 15.04。我能够使用该brctl
程序创建和操作网络桥。我决定通过更新我的来保留设置(通过重新启动),/etc/network/interfaces
如下所示:
auto m-br0
iface m-br0 inet static
bridge_stp 0ff
bridge_maxwait 0
bridge_fd 0
address 10.0.0.1
network 10.0.0.0
broadcast 10.0.0.255
但是,当虚拟机恢复时,桥接器不存在。检查journalctl
显示如下:
Jul 21 20:44:16 Net systemd[1]: Starting LSB: Raise network interfaces....
Jul 21 20:44:16 Net networking[381]: * Configuring network interfaces...
Jul 21 20:44:16 Net networking[381]: Cannot find device "m-br0"
Jul 21 20:44:16 Net networking[381]: Failed to bring up m-br0.
Jul 21 20:44:16 Net networking[381]: ...done.
Jul 21 20:44:16 Net systemd[1]: Started LSB: Raise network interfaces...
我希望桥的创建将由所利用的底层框架来完成brctl
,因为我能够用它来完成所有桥的创建和配置。但是,我不认为该设施(即systemd-udevd
)正在被调用,并且无法弄清楚如何让它为我的网桥创建设备。我应该.device
为我的桥创建单元文件吗?我应该将它放在启动过程中的哪个位置? (我在我的系统上找不到示例.device
单元文件,无法让我了解如何进行操作)
有人可以给我一些指示吗?提前致谢。
答案1
对于使用 进行桥接创建ifupdown
,您通常应该使用 指定底层设备bridge_ports
。是什么bridge_stp 0ff
???
工作配置如下:
auto m-br0
iface m-br0 inet static
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 10.0.0.1
network 10.0.0.0
broadcast 10.0.0.255