Подробный гайд по настройке сетевого bonding (объединения интерфейсов) в Astra Linux
Ниже приведён подробный гайд по настройке сетевого bonding (объединения интерфейсов) в Astra Linux без декоративных элементов. Руководство универсально для версий 1.6, 1.7 и 1.8 (как Common, так и Special Edition) и основано на штатных механизмах ядра Linux.
1. Подготовка
1. Определите имена физических интерфейсов:
ip link show | grep -E "^[0-9]+:" | awk '{print $2}' | tr -d ':'
Обычно это enp3s0, ens160, eth0 и т.д. Запомните их.
2. Убедитесь, что модуль bonding доступен:
lsmod | grep bonding
Если пусто, загрузите его:
sudo modprobe bonding
echo "bonding" | sudo tee -a /etc/modules
3. Создайте резервные копии текущих конфигов:
sudo cp -r /etc/network /etc/network.bak
sudo cp /etc/netplan/*.yaml /etc/netplan/ 2>/dev/null || true
Важно:
- Если вы настраиваете сервер удалённо (по SSH), не перезапускайте сеть вслепую. Имейте физический доступ или консоль (iLO/iDRAC/VMware), иначе при ошибке потеряете доступ.
2. Выбор режима bonding
| Режим | Название | Назначение | Требования к коммутатору |
|---|---|---|---|
active-backup (1) |
Отказоустойчивость | Один интерфейс активен, второй резервирует | Не требуется |
balance-rr (0) |
Round-Robin | Поочерёдная отправка пакетов | Требуется статический LAG (без LACP) |
802.3ad (4) |
LACP | Динамическое агрегирование с балансировкой | Обязательно поддержка LACP на свитче |
balance-alb (6) |
Adaptive Load Balancing | Балансировка исходящего/входящего трафика | Не требуется |
Рекомендация:
- Для большинства серверных задач используйте
active-backup(просто и надёжно) или802.3ad(если свитч поддерживает LACP).
3. Настройка (два штатных метода)
Метод A: Через /etc/network/interfaces (рекомендуется для Astra SE/CE серверных редакций)
1. Отредактируйте конфигурацию:
sudo nano /etc/network/interfaces
2. Добавьте блок для bond-интерфейса (пример для active-backup со статическим IP):
auto bond0
iface bond0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
bond-mode active-backup
bond-miimon 100
bond-primary enp3s0
bond-slaves enp3s0 ens160
Пояснения параметров:
bond-miimon 100— проверка линка каждые 100 мсbond-primary— предпочтительный интерфейс (опционально)bond-slaves— физические порты (указывайте реальные имена!)- Если интерфейсы ранее имели IP/DHCP, удалите или закомментируйте их старые блоки в этом файле.
3. Убедитесь, что установлен пакет ifenslave:
sudo apt update && sudo apt install ifenslave
4. Примените конфигурацию:
sudo systemctl restart networking
# или (если не используется systemd-networkd):
sudo ifdown -a && sudo ifup -a
Метод B: Через systemd-networkd (современный, подходит для Astra 1.7+)
1. Включите и запустите systemd-networkd (если ещё не активен):
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
sudo systemctl disable networking 2>/dev/null # отключите ifupdown, если конфликтуют
2. Создайте описание bond-устройства:
sudo nano /etc/systemd/network/10-bond0.netdev
[NetDev]
Name=bond0
Kind=bond
[Bond]
Mode=active-backup
MIIMonitorSec=100ms
Primary=enp3s0
3. Настройте IP-адресацию для bond0:
sudo nano /etc/systemd/network/20-bond0.network
[Match]
Name=bond0
[Network]
Address=192.168.1.10/24
Gateway=192.168.1.1
DNS=8.8.8.8
4. Назначьте физические интерфейсы как слейвы:
sudo nano /etc/systemd/network/20-bond-slaves.network
[Match]
Name=enp3s0 ens160
[Network]
Bond=bond0
5. Примените:
sudo systemctl restart systemd-networkd
4. Проверка и тестирование
1. Состояние bond:
cat /proc/net/bonding/bond0
Ищите строки Bonding Mode, Currently Active Slave, Link Failure Count.
2. Сетевые параметры:
ip addr show bond0
ip route show
3. Тест отказоустойчивости (active-backup):
sudo ip link set enp3s0 down
sleep 5
cat /proc/net/bonding/bond0 | grep "Currently Active Slave"
sudo ip link set enp3s0 up
Активный слейв должен автоматически переключиться и вернуться.
5. Особенности Astra Linux Special Edition
- Мандатный контроль (Parsec/МАК): Не блокирует настройку bonding, но требует запуска команд от
rootили пользователя с привилегиейnet_admin. - Аудит: В SE включён
auditd. Настройка сети логируется в/var/log/audit/audit.log. - Графическая среда (Fly): Если используется десктоп, настройка через
nmcliили GUI Network Manager может перезаписать конфиги. Для серверов рекомендуется отключить NetworkManager:sudo systemctl disable NetworkManager. - LACP (режим 4): Обязательно согласуйте настройки с сетевым администратором. На коммутаторе должен быть создан агрегированный порт (LAG) с включённым LACP (обычно
mode activeилиpassive).
6. Устранение неполадок
| Симптом | Решение |
|---|---|
bond0 не поднимается |
Проверьте journalctl -u networking -f или journalctl -u systemd-networkd -f |
Currently Active Slave = none |
Проверьте физический линк, ethtool <iface>, кабели, порт свитча |
ifup: interface bond0 already configured |
Удалите дублирующие конфиги в /etc/network/interfaces.d/ или systemd-networkd |
Модуль bonding не загружается |
sudo modprobe bonding && echo "bonding" >> /etc/modules |
| Пинги рвутся при переключении | Добавьте bond-fail_over_mac 1 (active-backup) или bond-arp-interval 1000 bond-arp-ip-target 192.168.1.1 |
Итоговые рекомендации
- Всегда тестируйте конфигурацию в консоли или через KVM.
- Для
active-backupдобавьтеbond-miimon 100и опциональноbond-arp-interval 1000 bond-arp-ip-target <IP_шлюза>для более быстрой реакции на потерю связности. - В продакшене используйте режим
802.3adтолько при наличии LACP на коммутаторе. - Фиксируйте изменения в документации и делайте бэкапы
/etc/network/или/etc/systemd/network/.