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

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

我尝试将两个接口绑定为一个,创建了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.

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

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.

答案1

与大多数其他接口一样,管理绑定接口的现代命令是:ip link, 这里随着系统文件系统对于可能没有直接处理的一些事情(rt)网络链接。在这个案例

ip link delete dev bond0

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

一个备用系统文件系统方法做同样的事情是:

echo -bond0 > /sys/class/net/bonding_masters

答案2

ifenslave(8)绑定接口由命令行实用程序管理。

以下是联机帮助页的摘录:

NAME
     ifenslave -- Attach and detach slave network devices to a bonding device.

SYNOPSIS
     ifenslave [-acdfhuvV] [--all-interfaces] [--change-active] [--detach] [--force] [--help] [--usage] [--verbose] [--version] master slave ...

DESCRIPTION
     ifenslave is a tool to attach and detach slave network devices to a bonding device.  A bonding device will act like a normal Ethernet network device to the kernel,
     but will send out the packets via the slave devices using a simple round-robin scheduler.  This allows for simple load-balancing, identical to "channel bonding" or
     "trunking" techniques used in switches.

     The kernel must have support for bonding devices for ifenslave to be useful.

OPTIONS
     -a, --all-interfaces
             Show information about all interfaces.

     -c, --change-active
             Change active slave.

     -d, --detach
             Removes slave interfaces from the bonding device.

免责声明:我没有测试以下内容

要完全删除bond0,我会:

  • ifconfig bond0 down
  • ifenslave -d bond0 eno1
  • ifenslave -d bond0 eno2
  • ̀ rmmod 绑定`

应该够了。

相关内容