删除从 /etc/network/interfaces (ifupdown) 创建的绑定接口?

iBu*_*Bug 5 linux networking bonding network-interface

我尝试将两个接口绑定为一个,创建了bond0,但发现效果并不令人满意。/etc/network/interfaces然后,我恢复了对和 ran所做的所有更改systemctl restart networking.service,但绑定接口仍然存在(显示在ifconfigip link命令中),我必须运行ip link set bond0 downifconfig bond0 down强制将其踢出。如何在不重新启动服务器的情况下完全删除该接口?

我在 Debian Buster。该文件原本是这样的:

auto eno1
iface eno1 inet static
    # regular network settings like address, netmask, gateway etc.
auto eno2
iface eno2 inet static
    # regular network settings like address, netmask, gateway etc.
Run Code Online (Sandbox Code Playgroud)

我将这两个接口变成了一个键,将其更改为:

auto eno1
iface eno1 inet manual
    bond-master bond0
auto eno2
iface eno2 inet manual
    bond-master bond0

auto bond0
iface bond0 inet static
    # regular network settings like address, netmask, gateway etc.
Run Code Online (Sandbox Code Playgroud)

A.B*_*A.B 3

与大多数其他接口一样,管理绑定接口的现代命令是ip link,这里sysfs一起处理可能无法通过(rt)netlink直接处理的一些事情。在这种情况下:

ip link delete dev bond0
Run Code Online (Sandbox Code Playgroud)

移除绑定时仍处于从属状态的任何接口都将被分离,因此无需先将其分离(使用ip link set DEVICE nomaster)。

执行相同操作的一种sysfs方法是:

echo -bond0 > /sys/class/net/bonding_masters
Run Code Online (Sandbox Code Playgroud)