在Debian 11/Debian 10上配置网络NIC Teaming
本文介绍如何在Debian 11/Debian 10系统上配置网络NIC Teaming的方法。
在Debian 11/Debian 10上安装Teamd
为了能够配置NIC Teaming,我们需要在Debian 11/Debian 10上安装Teaming守护程序:
sudo apt install teamd
确保已安装Network Manager:
sudo apt-get install network-manager
启动并启用网络管理器:
sudo systemctl start NetworkManager.service
sudo systemctl enable NetworkManager.service
在Debian 11/Debian 10上配置Network NIC Teaming
本指南演示了在Debian 11/Debian 10上配置Network NIC Teaming的两种方法,即使用Network Manager NMCLI及手动方法。
方法1、使用NMCLI配置网络NIC组
使用Network Manager的实用工具,我们可以轻松配置Network NIC Teaming。首先识别网络设备,如下所示:
nmcli device status
输出:
从输出中,我们将使用enp1s0和enp9s0创建一个网络团队。获取有关设备的详细信息:
nmcli connection show
样本输出:
在继续之前,使用提供的UUID断开两个设备:
sudo nmcli connection delete 40a3c011-f9c1-4dfc-b73b-3d80c8e291ac
sudo nmcli connection delete 4c1a8752-53c3-4f0c-933c-95e52b023835
现在验证设备是否已断开:
完成上述配置后,我们可以继续创建一个网络团队(team1),其中包含运行程序(活动备份),如下所示:
sudo nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "activebackup"}}'
创建后,使用以下命令查看团队信息:
$ nmcli connection show team1
connection.id:team1
connection.uuid:71581079-6012-420b-84e2-1ddcb878d88b
connection.stable-id:--
connection.type:team
connection.interface-name:team1
connection.autoconnect:yes
connection.autoconnect-priority:0
connection.autoconnect-retries:-1 (default)
connection.multi-connect:0 (default)
connection.auth-retries:-1
connection.timestamp:0
connection.read-only:no
connection.permissions:--
connection.zone:--
connection.master:--
connection.slave-type:--
connection.autoconnect-slaves:-1 (default)
connection.secondaries:--
继续并配置团队的IP地址、DNS和自动连接,如下所示:
sudo nmcli con mod team1 ipv4.addresses 192.168.205.50/24
sudo nmcli con mod team1 ipv4.gateway 192.168.205.1
sudo nmcli con mod team1 ipv4.dns 8.8.8.8
sudo nmcli con mod team1 +ipv4.dns 8.8.4.4
sudo nmcli con mod team1 ipv4.method manual
sudo nmcli con mod team1 connection.autoconnect yes
然后将两个设备enp1s0和enp9s0作为从属设备添加到上面创建的团队中:
sudo nmcli con add type team-slave con-name team1-slave0 ifname enp1s0 master team1
sudo nmcli con add type team-slave con-name team1-slave1 ifname enp9s0 master team1
验证是否已添加从属设备:
$ nmcli connection show
最后,通过重新启动团队来应用更改:
sudo nmcli connection down team1和sudo nmcliconnection up team1
查看团队的状态:
ip addr show dev team1
输出:
此外,使用teamdctl实用程序,您可以查看团队的状态:
sudo teamdctl team1 state
输出:
从上面的输出中,我们可以确定正在使用的运行程序(活动备份)、团队中的从属服务器以及运行程序中的活动端口(enp1s0)。
1、测试Team功能
现在,我们可以测试活动备份策略是否按预期工作。为此,请断开活动接口,如下所示:
sudo nmcli device disconnect enp1s0
现在检查以查看活动从属设备:
sudo teamdctl team1 state
此输出提升了团队的功能,活动节点已切换到另一个可用接口。
2、删除Team
要删除网络团队,请首先断开该团队:
sudo nmcli connection down team1
现在删除附加的从属设备:
sudo nmcli connection delete team1-slave0 team1-slave1
继续并删除团队:
sudo nmcli connection delete team1
验证团队是否已删除:
$ nmcli connection show
Wired connection 1 560ba0ac-36ac-477d-877a-84cfe96a7a42 ethernet enp10s0
方法2、手动配置网络NIC Teaming
还有一种简化的方法可以通过编辑/etc/network/interfaces上的网络脚本来创建网络连接。
首先,确保bonding module安装在Debian 11/Debian 10上:
sudo apt-get install ifenslave
重新加载模块:
sudo modprobe bonding
将配置加载到内核中,以便系统在引导时自动选择这些配置:
echo 'bonding' | sudo tee -a sudo /etc/modules
现在编辑/etc/network/interfaces如下:
sudo vim /etc/network/interfaces
在文件中,适当地添加Bond名称和从属接口:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# Teaming physical interfaces
auto enp1s0
iface enp1s0 inet manual
auto enp9s0
iface enp9s0 inet manual
##The Bond Configuration##
auto bond0
iface bond0 inet static
address 192.168.205.150
netmask 255.255.255.0
gateway 192.168.205.1
bond-mode 1
bond-primary enp9s0
bond-slaves enp9s0 enp1s0
bond-miimon 100
bond-downdelay 400
bond-updelay 800
保存上面的文件并激活网络Bond:
sudo ifdown enp1s0 enp9s0
sudo ifup bond0
网络连接后,检查其状态:
sudo ifconfig
样本输出:
您还可以获得以下详细的Bond信息:
sudo cat /proc/net/bonding/bond0
样本输出:
至此,我们已经成功地在Debian 11/Debian 10系统上配置了网络NIC Teaming。