bond0: интерфейс ens192 не определен

Вопрос или проблема

Я установил Ubuntu 18.04, я пытаюсь настроить интерфейс bond

network:
   bonds:
       bond0:
           addresses: [10.11.6.119/24]
           gateway4: 10.11.6.1
           nameservers:
              addresses: [8.8.8.8,8.8.4.4]
           interfaces:
           - ens192
           - ens160
           parameters:
               lacp-rate: fast
               mode: 802.3ad
               transmit-hash-policy: layer2
       ethernets:
           ens160:
               addresses: []
               dhcp4: false
               dhcp6: false
           ens192:
               addresses: []
               dhcp4: false
               dhcp6: false
version: 2

Я вижу следующую ошибку после применения настроек

root@admin:~# netplan apply
Ошибка в определении сети /etc/netplan/50-cloud-init.yaml строка 8 колонка 13: bond0: интерфейс ens192 не определен

Но ens192 существует:

    root@admin:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:94:b5:21 brd ff:ff:ff:ff:ff:ff
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:50:56:94:c0:d2 brd ff:ff:ff:ff:ff:ff

Пожалуйста, скажите мне, что я делаю неправильно. Я новичок.

Комментарии не позволяют мне хорошо форматировать это, поэтому я представляю это как предварительный ответ. Я сдвинул (переместил вправо) две строки с названиями интерфейсов. Также, я думаю, что последняя строка version: 2 должна быть с отступом.

network:
   bonds:
       bond0:
           addresses: [10.11.6.119/24]
           gateway4: 10.11.6.1
           nameservers:
              addresses: [8.8.8.8,8.8.4.4]
           interfaces:
               - ens192                    <--- изменено
               - ens160                    <--- изменено
           parameters:
               lacp-rate: fast
               mode: 802.3ad
               transmit-hash-policy: layer2
       ethernets:
           ens160:
               addresses: []
               dhcp4: false
               dhcp6: false
           ens192:
               addresses: []
               dhcp4: false
               dhcp6: false
    version: 2                            <--- изменено

Ваш файл Netplan YAML настроен неправильно. Блоки bonds и ethernets должны быть на одном уровне.

Также я не вижу тега renderer в вашем файле. Вы не указываете, является ли ваша система серверной или настольной установкой. Если это серверная установка, то вы добавите renderer: networkd как показано ниже. В противном случае, если это настольная установка, вы измените строку на renderer: NetworkManager.

network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
      dhcp4: false
      dhcp6: false
    ens192:
      dhcp4: false
      dhcp6: false
  bonds:
    bond0:
      addresses: [10.11.6.119/24]
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
      gateway4: 10.11.6.1
      interfaces:
        - ens160
        - ens192
      parameters:
        lacp-rate: fast
        mode: 802.3ad
        transmit-hash-policy: layer2

ПРИМЕЧАНИЕ В Ubuntu 18.04 gateway4 все еще правильный. Но в более поздних версиях Ubuntu gateway4 устарел, поэтому вам нужно использовать routes вместо этого. См. Конфигурация Netplan YAML для получения информации.

После настройки примените изменения:

sudo netplan try

Кроме того, вам нужно установить драйвер объединения:

sudo modprobe bonding

Проверьте установку драйвера:

sudo lsmod | grep bonding

Введите следующее, чтобы загрузить драйвер автоматически при загрузке:

echo 'bonding' | sudo tee -a /etc/modules

Ответ или решение

Ошибка настройки интерфейса bond0 на Ubuntu 18.04

При конфигурации объединенного интерфейса (bonding) в Ubuntu 18.04 вы столкнулись с ошибкой: Error in network definition /etc/netplan/50-cloud-init.yaml line 8 column 13: bond0: interface ens192 is not defined. Давайте рассмотрим возможные причины данной ошибки и пути их устранения.

1. Неправильная структура YAML файла

Основная проблема заключается в неправильной структуре файла /etc/netplan/50-cloud-init.yaml. В YAML очень важна правильная индентация, так как она определяет иерархию данных. В вашем случае блоки bonds и ethernets должны находиться на одном уровне. Исправленный вариант конфигурации будет выглядеть следующим образом:

network:
  version: 2
  renderer: networkd  # Для серверной установки
  ethernets:
    ens160:
      dhcp4: false
      dhcp6: false
    ens192:
      dhcp4: false
      dhcp6: false
  bonds:
    bond0:
      addresses: [10.11.6.119/24]
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      gateway4: 10.11.6.1
      interfaces:
        - ens160
        - ens192
      parameters:
        lacp-rate: fast
        mode: 802.3ad
        transmit-hash-policy: layer2

2. Убедитесь, что интерфейсы определены

Вы уже подтвердили, что интерфейсы ens160 и ens192 существуют, используя команду ip link show. Тем не менее, если вы будете вносить изменения в конфигурацию сети, убедитесь, что интерфейсы действительно находятся в состоянии UP.

3. Рендерер сети

Если вы используете серверную установку, добавьте строчку renderer: networkd. Если это десктопная версия, используйте renderer: NetworkManager. Это важно для правильного функционирования Netplan.

4. Применение изменений

После внесения изменений в конфигурационный файл, примените настройки:

sudo netplan try

Это позволит вам протестировать изменения, не теряя доступ к сети в случае ошибки. Если все работает корректно, примените настройки окончательно:

sudo netplan apply

5. Установка модуля для объединения интерфейсов

Для работы объединенного интерфейса необходимо убедиться, что модуль bonding загружен. Введите следующую команду:

sudo modprobe bonding

Проверьте, загружен ли он:

sudo lsmod | grep bonding

Чтобы модуль загружался при старте системы, добавьте его в файл /etc/modules:

echo 'bonding' | sudo tee -a /etc/modules

Заключение

Следуя этим рекомендациям, вы сможете исправить возникшую проблему с конфигурацией объединённого интерфейса в Ubuntu 18.04. Важно следить за корректностью структуры файлы YAML и правильно использовать команды для применений изменений. Если ошибки продолжат возникать, проверьте системные журналы (например, с помощью journalctl -xe), чтобы получить дополнительную информацию о возможных проблемах с сетью.

Оцените материал
Добавить комментарий

Капча загружается...