Вопрос или проблема
У меня есть сетевая карта с двумя портами, которые я хочу объединить в один канал и сбалансировать трафик между портами. Я хочу 1 статический IP-адрес. Раньше я использовал Ubuntu 16.04, и это работало хорошо. Теперь я пытаюсь настроить то же самое в netplan и испытываю трудности. Моя конфигурация приведена ниже…
network:
version: 2
renderer: networkd
ethernets:
enp1s0f0:
dhcp4: false
dhcp6: false
enp1s0f1:
dhcp4: false
dhcp6: false
bonds:
bond0:
dhcp4: false
dhcp6: false
interfaces:
- enp1s0f0
- enp1s0f1
addresses: [192.168.3.250/24]
gateway4: 192.168.3.1
parameters:
mode: 802.3ad
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Проверьте свою синтаксис.
$ sudo netplan --debug apply
network:
version: 2
renderer: networkd
ethernets:
enp1s0f0:
dhcp4: false
dhcp6: false
enp1s0f1:
dhcp4: false
dhcp6: false
bonds:
bond0:
dhcp4: false
dhcp6: false
interfaces:
- enp1s0f0
- enp1s0f1
addresses: [192.168.3.250/24]
gateway4: 192.168.3.1
parameters:
mode: 802.3ad
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Ответ или решение
Проблема с настройкой агрегации интерфейсов (bonding) в Netplan на Ubuntu Server 18.04 может возникнуть по нескольким причинам, включая синтаксические ошибки и неверные параметры конфигурации. Давайте рассмотрим правильную конфигурацию и проверим, как её исправить.
Ваш исходный файл конфигурации выглядит почти правильно, но есть несколько нюансов, которые следует учесть. Ниже приведён исправленный пример конфигурации, который должен работать:
network:
version: 2
renderer: networkd
ethernets:
enp1s0f0:
dhcp4: false
dhcp6: false
enp1s0f1:
dhcp4: false
dhcp6: false
bonds:
bond0:
dhcp4: false
dhcp6: false
interfaces:
- enp1s0f0
- enp1s0f1
addresses: [192.168.3.250/24]
gateway4: 192.168.3.1
parameters:
mode: 802.3ad
mii-monitor-interval: 100
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Обратите внимание на следующие ключевые моменты:
- Отступы и форматирование: YAML очень чувствителен к пробелам. Убедитесь, что все отступы выполнены правильно.
- Параметры bond: Вы можете добавить параметр
mii-monitor-interval
, который задаёт интервал мониторинга состояния интерфейсов. Это может улучшить реакцию на сбои. - Проверка интерференции: Убедитесь, что оба интерфейса (enp1s0f0 и enp1s0f1) подключены к коммутатору, который поддерживает LACP (Link Aggregation Control Protocol), если вы используете режим
802.3ad
.
Для применения ваших изменений выполните следующую команду:
sudo netplan apply
Если у вас всё еще возникают проблемы, вы можете использовать режим отладки:
sudo netplan --debug apply
Это даст вам более подробную информацию о том, что может не так, чтобы помочь в диагностике проблемы.
Убедитесь также, что ваш сетевой интерфейс правильно отображается с помощью команды ip a
и что ваш коммутатор правильно сконфигурирован для работы с объединением интерфейсов.
Если после этих правил проблема не решается, проверьте системные журналы с помощью journalctl -u systemd-networkd
для получения дополнительной информации о возможных ошибках.