linux 如何通过/etc/network/interfaces获得网桥支持?

pw9qyyiw  于 2023-05-06  发布在  Linux
关注(0)|答案(2)|浏览(242)

在一些linux发行版中,可以在/etc/network/interfaces中配置网桥。如这里的例子所解释的,使用它来形成一个桥就足够了:

iface eth0 inet manual
iface eth1 inet manual
iface br0 inet dhcp
    bridge_ports eth0 eth1

我正在使用yocto构建一个自定义linux镜像。在我看来,这是行不通的。Yocto版本是morty,已经3岁了。
那么,我需要做些什么来获得这个功能呢?获取ifupdown包的更新版本(我假设这个包提供了这个功能)就足够了吗?
我安装了bridge-utils包,可以使用brctl添加一个桥,如下所述:

brctl addbr br0
brctl addif br0 eth0 eth1

但我不想手动操作。我想通过修改/etc/network/interfaces来实现这一点,因为这样的话,在重新启动之间会保存更改。

cigdeys3

cigdeys31#

您使用systemd吗?
如果是,尝试bbappend systemd-machine-units,例如:

FILESEXTRAPATHS_prepend := "${THISDIR}/systemd-machine-units:"
SRC_URI += " \
    file://10-eth0.network \
    file://10-eth1.network \
"

do_install_append() {
  for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.network); do
    install -m 0644 "$file" ${D}${systemd_unitdir}/network/
  done
}
798qvoo8

798qvoo82#

在接口脚本中配置网桥需要interfaces-bridge -“接口的网桥扩展”。扩展需要***ifupdown-ng***recipe。Ifupdown不足以处理网桥设置。
如果没有ifupdown-ng,你可以使用pre-和post-命令:

iface br0 inet manual
    up ifconfig $IFACE
    down ifconfig $IFACE
    pre-up brctl addbr $IFACE
    pre-up brctl addif $IFACE eth0 eth1
    post-down brctl delbr $IFACE

如果你提供了地址和掩码,你应该将其设置为静态而不是手动

相关问题