vasek00 DD-WRT Guru
Joined: 06 Nov 2010 Posts: 3312
|
Posted: Thu Aug 31, 2017 7:12 Post subject: Bonding 802.3ad (LACP) |
|
Необходимым условием использование наличие двух устройств на данном канале с данной поддержкой.
1. роутер Atheros в котором switch на внешнем чипе
Code: |
dmesg
<6>[ 4.940000] switch0: Atheros AR8316 rev. 1 switch registered on ag71xx-mdio.0
|
2. настройка switch в котором два порта LAN будут объеденены в bonding
Code: |
swconfig dev switch0 vlan 1 set ports "0t 4 5"
swconfig dev switch0 vlan 3 set ports "0t 1"
swconfig dev switch0 vlan 4 set ports "0t 3"
swconfig dev switch0 set apply
vconfig add eth0 3
vconfig add eth0 4
ifconfig vlan3 up
ifconfig vlan4 up
|
3. настройка роутера через WEB (скрин ниже)
4. в итоге имеем
Code: |
ifconfig
bond0 Link encap:Ethernet HWaddr хх:хх:хх:хх:хх:3F
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
...
vlan2 Link encap:Ethernet HWaddr хх:хх:хх:хх:хх:40
inet addr:хх.хх.хх.52 Bcast:хх.хх.хх.255 Mask:255.255.224.0
...
vlan3 Link encap:Ethernet HWaddr хх:хх:хх:хх:хх:3F
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
vlan4 Link encap:Ethernet HWaddr хх:хх:хх:хх:хх:3F
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
5. проверить iptables, если нет в INPUT цепочке разрешенных vlan и bond0 то добавить
Code: |
iptables -I INPUT 1 -i bond0 -j ACCEPT
iptables -I INPUT 1 -i vlan3 -j ACCEPT
iptables -I INPUT 1 -i vlan4 -j ACCEPT
|
6. попробуем теперь его добавить в br0
Code: |
brctl addif br0 bond0
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.хххххххххх3f no vlan1
ath0
bond0
|
получили в br0 интерфейсы vlan1 ath0 bond0
Если использовать bond0 в не связке br0, то поднять IP на нем (ifconfig bond0 ..... up) и прописать остальные правила в iptables в цепочке OUTPUT и FORWARD (при необходимости) - куда и что разрешено данному интерфейсу.
У нас в примере он в br0 которому уже прописаны правила в цепочках OUTPUT и FORWARD.
И так получилось из 4 LAN портов
Code: |
LAN1/2 VLAN 1: ports: 0t 4 5
WAN -- VLAN 2: ports: 0t 2
LAN3 - VLAN 3: ports: 0t 1
LAN4 - VLAN 4: ports: 0t 3 |
к двум портам 3 и 4 возможно подключение устройства с поддержкой 802.3ad (LACP).
https://github.com/RMerl/asuswrt-merlin/wiki/Link-Aggregation
http://xgu.ru/wiki/Linux_Bonding
Quote: | Существует 7 режимов работы бонда (параметр mode в нашем примере равен 1 — active-backup):
mode=0 — Round robin
Этот режим позволяет расширить пропускную способность канала.
mode=1 — Active-backup
Работает только один интерфейс, при выходе из строя основного, автоматически подключает резервный взамен отказавшего.
mode=2 — XOR
Исключение. Режим, в котором физический интерфейс для передачи пакета рассчитывается по формуле «(src hw addr XOR dst hw addr) % slave cnt», где «src hw addr» и «dst hw addr» — MAC-адреса отправителя и получателя, а slave – число работающих физических интерфейсов. Интерфейс отправляющий пакет зависит от MAC адреса получателя, соответственно каждый физический сетевой интерфейс отправляет пакеты только определенной группе MAC адресов всего адресного пространства сети, благодаря чему происходит равномерное распределение нагрузки.
mode=3 — Broadcast
Вещание. Все пакеты передаются на все интерфейсы. Этот режим обеспечивает отказоустойчивость.
mode=4 — 802.3ad
Агрегация каналов (IEEE 802.3ad Dynamic link aggregation). В группу объединяются одинаковые по скорости и дуплексному режиму интерфейсы. Все интерфейсы используются одновременно в соответствии со спецификацией IEEE 802.3ad. Для реализации этого режима необходима поддержка на уровне драйверов сетевых карт и коммутатор, поддерживающий стандарт IEEE 802.3ad. Коммутатор может потребовать дополнительной настройки.
mode=5 — balance-tlb
Адаптивная балансировка передачи (Adaptive transmit load balancing). Не требует применения специальных коммутаторов. Исходящий трафик распределяется в соответствии с текущей нагрузкой (с учетом скорости) на интерфейсах. Для данного режима необходима его поддержка в драйверах сетевых карт.
mode=6 — balance-alb
Адаптивная балансировка (Adaptive load balancing). Включает в себя balance-tlb плюс балансировку на приём (rlb) для IPv4 трафика и не требует применения специальных коммутаторов. Балансировка на приём достигается на уровне протокола ARP. Драйвер перехватывает ARP ответы локальной системы и, в зависимости от загрузки, перезаписывает физический адрес на адрес одного из сетевых интерфейсов. |
|
|