NIC Teaming/Bonding/LACP

on the windows server side:

sever manager > local server
top pain, left side > nic teaming > enabled
add the nics you wish to bond
bottom right corner > tasks > add team
name your team

once applied, you will lose internet connect and gain a new IP. if you are doing this via RDP, use angry IP scanner or similar tools to find your server, RDP back in, and assign a static IP

After you complete the switch configuration, if the ports on the switch go amber, you lose connection to the server, and you see suspended ports in the logs or interface status of the switch, it is likely that windows has set the LACP bond back to “switch dependent”. Windows be dumb yo. Change it back to LACP under the server config, local, nic teaming, team1 properties.

if you ware not running a server edition of windows, I've found this powershell script works as well:

 New-NetSwitchTeam -Name "SwitchTeam01" -TeamMembers "Ethernet","Ethernet 2", "Ethernet 3", "Ethernet 4" 

run it from an elevated powershell prompt and replace the team name with your desired one, and ethernet 1-4 with your NIC names.

If you have at least one intel NIC , there is yet, another way LACP/nic teaming can be done.

ref: https://www.intel.com/content/www/us/en/support/articles/000005667/ethernet-products.html

install the intel pro set drivers, and make sure to check 'advanced network services'. once installed, open the intel pro set advanced configuration utility, and nic teaming should be available via GUI

if you have a linux server instead:

reference: https://help.ubuntu.com/community/UbuntuBonding

install the prerequisite packages (this assumes ubuntu, debian, or similar distros):

sudo apt-get install ifenslave

verify the module is loaded:

sudo nano /etc/modules

stop the network

sudo stop networking

load the bonding kernel module:

sudo modprobe bonding

configure your interfaces for the bond/team:

sudo nano /etc/network/interfaces

LACP bond example

# eth0 is manually configured, and slave to the "bond0" bonded NIC
auto eth0
iface eth0 inet manual
    bond-master bond0

# eth1 ditto, thus creating a 2-link bond.
auto eth1
iface eth1 inet manual
    bond-master bond0

# bond0 is the bonded NIC and can be used like any other normal NIC.
# bond0 is configured using static network information.
auto bond0
iface bond0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0

    # bond0 uses standard IEEE 802.3ad LACP bonding protocol
    bond-mode 4
    bond-miimon 100
    bond-lacp-rate 1
    bond-slaves eth0 eth1
    
    

restart the network

sudo start networking

verify the bond

 cat /proc/net/bonding/bond0

brining the bond up or down:

ifup bond0
ifdown bond0

another config example with more NICs:

root@Violet-Nas-01:/tmp# cat /etc/network/interfaces
# 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

#LACP config

# eth0 is manually configured, and slave to the "bond0" bonded NIC
auto enp5s0
iface enp5s0 inet manual
    bond-master bond0

# eth1 ditto, thus creating a 2-link bond.
auto enp6s0
iface enp6s0 inet manual
    bond-master bond0

# eth2 ditto, thus creating a 3-link bond.
auto enp7s0
iface enp7s0 inet manual
    bond-master bond0

# eth3 ditto, thus creating a 4-link bond.
auto enx000ec6a3f30f
iface enx000ec6a3f30f inet manual
    bond-master bond0



# bond0 is the bonded NIC and can be used like any other normal NIC.
# bond0 is configured using static network information.
auto bond0
iface bond0 inet static
    address 192.168.1.38
    netmask 255.255.255.0
    network 192.168.1.0
    gateway 192.168.1.1
    broadcast 192.168.1.255
    dns-nameservers 192.168.1.33 208.67.222.222

# bond0 uses standard IEEE 802.3ad LACP bonding protocol
    bond-mode 4
    bond-miimon 100
    bond-lacp-rate 1
    bond-slaves enp5s0 enp6s0 enp7s0 enx000ec6a3f30f
    bond-downdelay 200
    bond-updelay 200
    bond-xmit_hash_policy 1
root@Violet-Nas-01:/tmp#

on the switch side:

cisco configurations for port channel. change your channel number, interface range, vlan, and description to suit your deployment. if you are instead using a trunk port, remove the spanning tree line and vlan, and designate trunk.

conf t
interface port-channel 5
interface rang gi1/0/36-39
channel-group 5 mode active
spanning-tree portfast
switchport access vlan 100
description sv3-hp
no shut
end

verify:

show etherchannel summary

Discussion

Enter your comment. Wiki syntax is allowed:
 
Last modified: le 2022/01/20 14:08