Spojování síťových rozhraní je mechanismus používaný servery Linux, který zahrnuje propojení několika fyzických rozhraní do jednoho virtuálního, což umožňuje větší propustnost nebo odolnost proti chybám v případě selhání kabelu. V této příručce se podíváme na implementaci sloučení rozhraní v Linuxu pro Ubuntu/Debian a CentOS/RHEL/Fedora.

Agregace síťového rozhraní v Ubuntu a Debianu

Důležité! Pokud používáte Ubuntu verze 17.10 a vyšší, musíte nainstalovat balíček ifupdown nebo nakonfigurovat agregaci kanálů přes netplan

Nejprve musíte nainstalovat modul jádra pro podporu sloučení a použití příkazu modprobe zkontrolujte, zda je načten ovladač.

$ sudo modprobe bonding

Starší verze Debianu nebo Ubuntu mohou vyžadovat instalaci balíčku ifenslave:

$ sudo apt-get install ifenslave

Chcete-li vytvořit spojené rozhraní ze dvou fyzických síťových karet ve vašem systému, spusťte následující příkaz. Bohužel při použití této metody sloučení rozhraní po restartu systému nepřetrvá:

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

Chcete-li vytvořit trvalé přidružené rozhraní typu režim 0 (těmto typům se budeme podrobněji věnovat níže), musíte upravit konfigurační soubory síťového rozhraní. Pomocí libovolného textového editoru, jako je nano, otevřete soubor /etc/network/interfaces, jak je znázorněno na následujícím úryvku (nahraďte IP adresu, masku podsítě, bránu a servery DNS těmi, které se používají ve vaší síti).

$ sudo nano /etc/network/interfaces # Primární síťové rozhraní auto bond0 iface bond0 inet statický adresu 192.168.1.150 netmask 255.255.255.0 brána 192.168.1.1 dns-nameservery 192.168.1.1 8.8.8.8 DNS-search domain.local otroci eth0 eth1 bond_mode 0 bond-miimon 100 bond_downdelay 200 bound_updelay 200

Chcete-li povolit federované rozhraní, restartujte síťovou službu, zakažte fyzická rozhraní a povolte federované rozhraní nebo restartujte počítač, aby jádro definovalo nové federované rozhraní.

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

Nastavení souvisejícího rozhraní lze zkontrolovat pomocí následujících příkazů:

$ ifconfig
$ ip adresa

Podrobné informace o jednotném rozhraní lze získat zobrazením obsahu následujícího souboru jádra pomocí příkazu cat:

$ cat /proc/net/bonding/bond0

K ladění chyb můžete použít příkaz tail

$ tail -f /var/log/messages

Parametry síťové karty můžete zkontrolovat pomocí nástroje mii-tool:

$ mii-tool

Provozní režimy

režim=0 (zůstatek-rr)
Při této metodě agregace je provoz distribuován na principu „kolotoče“: pakety jsou postupně odesílány na síťové karty konsolidovaného rozhraní. Například, pokud máme fyzická rozhraní eth0, eth1 a eth2 spojená do bond0, první paket bude odeslán přes eth0, druhý přes eth1, třetí přes eth2 a čtvrtý znovu přes eth0 atd.

ČTĚTE VÍCE
Co byste neměli dělat po tréninku, abyste zhubli?

režim=1 (aktivní záloha)
Při použití této metody je aktivní pouze jedno fyzické rozhraní a ostatní fungují jako zálohy v případě selhání primárního.

režim=2 (bilance-xor)
V tomto případě agregované rozhraní určuje, přes kterou fyzickou síťovou kartu se budou odesílat pakety, v závislosti na zdrojové a cílové MAC adrese.

režim=3 (broadcast) Režim vysílání, všechny pakety jsou odesílány přes každé rozhraní. Má omezené použití, ale poskytuje významnou odolnost proti chybám.

režim=4 (802.3ad)
Speciální režim sjednocení. Vyžaduje speciální konfiguraci přepínače, ke kterému je jednotné rozhraní připojeno. Implementuje standardy agregace linek IEEE a poskytuje zvýšenou propustnost a odolnost proti chybám.

režim=5 (zůstatek-tlb)
Rozložení zátěže při přenosu. Příchozí provoz je zpracováván jako obvykle a během přenosu je rozhraní určeno na základě dat o zatížení.

