01 Marca 2024 08:26:39
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· serwer VPN za wan'em
· Rozłączanie klient...
· Banana PI (BRI-R3)
· Przejscie z dyndns f...
· WDR3600 i problem z WAN
· [MOD] FreshTomato-AR...
· Jaki USB hub do syno...
· [S] Karta sieciowa Q...
· Asus rt-n18u port fo...
· Netflix dzielenie ko...
· Nextcloud konfigurac...
· Netgear WNR3500L
· [MOD] FreshTomato-MI...
· [MOD] Tomato64 (x86-64)
· [S] ASUS RT-AC68U
· [S]Banana PI (BRI-R3...
· [S] Płyta, Procek, ...
· Czy to atak hakerski ?
· Asus RT-N10U - znany...
· asus rt-n10u problem...
Najpopularniejsze obecnie wątki
· [MOD] FreshTomato... [865]
· Banana PI (BRI-R3) [21]
· serwer VPN za wan'em [16]
· Jaki USB hub do s... [1]
· Rozłączanie kli... [0]
· Przejscie z dyndn... [0]
· WDR3600 i problem... [0]
· [S] Karta sieciow... [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [215 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 415
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
44.222.218.145
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
LACP, czyli Link Aggregation w Tomato
shibby
Wstęp

// tutorial wzorowany doświadczeniami i przemyśleniami z tematu https://openlinksys.info/forum/viewth...d_id=20256

Link Aggregation Control Protocol (LACP) (IEEE 802.1AX-2008, wcześniej IEEE 802.3ad), to mechanizm umożliwiający scalenie interfejsów sieciowych w jedno, logiczne połączenie. W linuxie Link Agregation odbywa się z użyciem modułu bonding.ko, dlatego też często stosuje się nazewnictwo bondingu w kontekście linuxa, a pamiętajmy, Tomato to linux Smile

Korzyści z Link Aggregation w porównaniu z tradycyjnym połączeniem za pośrednictwem pojedynczego kabla:
- większa prędkość połączenia
- większa niezawodność

Niezawodność jest dość oczywista. W przypadku uszkodzenia jednego linku (awaria karty sieciowej, uszkodzenie kabla, nieumyślne wypięcie kabla sieciowego) spada jedynie prędkość linku, natomiast komunikacja nadal odbywa się bez przeszkód.

Co do większej prędkości to należy się tu małe dopowiedzenie. Jeżeli mamy 2 komputery ze skonfigurowanym LAG na 2Gbps, to prędkość przesyłu między tymi dwoma komputerami nadal wyniesie maksymalnie 1Gbps. Link Aggregation nie potrafi wykorzystać wielu interfejsów między dwoma końcówkami. Co więcej nie pomoże w tym przypadku MultiChannel SMB3.0 zaimplementowany w Windows 8 i wyżej. Link Aggregation stosuje się wszędzie tam, gdzie wielu użytkowników ma jednoczesny dostęp do zasobów (np. do NAS`a). Przykładem niech będzie serwer, który pełni funkcję serwera plików. Jeżeli skonfigurujemy na nim Link Aggregation z 4-ch sieciówek, uzyskując tym samym LAG o prędkości 4Gbps i podłączy się do niego czterech klientów, każdy z linkiem 1Gbps to każdy z nich będzie w stanie wysycić max swojego linku, czyli 1Gbps (oczywiście pod warunkiem, że wydajność maszyny - dysków - na to pozwoli). W ten sposób wysycimy całe 4Gbps LAG na serwerze.


Konfiguracja

Niniejszy tutorial opisuje konfigurację Link Aggregation między Tomato a Netgear ReadyNAS Pro4, który to posiada dwa porty gigabitowe. Zalecana wersja Tomato to v138 lub wyżej. Minimalna to v137, gdyż w niej finalnie został zmodyfikowany skrypt do bindingu. Wspomnę również, że póki co bonding zaimplementowany jest tylko w Tomato ARM. Do obrazów Mipsel funkcja bondingu pojawi się od Tomato v139.


Tomato

Potrzebujemy wydzielić dwa porty routera jako dwa niezależne interfejsy. W tym celu udajemy się do Advanced -> VLAN.

openlinksys.info/images/lacp/vlan1.png


Jak widać na powyższym obrazku. Porty 3 i 4 zostały wypięte z głównego VLANu (br0), dodane zostały nowe, kolejne VLANy o ID 3 i 4 (akurat tak się złożyło). Do każdego VLANu został wpięty jeden port. Oba VLANy nie zostały przyporządkowane do żadnego bridge`a.

Oczywiście konfiguracja VLANów u Was może wygląda nieco inaczej. Wszystko zależy od tego czy poczyniliście wcześniej jakieś modyfikacje w VLANach, np. przy konfiguracji dualWAN lub sieci gościnnej. Ważne by wydzielić dwa VLANy pod bonding. U mnie przykładowo wygląda to tak:

openlinksys.info/images/lacp/vlan2.png


Jak widać, pomimo mocno rozbudowanej konfiguracji VLANy (u mnie akurat 5 i 6) są skonfigurowane analogicznie jak na pierwszym, wzorcowym obrazku.

Wracamy do meritum. Po ustawieniu VLANów, klikamy SAVE i następuje restart routera. W tym momencie musimy upewnić się, że nie jesteśmy podpięci kablem do wydzielonych portów, gdyż stracimy dostęp do routera. Pamiętajmy, by być wpiętym do portów sparowanych z br0 lub po WiFi.

Gdy router się uruchomi przechodzimy do Administration -> Scripts -> INIT i dopisujemy linijkę:

Cytat

linkagg vlan3 vlan4 br0


Gdzie vlan3 i vlan4 to wydzielone przez nas vlany (porty) pod bonding, zaś br0 to bridge do którego chcemy wpiąć nowoutworzony LAG.
Po zapisaniu zmian restartujemy router.

Efekt możemy obejrzeć w konsoli wydając komendy:

Pierwsza z nich (ifconfig bond0) powinna pokazać nam nowy interfejs bond0:

openlinksys.info/images/lacp/vlan3.png



Druga zaś (brctl show), iż interfejs bond0 został pomyślnie wpięty do br0:

openlinksys.info/images/lacp/vlan4.png



Istnieje również komenda "linkagg -s", która zwraca status utworzonego linku oraz ewentualne błędy:

openlinksys.info/images/lacp/vlan5.png


Na tym kończymy konfigurację routera i przechodzimy do konfiguracji NASa


ReadyNAS Pro4 z oprogramowaniem OS 6.6.1

Tutaj nie ma żadnej filozofii. Niezależnie od posiadanego NAS`a opis bondingu będzie bardzo zbliżony. Przechodzimy do zakładki z konfiguracją połączeń. W moim przypadku jest to zakładka "Sieć".

openlinksys.info/images/lacp/vlan6a.png



Na aktywnym połączeniu wybieramy "Nowe powiązanie", po czym w nowym oknie wybieramy drugi interfejs (eth1), typ zespołu LACP na warstwie mieszanej 3+4, ponieważ taki tym powiązania tworzy skrypt linkagg w tomato.

openlinksys.info/images/lacp/vlan6b.png



Po zapisaniu zmian ujrzymy jeden interfejs bond0

openlinksys.info/images/lacp/vlan6c.png



Dla porównania tak wygląda bonding w Synology (zdjęcie kolegi @mosfit)

openlinksys.info/forum/attachments/bond1.png




Na koniec spinamy NAS i router drugim kablem sieciowym.



Dla zaawansowanych

Skrypt linkagg został przygotowany tak by obsługiwał tylko jeden LAG, tylko dla dwóch portów i w trybie LACP w warstwie 3+4. Skrypt linkagg jest odpowiednikiem wydania poniższych komend (dla vlan5 i vlan6):

Cytat

modprobe bonding
# Setting mode to 802.3ad
echo 802.3ad > /sys/class/net/bond0/bonding/mode
# Setting LACP rate to fast
echo fast > /sys/class/net/bond0/bonding/lacp_rate
# Setting MII monitoring interval to 50
echo 50 > /sys/class/net/bond0/bonding/miimon
# Setting xmit hash policy to layer3+4
echo 1 > /sys/class/net/bond0/bonding/xmit_hash_policy
ip link set bond0 up
echo +vlan5 > /sys/class/net/bond0/bonding/slaves
echo +vlan6 > /sys/class/net/bond0/bonding/slaves
brctl addif br0 bond0


Jeżeli ktoś chce stworzyć inny typ linku agregacyjnego np. round-robin, stworzyć drugi interfejs LAG lub utworzyć jeden mega link 4Gbps między routerem a switchem zarządzalnym, wystarczy że odpowiednio zmodyfikuje powyższe komendy i wklei poprawione do skryptu INIT.

Pozdrawiam
Edytowany przez shibby dnia 10-04-2017 13:31
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
kille72
Super tutek Smile
 
oswaldini
Powiedzcie mi tylko jeszcze jak to się ma hardwareowo, poleci to na każdym routerku czy musi mieć zaimplementowane 802.3ad ? Prosto z mostu - zadziała na RT-N16 ?
Asus RT-N16 / Tomato
Tenda N60 / Tomato
Cisco RV082

HomeSerwer: HP G7 N54L | 2x WD RED 2TB | Synology DSM 6.0.2 | TimeMachine + PLEX + CouchPotato + SickRage + inne
 
msstefan
@shibby
Moglbys podac config dla round-robin?
 
Adooni
czy wszystko jest OK z LACP zrobilem vlan na port 3 i 4

1   1   Yes      Yes                        *   LAN (br0)
2   2                           Yes         WAN
3   3                                    WAN2
4   4               Yes                     
5   5                     Yes               

a po wydaniu komendy linkagg -s


--- Bond Status ---

Bond Status: bond0 UP
Bridge to WAN Status: Member of br0
Slave 1 Status: vlan=vlan4 Link=UP Port=2
Slave 2 Status: vlan=vlan5 Link=UP Port=3
0t
1t
2t
0


--- Bond Errors ---

Orange 300/50 Mb/s + ONT Terminal
HPE MS gen8 Proxmox 7.0-11 VMs: Router OPNsense 23.X-amd64 and OMV
HPE MicroServer gen8: Xeon E3-1265Lv2, 16GB (2x KTH-PL316E/8G), HP 331T, 4x4TB WD RED
Asus RT-AC68U AccessPoint
 
Cyberghost
Można prosić o skrypt dla mega link 4Gbps między routerem a switchem ?
 
shibby
wystarczy zamiast linkagg użyć komend które zostały opisane w "dla zaawansowanych" i w miejscu


echo +vlan5 > /sys/class/net/bond0/bonding/slaves
echo +vlan6 > /sys/class/net/bond0/bonding/slaves


wkleić swoje 4 vlany.
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
Cyberghost
Próbuję zrobić mega link 4Gbps i po wielu próbach na różne sposoby nadal nic.

w Vlanach odpiołem wszystkie porty z Vlan1

utworzyłem 4 nowe Vlany i do każdego przypiołem po jednym porcie

do skryptów dodałem

modprobe bonding
echo 802.3ad > /sys/class/net/bond0/bonding/mode
echo fast > /sys/class/net/bond0/bonding/lacp_rate
echo 50 > /sys/class/net/bond0/bonding/miimon
echo 1 > /sys/class/net/bond0/bonding/xmit_hash_policy
ip link set bond0 up
echo +vlan4 > /sys/class/net/bond0/bonding/slaves
echo +vlan5 > /sys/class/net/bond0/bonding/slaves
echo +vlan6 > /sys/class/net/bond0/bonding/slaves
echo +vlan7 > /sys/class/net/bond0/bonding/slaves
brctl addif br0 bond0


mimo tego brak komunikacji ze switchem

ma ktoś jakiś pomysł co jest nie tak
 
Adooni
a co zmienileś w ustawieniach switcha?

Scalony z 21 stycznia 2022 13:41:36:
tutaj np pdali jak to zrobic dla Cisco https://www.cisco.com/c/en/us/support...h-cli.html
Edytowany przez Adooni dnia 21-01-2022 13:41
Orange 300/50 Mb/s + ONT Terminal
HPE MS gen8 Proxmox 7.0-11 VMs: Router OPNsense 23.X-amd64 and OMV
HPE MicroServer gen8: Xeon E3-1265Lv2, 16GB (2x KTH-PL316E/8G), HP 331T, 4x4TB WD RED
Asus RT-AC68U AccessPoint
 
shibby
pytanie z innej beczki: jaki jest sens robić LAG 4Gbit między jak zakładam switchem a routerem? W jaki sposób chcesz wysycić taki LAG?
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
webnoob
Cześć,
zastanawiam się jak rozwiązać mój problem. Używam 4 VLAN-ów. Wszystkie "pcham" na drugie tomato z tym, że 1 jest bez taga, a 3 są otagowane. Drugi "pomidor" ma w sumie 3 br, bo jeden VLAN jest tylko przekazywany na jeden z portów. Chcę zrobić bond-a po którym będą "leciały" VLAN-y tak jak teraz, ale nie mam pojęcia jak to zrobić.

Scalony z 04 grudnia 2023 22:32:45:
Dodałem testowo VLAN z tagiem i ładnie to działa. Po dodaniu VLAN-a nie ruszyło to z automatu. Musiałem "z palca" wywołać

linkagg vlan14 vlan15 br0
. Problem jeszcze taki, że bond jest między dwoma tomato - main i slave. Mam server i hosta do iperf-a. Server na VLAN 4, a host na VLAN 1. Testując szybkość połączenia ciągle mam coś w okolicach 250 Mb/s. Połączenie jest takie:

server (VLAN4) - slave = [bond] = master (router) = [bond] = host (VLAN1)

Gdzie robię błąd?

Edit:
Działało przez 5 minut i utraciłem połączenie. Po odpięciu jednego z kabli od zbondowanych interface-ów połączenie znowu działa. O co może chodzić? Jak poprawnie dodać tagowane VLAN-y do bonda?

Scalony z 05 grudnia 2023 07:16:46:
Dodam jeszcze, jaki mam soft:
master: Version 2023.2 on Netgear R6400
slave: Version 2023.3 on Netgear R6400

Wkradł się też błąd w opisie połączenia. "Zmiana" VLANu następuje na masterze. Powinno być:

server (VLAN4) - slave = [bond] = master (router) = [bond] = slave - host (VLAN1)

Czy dobrze myślę, że zwiększenie przesyłu jest blokowane przez master-a? Przez chwię użyłem pfSense i nawet bez bondingu było szybciej, mimo, że szło jeszcze z mastera na kolejne urządzenie i z powrotem. Master był wtedy AP ze switchem.

Po pracy spróbuję jeszcze raz, ale wszystko wrzucę na jeden VLAN.

Scalony z 05 grudnia 2023 07:22:12:
Zapomniałem o screenie z konfiguracji VLANów.

Komunikacja była między portami 1 i 2 (z całą tą śmieszną ścieżką). Zastanawiam się czy VLANy nie są zwyczajnie pchane w razie potrzeby, bo WAN był odpięty, a master = slave leciało po bondzie 3 i 4.
webnoob załączono następujące plik:
Nie masz uprawnień, by zobaczyć załączniki w tym wątku.

Edytowany przez webnoob dnia 05-12-2023 07:22
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 5

· Użytkowników online: 0

· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

shibby
12-02-2024 11:03
MTU zależy od typu połączenia. Inne jest dla połączenia kablowego inne dla wdzwanianego (pppoe)

PanRatio
11-02-2024 10:02
Jak podłączę Funboxa6 do światłowodu, to ma MTU 1540, a we FreshTomato max to MTU 1500 i samo zmienia na 1492. Tak ma być?

tamtosiamto
04-02-2024 10:36
jakby cos, to mam w dobrej cenie dir868l juz przerobiony na AC66U_B1 Grin i ac56u przerobiony na ac68u(dziala aimesh) tyle ze z wlacznikiem na zapalke Smile

Adooni
03-02-2024 10:36
widze ze oba sa na aledrogo i u nas mozesz sprawdzac w dziale sprzedam

Adooni
03-02-2024 10:34
zakladam że mowisz o używkach masz np Asus RT-AC56U, D-Link DIR-868L (jak go nie przerobisz na Asus RT-AC66U_B1) to FT ma specialny build nvram 32k)

vechio
01-02-2024 09:29
Cześć, czy istnieje jakiś 'odpowiednik'
; WNR3500Lv2 z 5GHz i z TYLKO wewnętrznymi antenami + ze wsparciem dla FreshTomato?

tamtosiamto
29-01-2024 21:59
to linux, raczej nie masz tak duzego, ktorego nie obsluzy

RaTaJ
28-01-2024 23:08
Dzień Dobry jaki max dysk USB można podłączyć pod NetGear WNRL3500Lv2?

Adooni
01-01-2024 09:44
Wszystkiego najlepszego w nowym roku. Jaka macie sprawdzoną antenkę do E3372S?

Adooni
25-12-2023 08:34
ja kupilem ale ostatecznie oddalem i wzialem Cudy WR3000. Bardzo dobrze dziala z OpenWRT zabawy jest z wi-fi aby znalesc kanal ktory dziala na 160. Nowyszy HW w porownaniu do x6 i 2 razy mniejszy

69,676,491 unikalnych wizyt