Sådan konfigureres netværksbinding eller teaming i Ubuntu


Network Interface Bonding er en mekanisme, der bruges i Linux-servere, som består i at binde flere fysiske netværksgrænseflader for at give mere båndbredde, end en enkelt grænseflade kan give eller give linkredundans i tilfælde af kabelfejl. Denne type linkredundans har flere navne i Linux, såsom Bonding, Teaming eller Link Aggregation Groups (LAG).

For at bruge netværksbindingsmekanisme i Ubuntu- eller Debian-baserede Linux-systemer skal du først installere bindingskernemodulet og teste, om bindingsdriveren er indlæst via modprobe-kommando.

$ sudo modprobe bonding

På ældre udgivelser af Debian eller Ubuntu skal du installere ifenslave-pakken ved at udstede nedenstående kommando.

$ sudo apt-get install ifenslave

For at oprette en obligationsgrænseflade, der består af de første to fysiske NC'er i dit system, skal du udstede kommandoen nedenfor. Denne metode til oprettelse af obligationsgrænseflade er imidlertid kortvarig og overlever ikke systemgenstart.

$ sudo ip link add bond0 type bond mode 802.3ad
$ sudo ip link set eth0 master bond0
$ sudo ip link set eth1 master bond0

For at oprette en permanent obligationsgrænseflade i type 0-type skal du bruge metoden til manuelt at redigere grænseflades konfigurationsfil, som vist i nedenstående uddrag.

$ sudo nano /etc/network/interfaces
# The primary network interface
auto bond0
iface bond0 inet static
	address 192.168.1.150
	netmask 255.255.255.0	
	gateway 192.168.1.1
	dns-nameservers 192.168.1.1 8.8.8.8
	dns-search domain.local
		slaves eth0 eth1
		bond_mode 0
		bond-miimon 100
		bond_downdelay 200
		bond_updelay 200

For at aktivere obligationsgrænsefladen skal du enten genstarte netværkstjenesten, bringe den fysiske grænseflade ned og hæve obligationsgrænsefladen eller genstarte maskinen for at kernen kan afhente den nye bondgrænseflade.

$ sudo systemctl restart networking.service
or
$ sudo ifdown eth0 && ifdown eth1 && ifup bond0

Indstillingerne for obligationsgrænsefladen kan inspiceres ved at udstede nedenstående kommandoer.

$ ifconfig 
or 
$ ip a

Detaljer om obligationsgrænsefladen kan fås ved at vise indholdet af nedenstående kernefil ved hjælp af cat-kommandoen som vist.

$ cat /proc/net/bonding/bond0

Udfør nedenstående kommandoer for at undersøge andre obligationsinterfacemeddelelser eller for at fejle tilstanden for obligationens fysiske NICS.

$ tail -f /var/log/messages

Brug derefter mii-tool-værktøjet til at kontrollere Network Interface Controller (NIC) -parametre som vist.

$ mii-tool

Typerne af netværksobligationer er anført nedenfor.

  • -tilstand = 0 (balance-rr)
  • -tilstand = 1 (aktiv backup)
  • mode = 2 (balance-xor)
  • -tilstand = 3 (udsendelse)
  • -tilstand = 4 (802.3ad)
  • -tilstand = 5 (balance-tlb)
  • -tilstand = 6 (balance-alb)

De fulde dokumentationer vedrørende NIC-binding kan findes på Linux kernel doc-sider.