režim=6 (bilance-alb)
Adaptivní rozložení zátěže. Podobně jako v předchozím režimu, ale se schopností také vyrovnávat příchozí zátěž.

Konsolidace síťového rozhraní v CentOS, RHEL a Fedora

Vytvořte nový soubor bonding.conf v adresáři /etc/modprobe.d/. Název může být jakýkoli, ale přípona musí být .conf. Do tohoto souboru vložte následující řádek:

alias bond0 bonding

Tento řádek v souboru /etc/modprobe.d/bonding.conf je vyžadován pro každé rozhraní vazby.
Chcete-li agregovat rozhraní, vytvořte konfigurační soubor s názvem ifcfg-bond0. Zde je příklad obsahu konfiguračního souboru (IP adresy ve vašem systému se mohou lišit):

DEVICE=bond0 IPADDR=192.168.1.8 NETMASK=255.255.255.0 ONBOOT=ano BOOTPROTO=none USERCTL=ne

Po vytvoření jednotného rozhraní je potřeba jej nakonfigurovat a k němu přidružené síťové karty přidáním direktiv do konfiguračních souborů MISTR и OTROK. Pro všechna související rozhraní mohou být tyto soubory téměř stejné. Například pro dvě rozhraní eth0 a eth1 spojená do jednoho mohou vypadat takto. Upravte je, jak je uvedeno níže.
Pro eth0

DEVICE=eth0 USERCTL=ne ONBOOT=ano MASTER=bond0 SLAVE=ano BOOTPROTO=žádný
DEVICE=eth1 USERCTL=ne ONBOOT=ano MASTER=bond0 SLAVE=ano BOOTPROTO=žádný

Význam těchto směrnic je následující:
PŘÍSTROJ: Definuje název zařízení
USERCTL: určuje, zda uživatel může ovládat rozhraní (v tomto případě ne)
ONBOOT: určuje, zda povolit rozhraní při spouštění
MISTR: má toto zařízení hlavní rozhraní (zde je to bond0)
OTROK: Funguje toto zařízení jako otrok?
BOOTPROTO: Určuje, jak získat IP adresu přes DHCP. U statické adresy IP je hodnota nastavena na hodnotu none

Restartujte síťovou službu a zkontrolujte konfiguraci pomocí příkazu ifconfig.

# systemctl restart sítě # ifconfig

Závěr

Sloučení síťových rozhraní je pohodlný a funkční mechanismus pro zajištění kvalitního a nepřerušovaného provozu vaší sítě. Doufáme, že vám tento průvodce pomohl. Podrobnější informace o použitých příkazech lze nalézt v příslušných manuálových stránkách.

ČTĚTE VÍCE
Jakou sílu by měla mít kulma na vlasy?

Pokud najdete chybu, vyberte část textu a stiskněte Ctrl + Enter.

Související příspěvky:

  1. nastavení serveru, který bude odpovídat za internetový provoz přes netflow
  2. Jak spustit program na pozadí, aniž byste byli vázáni na terminál
  3. Instalace certifikátu SSL na nginx
  4. Proměnné prostředí v Linuxu

Agregace kanálů (bonding) – technologie pro kombinaci několika paralelních kanálů přenosu dat v sítích Ethernet. Tato možnost pomůže vyrovnat zátěž na dedikovaném serveru a zvýšit odolnost proti chybám.

Konfigurujeme agregaci odkazů pomocí standardního protokolu LACP. Služba je placená; aktuální náklady lze upřesnit kontaktováním obchodního oddělení e-mailem na adrese sales@edgecenter.ru.

Chcete-li službu aktivovat, dokončete nastavení, jak je popsáno níže, a poté kontaktujte naše oddělení technické podpory.

  • Příklad nastavení pro Ubuntu 20.04
  • Příklad nastavení pro Debian 11
  • Příklad nastavení pro CentOS 7
  • Příklad nastavení pro Windows Server 2019

Předpoklady

Před nastavením agregace odkazů:

    Ujistěte se, že znáte IP adresu svého serveru, IP adresu brány a masku podsítě – tyto informace budou potřebné pro konfiguraci síťových rozhraní.

IP adresu vašeho serveru a síť, do které patří, najdete v Ovládacích panelech. Chcete-li to provést, v sekci Produkty a služby → Dedikované servery vyberte požadovaný server a klikněte IP adresy.

