Так уж сложилось, что у меня есть старичок HPE Microserver Gen 8. C ним было связано масса историй, а уж сколько бессонных ночей - так не счесть…
В общем в какой-то момент я задумался а можно ли удвоить пропускную способность сети, раз уж на борту есть 2 сетевых адаптера. Было это в далеком 2015 году. Мысль родилась и так же скоропстижно скончалась, тк реальной потребности не было. Но время шло, файлы росли, компы ускорялись, появился Wi-Fi 6 а там уже и 7. В общем, надо бы увеличить скорости в локалке, подумалось мне.
Сказано - сделано.
Link Aggregation Control Protocol (LACP) — протокол, предназначенный для объединения нескольких физических каналов в один логический в сетях Ethernet. Агрегированные каналы LACP используются как для повышения пропускной способности, так и повышения отказоустойчивости. Использование LACP в некоторых случаях позволяет обнаружить повреждённый канал, который бы при использовании обычной статической агрегации обнаружен бы не был. Описывается стандартом IEEE 802.3ad.
В своей конфигурации я использую systemd-networkd.
Для начала необходимо включить службу:
sudo systemctl enable systemd-networkd
Включили. Теперь необходимо сконфигурировать наш Bond
Для этого создадим файлы конфигурации. В первую очередь подстрахуемся и создадим резервный интерфейс для текущего адаптера. Он необходим для подключения к сети, в случае если что-то сделали неверно и Bond не поднимится. Назвать можно как угодно, главное что бы число в начале имени файла конфигурации было заведомо больше числа в файле конфигурации Bond'а:
sudo vim /etc/systemd/network/99-fallback.network
[Match]
Name=eno1
[Network]
Address=10.0.0.254/24
Gateway=10.0.0.1
DNS=10.0.0.1
Далее создадим сам Bond:
sudo vim /etc/systemd/network/10-bond1.netdev
[NetDev]
Name=bond1
Description=LAG/Bond to a switch
Kind=bond
[Bond]
Mode=802.3ad
Добавим в Bond сетевые интерфейсы:
sudo vim /etc/systemd/network/10-bond1.network
[Match]
Name=eno1
Name=eno2
[Network]
Bond=bond1
И сконфигурируем интерфей bond1:
sudo vim /etc/systemd/network/10-bond1-config.network
[Match]
Name=bond1
[Network]
Address=10.0.0.254/24
Gateway=10.0.0.1
DNS=10.0.0.1
Теперь забекапим старый конфиг сети, что бы не мешался, но и не потерялся:
sudo mv /etc/network/interfaces /etc/network/interfaces.save
Ребутаем сервак, или просто службу:
sudo systemctl restart systemd-networkd
Если все сделали верно, то система загрузится, получит доступ к сети и вот оно счастье. Проверим наш Bond:
sudo networkctl status bond1
cat /proc/net/bonding/bond1
sudo networkctl
Наслаждаемся удвоением скорости в локальной сети.