Wyszukiwanie w witrynie

Jak skonfigurować łączenie sieci (NIC)/zespoły w systemie Debian Linux


Łączenie NIC stanowi ciekawe rozwiązanie redundancji i wysokiej dostępności w obszarach obliczeniowych serwerów/stacji roboczych. Dzięki możliwości posiadania wielu kart sieciowych administrator może wykazać się kreatywnością w sposobie uzyskiwania dostępu do konkretnego serwera lub utworzyć większy potok, przez który ruch będzie przepływał do konkretnego serwera.

Przeczytaj także: Jak skonfigurować łączenie sieci lub tworzenie zespołów w systemie Ubuntu

Ten przewodnik opisuje łączenie dwóch kart sieciowych w systemie Debian. Oprogramowanie znane jako ifenslave będzie używane do podłączania i odłączania kart sieciowych od połączonego urządzenia. Urządzenie powiązane staje się wówczas urządzeniem sieciowym, które łączy się z jądrem, ale fizycznie korzysta z rzeczywistego urządzenia interfejsu sieciowego (eth0, eth1 itp.).

Łączenie w systemie Debian Linux

Pierwszą rzeczą do zrobienia przed jakąkolwiek konfiguracją jest określenie rodzaju połączenia, które system faktycznie musi zostać wdrożony. W chwili pisania tego tekstu jądro Linuksa obsługuje sześć trybów łączenia. Niektóre z tych „trybów” połączeń są proste w konfiguracji, a inne wymagają specjalnych konfiguracji przełączników, w których łączą się łącza.

Zrozumienie trybów więzi

Tryb wiązania 0 – Balance-rr

Ta metoda łączenia kart sieciowych nazywa się „Round-Robin”, stąd „RR” w nazwie. Dzięki tej metodzie łączenia pakiety sieciowe są obracane przez każdą kartę interfejsu sieciowego tworzącą połączony interfejs.

Na przykład system z eth0, eth1 i eth2 jest podłączony do interfejsu bond0. Interfejs ten, jeśli jest włączony w trybie połączenia 0, wyśle pierwszy pakiet do eth0, drugi pakiet do eth1, trzeci pakiet do eth0eth2, a następnie zacznij z powrotem od eth0 z czwartym pakietem. W tym miejscu tryb otrzymuje nazwę „okrężną”.

Tryb połączenia 1 – Aktywna kopia zapasowa

W przypadku tej metody połączenia tylko jeden interfejs sieciowy jest aktywny, podczas gdy pozostałe interfejsy w połączeniu po prostu czekają na awarię łącza z podstawową kartą interfejsu sieciowego.

Tryb wiązania 2 – Równowaga XOR

W zrównoważonym trybie wiązania XOR więź oceni źródłowy i docelowy adres MAC, aby określić, który interfejs wysłać pakiety sieciowe. Ta metoda wybierze ten sam interfejs dla danego adresu MAC, w wyniku czego będzie w stanie równoważyć obciążenie i tolerować błędy.

Tryb połączenia 3 – Transmisja

W tej metodzie urządzenie łączące będzie przesyłać dane do wszystkich interfejsów podrzędnych, stąd nazwa „rozgłaszania” tej konkretnej metody łączenia. Ta metoda ma bardzo niewiele zastosowań, ale zapewnia pewien poziom odporności na błędy.

Tryb połączenia 4 – 802.3ad

Jest to specjalna metoda wiązania do agregacji łączy i wymaga specjalnej konfiguracji przełącznika, z którym łączy się ten konkretny połączony interfejs. Metoda ta jest zgodna ze standardami IEEE dotyczącymi agregacji łączy i zapewnia zarówno odporność na błędy, jak i zwiększoną przepustowość.

Tryb połączenia 5 – Równoważenie obciążenia transmisji

W trybie TLB połączenie będzie odbierać ruch na interfejsach podrzędnych w normalny sposób, ale gdy system będzie musiał wysłać ruch, określi, który interfejs jest najlepszy do przesyłania danych, w oparciu o obciążenie/kolejkę dla każdego z interfejsy.

Tryb Bond 6 – Adaptacyjne równoważenie obciążenia

W ALB wiązanie będzie ładować saldo podobne do Tryb Bond 5, ale z dodatkową możliwością ładowania również salda odbioru.

W zależności od roli, jaką system będzie pełnił, wybór właściwej metody łączenia jest koniecznością. Ten samouczek zostanie przeprowadzony na Debianie Jessie z dwoma interfejsami sieciowymi (eth0 i eth1) i zostanie skonfigurowany dla trybu powiązania 1< lub aktywna kopia zapasowa.