Najděte aktivní IP adresu serveru a poznamenejte si údaje ze sloupců „IP Address“, „Mask“ a „Gateway“.

objednat a zaplatit za službu Agregace kanálů.

V sekci Produkty a služby → Agregace kanálů lis na objednávku a zaplatit za službu.

Nastavení na serveru

Po objednání služby se musíte připojit k serveru a nakonfigurovat síťová rozhraní, jak je popsáno níže.

Příklad nastavení pro Ubuntu 20.04

1. Aktualizujte všechny balíčky Ubuntu.

Sudo apt-get update

2. Nainstalujte balíček ifenslave.

Sudo apt-get install ifenslave

3. Pomocí příkazu modprobe načtěte spojovací modul.

Spojení sudo modprobe

Poté můžete spustit příkaz lsmod | lepení grep. Pokud je modul načten, obdržíte vzorovou odpověď, která je zobrazena níže.

lepení 147456 0

4. Zobrazte informace o dostupných rozhraních.

ip addr show

Příklad odpovědi je uveden níže.

1: lo: . . 2: eno1: . . 3: eno2: . .

V tomto případě jsou fyzická rozhraní pojmenována eno1 a eno2. Tato jména si zapamatujte – bude nutné je zadat v /etc/network/interfaces.

5. Upravte nastavení síťového rozhraní. Chcete-li to provést, otevřete soubor /etc/network/interfaces pomocí editoru nano.

nano /etc/network/interfaces

Nahraďte obsah souboru následujícím a uložte změny.

auto eno1 iface eno1 inet manuální bond-master bond0 bond-primary eno1 bond-mode 4 auto eno2 iface eno2 inet manuální bond-master bond0 bond-mode 4 auto bond0 iface bond0 inet statická adresa xxxx síťová maska ​​yyyy síť xxx0 brána zzzz bond-slaves eno1 eno2 bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-lacp-rate 1 dns-nameservery 8.8.8.8 dns-search com
  • místo eno1 a eno2 vložte názvy rozhraní na vašem serveru;
  • místo xxxx vložte IP adresu vašeho serveru;
  • místo yyyy vložte masku podsítě;
  • do xxx0 místo xxx vložte první tři čísla z IP adresy serveru;
  • Místo zzzz vložte IP adresu brány;
  • hodnoty parametrů dluhopis-primární, bond-miimon, zpoždění při sestupu vazby, bond-lacp-rate, dns-nameservery и dns-search jsou uvedeny jako příklad – můžete si nastavit vlastní hodnoty.
ČTĚTE VÍCE
Mohu použít mixér k mixování v kovové nádobě?

6. Restartujte síť, aby se změny projevily.

/ Etc / init.d / networking restart

Pokud po provedení těchto kroků nejsou rozhraní sloučena, restartujte operační systém.

restart

Stav sloučených rozhraní lze zkontrolovat, jak je uvedeno níže.

cat /proc/net/bonding/bond0

Příklad odpovědi je uveden níže.

