我尝试将两个接口绑定为一个,创建了bond0
,但发现效果并不令人满意。然后,我恢复了对/etc/network/interfaces
和 ran所做的所有更改systemctl restart networking.service
,但绑定接口仍然存在(显示在ifconfig
和ip link
命令中),我必须运行ip link set bond0 down
或ifconfig 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 绑定`
应该够了。