Jednak przełączanie pomiędzy różnymi trybami jest bardzo proste, ponieważ jest to jedynie zmiana w pliku interfejsów sieciowych (zakładając, że nie został wybrany tryb połączenia 4, ponieważ wymaga on konfiguracji przełącznika).

Konfiguracja zespołu kart sieciowych

Pierwszym krokiem w tym procesie jest pozyskanie odpowiedniego oprogramowania z repozytoriów. Oprogramowanie dla Debiana jest znane jako ifenslave i można je zainstalować za pomocą „apt”.

apt-get install ifenslave-2.6

Po zainstalowaniu oprogramowania jądro będzie musiało zostać poinstruowane, aby załadowało moduł łączący zarówno w przypadku bieżącej instalacji, jak i podczas przyszłych ponownych uruchomień. Aby załadować moduł jednorazowo, można użyć narzędzia „modprobe” do załadowania modułów jądra.

modprobe bonding

Ponownie, aby mieć pewność, że to wiązanie będzie aktywne przy ponownym uruchomieniu systemu, plik „/etc/modules” musi zostać zmodyfikowany, aby poinformować jądro o konieczności załadowania modułów łączenia przy uruchomieniu.

echo 'bonding' >> /etc/modules 

Teraz, gdy jądro zostało poinformowane o modułach niezbędnych do połączenia kart sieciowych, nadszedł czas na utworzenie faktycznego połączonego interfejsu. Odbywa się to poprzez plik interfejsów, który znajduje się w „/etc/network/interfaces” i można go edytować w dowolnym edytorze tekstu.

nano /etc/network/interfaces

Ten plik zawiera ustawienia interfejsu sieciowego dla wszystkich urządzeń sieciowych podłączonych do systemu. W tym przykładzie są dwie karty sieciowe (eth0 i eth1). W tym pliku należy utworzyć odpowiedni interfejs powiązania, aby zniewolić dwie fizyczne karty sieciowe w jeden interfejs logiczny. Jest to bardzo uproszczony plik interfejsów, ale robi wszystko, co konieczne, aby utworzyć działający interfejs obligacji.

Pierwsza zwrotka (czerwona ramka powyżej) to standardowa konfiguracja interfejsu pętli zwrotnej. „auto lo” informuje jądro, aby automatycznie uruchomiło adapter podczas uruchamiania. „iface lo inet pętli zwrotnej” informuje system, że ten interfejs jest interfejsem pętli zwrotnej systemu lub częściej określany jako 127.0.0.1.

Druga zwrotka (żółta ramka powyżej) to rzeczywisty interfejs połączenia, który będzie używany. „auto bond0” informuje system, aby automatycznie zainicjował połączenie po uruchomieniu systemu. „iface bond0 inet dhcp” może być oczywiste, ale na wszelki wypadek w tej zwrotce stwierdza się, że interfejs o nazwie bond0 powinien uzyskiwać informacje o swojej sieci poprzez DHCP (Protokół dynamicznej kontroli hosta).

tryb łączenia 1” służy do określenia, który tryb wiązania jest używany przez ten konkretny interfejs łączenia. W tym przypadku tryb powiązania 1 wskazuje, że to powiązanie jest konfiguracją aktywnej kopii zapasowej z opcją „bond-primary” wskazującą podstawowy interfejs, którego ma używać powiązanie. „slaves eth0 eth1” określa, które interfejsy fizyczne są częścią tego konkretnego interfejsu połączonego.

Następne kilka linii jest ważnych dla określenia, kiedy połączenie powinno zostać przełączone z interfejsu podstawowego na jeden z interfejsów podrzędnych w przypadku awarii łącza. Miimon to jedna z dostępnych opcji monitorowania stanu łączy obligacji, drugą opcją jest wykorzystanie żądań arp.

W tym przewodniku będzie używany miimon. „bond-miimon 100” mówi jądru, aby sprawdzało łącze co 100 ms. „bond-downdelay 400” oznacza, że system odczeka 400 ms, zanim stwierdzi, że aktualnie aktywny interfejs rzeczywiście nie działa.

Wartość „bond-updelay 800” służy do poinformowania systemu, aby zaczekał z użyciem nowego aktywnego interfejsu do 800 ms po uruchomieniu łącza. Uwaga dotycząca updelay i downdelay. Obie te wartości muszą być wielokrotnościami wartości miimon, w przeciwnym razie system zaokrągli w dół.