Ethernet Channel Bonding Driver: v3.1.1 (26. září 2006) Bonding Mode: IEEE 802.3ad Dynamická linková agregace Zásady přenosu hash: vrstva2 (0) MII Stav: up MII Interval dotazování (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info Míra LACP: 1 Informace o aktivním agregátoru: ID agregátoru: 1 Číslo portů: 2 Klíč aktéra: 17 Klíč partnera: 1 Adresa Mac partnera: 00:77:54:71:a8:6f Slave Rozhraní: eno1 MII Stav: nahoru Počet selhání spojení: 0 Trvalá HW adresa: 00:99:97: 60:9d:48 ID agregátoru: 1 Slave rozhraní: eno2 MII Stav: nahoru Počet selhání odkazu: 0 Stálá HW adresa: 00:00:85:60:9d:49 ID agregátoru: 1​

Příklad nastavení pro Debian 11

1. Aktualizujte všechny balíčky Debianu.

Apt-get update

2. Nainstalujte balíček ifenslave.

Instalace apt-get ifenslave

3. Pomocí příkazu modprobe načtěte spojovací modul.

Modprobe lepení

Poté můžete spustit příkaz lsmod | lepení grep. Pokud je modul načten, obdržíte vzorovou odpověď, která je zobrazena níže.

lepení 147456 0

4. Zobrazte informace o dostupných rozhraních.

ip addr show

Příklad odpovědi je uveden níže.

1: lo: . . 2: eth0: . . 3: eth1: . .

V tomto případě jsou fyzická rozhraní pojmenována eth0 a eth1. Tato jména si zapamatujte – bude nutné je zadat v /etc/network/interfaces.

5. Upravte nastavení síťového rozhraní. Chcete-li to provést, otevřete soubor /etc/network/interfaces pomocí editoru nano.

nano /etc/network/interfaces

Nahraďte obsah souboru následujícím a uložte změny.

zdroj /etc/network/interfaces.d/* auto lo iface lo inet zpětná smyčka auto eth0 iface eth0 inet manuální bond-master bond0 bond-primary eth0 bond-mode 4 auto eth1 iface eth1 inet manuální bond-master bond0 bond-mode 4 auto bond0 iface bond0 inet statická adresa xxxx síťová maska ​​yyyy síť xxx0 brána zzzz bond-slaves eth0 eth1 bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-lacp-rate 1 dns-nameservery 8.8.8.8 dns-search
  • místo eth0 a eth1 vložte názvy rozhraní na vašem serveru;
  • místo xxxx vložte IP adresu vašeho serveru;
  • místo yyyy vložte masku podsítě;
  • do xxx0 místo xxx vložte první tři čísla z IP adresy serveru;
  • místo zzzz vložte IP adresu brány;
  • hodnoty parametrů dluhopis-primární, bond-miimon, zpoždění při sestupu vazby, bond-lacp-rate, dns-nameservery и dns-search jsou uvedeny jako příklad – můžete si nastavit vlastní hodnoty.
ČTĚTE VÍCE
Proč mám vždy čelo mastné?

6. Restartujte síť, aby se změny projevily.

/ Etc / init.d / networking restart

Pokud po provedení těchto kroků nejsou rozhraní sloučena, restartujte operační systém.

restart

Stav sloučených rozhraní lze zkontrolovat, jak je uvedeno níže.

cat /proc/net/bonding/bond0

Příklad odpovědi je uveden níže.

Ethernet Channel Bonding Driver: v3.1.1 (26. září 2006) Bonding Mode: IEEE 802.3ad Dynamická linková agregace Zásady přenosu hash: vrstva2 (0) MII Stav: up MII Interval dotazování (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info Míra LACP: 1 Informace o aktivním agregátoru: ID agregátoru: 1 Číslo portů: 2 Klíč aktéra: 17 Klíč partnera: 1 Adresa Mac partnera: 00:77:54:71:a8:6f Slave Rozhraní: eth0 Stav MII: nahoru Počet selhání odkazu: 0 Trvalá HW adresa: 00:99:97: 60:9d:48 ID agregátoru: 1 Slave rozhraní: eth1 MII Stav: nahoru Počet selhání odkazu: 0 Stálá HW adresa: 00:00:85:60:9d:49 ID agregátoru: 1​

Příklad nastavení pro CentOS 7

1. Aktualizujte všechny balíčky CentOS.

Aktualizace sudo yum

2. Pomocí příkazu modprobe načtěte spojovací modul.

Spojení sudo modprobe

Poté můžete spustit příkaz lsmod | lepení grep. Pokud je modul načten, obdržíte vzorovou odpověď, která je zobrazena níže.

lepení 147456 0

3. Zobrazte informace o dostupných rozhraních.

ip addr show

Příklad odpovědi je uveden níže.

1: lo: . . 2: eno1: . . 3: eno2: . .

V tomto případě jsou fyzická rozhraní pojmenována eno1 a eno2. Zapamatujte si tyto názvy – soubory s těmito názvy bude nutné upravit.

5. Upravte nastavení síťového rozhraní.

Vytvořte a otevřete soubor /etc/sysconfig/network-scripts/ifcfg-bond0.

vi /etc/sysconfig/network-scripts/ifcfg-bond0

Nastavte obsah souboru, jak je znázorněno níže.

DEVICE=bond0 Type=Název vazby=bond0 BONDING_MASTER=ano BOOTPROTO=žádný ONBOOT=ano IPADDR=xxxx PREFIX=y GATEWAY=zzzz NM_CONTROLLED=ne BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
  • místo xxxx vložte IP adresu vašeho serveru;
  • Místo y vložte předponu sítě bez znaku /, který odpovídá masce. Například tabulku shody mezi maskami a předponami lze nalézt zde;
  • místo zzzz vložte IP adresu brány;
  • hodnoty parametrů miimon, lacp_rate jsou uvedeny jako příklad – můžete si nastavit vlastní hodnoty.

Otevřete soubor s konfiguracemi prvního rozhraní. V tomto příkladu je to /etc/sysconfig/network-scripts/ifcfg-eno1.

vi /etc/sysconfig/network-scripts/ifcfg-eno1

Změňte obsah souboru, jak je uvedeno níže.

DEVICE=eno1 TYPE=Ethernet BOOTPROTO=žádný ONBOOT=ano NM_CONTROLLED=ne IPV6INIT=ne MASTER=bond0 SLAVE=ano

Otevřete soubor s konfiguracemi druhého rozhraní. V tomto příkladu je to /etc/sysconfig/network-scripts/ifcfg-eno2.

vi /etc/sysconfig/network-scripts/ifcfg-eno2

Změňte obsah souboru, jak je uvedeno níže.

DEVICE=eno2 TYPE=Ethernet BOOTPROTO=žádný ONBOOT=ano NM_CONTROLLED=ne IPV6INIT=ne MASTER=bond0 SLAVE=ano

6. Restartujte síť, aby se změny projevily.

Sudo systemctl restartujte síť

Pokud po provedení těchto kroků nejsou rozhraní sloučena, restartujte operační systém.

restart

Stav sloučených rozhraní lze zkontrolovat, jak je uvedeno níže.

cat /proc/net/bonding/bond0

Příklad odpovědi je uveden níže.

Ethernet Channel Bonding Driver: v3.1.1 (26. září 2006) Bonding Mode: IEEE 802.3ad Dynamická linková agregace Zásady přenosu hash: vrstva2 (0) MII Stav: up MII Interval dotazování (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info Míra LACP: 1 Informace o aktivním agregátoru: ID agregátoru: 1 Číslo portů: 2 Klíč aktéra: 17 Klíč partnera: 1 Adresa Mac partnera: 00:77:54:71:a8:6f Slave Rozhraní: eno1 MII Stav: nahoru Počet selhání spojení: 0 Trvalá HW adresa: 00:99:97: 60:9d:48 ID agregátoru: 1 Slave rozhraní: eno2 MII Stav: nahoru Počet selhání odkazu: 0 Stálá HW adresa: 00:00:85:60:9d:49 ID agregátoru: 1​

Příklad nastavení pro Windows Server 2019

1. Otevřete Správce serveru

ČTĚTE VÍCE
Jak používat Estel barvu na obočí a řasy?

2. V nabídce Místní server Jdi do nastavení Tým NIC.

3. V okně TÝMY otevřete rozevírací nabídku ÚKOLY a vyberte Nový tým.

4. V okně, které se objeví:

  • v poli „Název týmu“ zadejte název skupiny, která bude zahrnovat kombinovaná fyzická rozhraní;
  • v poli „Adaptéry členů“ označte rozhraní, která je třeba zkombinovat;
  • pro nastavení Týmový režim nastavte hodnotu LACP;
  • (volitelné) prostřednictvím nastavení Režim vyvažování zátěže nastavte režim vyrovnávání zátěže pro rozhraní:
    • Dynamický (výchozí) – zatížení rozhraní bude distribuováno dynamicky;
    • Hash adresy — pro každé rozhraní se vypočítá speciální hash (na základě MAC nebo IP adres odesílatele a příjemce) a přiřadí se konkrétnímu rozhraní. Veškerý provoz od vybraného odesílatele bude procházet tímto rozhraním;
    • Hyper-V port — fyzické rozhraní nebo skupina kombinovaných rozhraní bude vázána na konkrétní port na virtuálním přepínači Hyper-V.

    Po nastavení klikněte OK.

    V důsledku toho menu Síťová připojení v ovládacím panelu by se mělo objevit nové rozhraní, které se aktivuje po konfiguraci z EdgeCenter.

    Konfigurace na straně Edge Center

    Po konfiguraci rozhraní na serveru nám napište na podporu – veškerá nastavení provedeme z naší strany.