Вопрос или проблема
Я нахожусь на сервере Ubuntu 22.04.5 LTS. Я пытаюсь настроить виртуальный мост с агрегатом в качестве подчиненного с использованием netplan. Я привык к nmcli и знаю, как это сделать с помощью nmcli, но netplan превосходит nmcli. Мой агрегат уже настроен. Теперь мне нужно добавить мост в мой файл конфигурации netplan yaml. Как мне это сделать?
Пример документации о том, как это сделать, подробно описан в документации Netplan Как настроить хост ВМ с агрегированными сетевыми интерфейсами и тремя VLAN. В этом примере показано, что вы можете просто добавить агрегат как интерфейс к мосту.
Базовый файл Netplan YAML для двух интерфейсов, настроенных в качестве агрегата, который добавляется в мост как интерфейс, будет выглядеть следующим образом:
$ cat /etc/netplan/00-bond-bridge-config.yaml
network:
version: 2
renderer: networkd
ethernets:
enps30:
dhcp4: false
enps80:
dhcp4: false
bonds:
bond0:
dhcp4: false
interfaces: [enps30, enps80]
parameters:
mode: active-backup
mii-monitor-interval: 100
bridges:
br0:
dhcp4: true
interfaces: [bond0]
Очевидно, что это было настроено с использованием DHCP для IP-адресации, но соответствующие изменения для определения статического IP довольно просты. Просто определите статический IP для моста.
После конфигурации выполните sudo netplan apply
, чтобы применить конфигурацию.
Затем выполните ip a
, чтобы увидеть вывод:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
link/ether 36:a3:66:28:36:e3 brd ff:ff:ff:ff:ff:ff permaddr 08:00:27:8c:35:70
3: enp0s8: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fa_codel master bond0 state UP group default qlen 1000
link/ether 36:a3:66:28:36:e3 brd ff:ff:ff:ff:ff:ff permaddr 08:00:27:56:6b:6b
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
link/ether 36:a3:66:28:36:e3 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 42:3b:cd:f8:dc:f1 brd ff:ff:ff:ff:ff:ff
inet 10.0.3.16/24 metric 100 brd 10.0.3.255 scope global dynamic br0
valid_lft 86264sec preferred_lft 86264sec
inet6 feB0::403b:cdff:fef8:dcf1/64 scope link
valid_lft forever preferred_lft forever
Ответ или решение
Настройка виртуального моста с использованием агрегации интерфейсов (bond) в Ubuntu 22.04.5 LTS может быть выполнена с помощью Netplan. Данная конфигурация позволяет объединять несколько физических интерфейсов в один логический интерфейс (bond), который затем можно подключить к виртуальному мосту (bridge). Это обеспечит высокую доступность и балансировку нагрузки.
Шаг 1: Настройка файла конфигурации Netplan
Чтобы создать мост с использованием агрегации интерфейсов в Netplan, вам необходимо отредактировать YAML файл конфигурации. Обычно такой файл расположен в /etc/netplan
, и его имя может варьироваться, например, 00-bond-bridge-config.yaml
. Пример структуры файла конфигурации выглядит следующим образом:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: false
enp0s8:
dhcp4: false
bonds:
bond0:
dhcp4: false
interfaces: [enp0s3, enp0s8]
parameters:
mode: active-backup
mii-monitor-interval: 100
bridges:
br0:
dhcp4: true
interfaces: [bond0]
Шаг 2: Пояснение к параметрам конфигурации
- version: Указывает версию конфигурации Netplan.
- renderer: Устанавливает используемый рендерер, в данном случае
networkd
, который подходит для серверных установок. - ethernets: Здесь перечисляются физические интерфейсы, которые вы хотите объединить. В примере это
enp0s3
иenp0s8
. Вы можете указать для нихdhcp4: false
, если используете статическую настройку IP. - bonds: В этой секции конфигурируется логический интерфейс
bond0
, который включает в себя два физических интерфейса. Параметрmode: active-backup
указывает, что один интерфейс активен, а второй – резервный. - bridges: В этом разделе создается виртуальный мост
br0
, который используетbond0
в качестве своего интерфейса. Если вы хотите использовать статическую конфигурацию IP, добавьте необходимые параметры для указания адреса, маски и шлюза.
Шаг 3: Применение конфигурации
После изменения файла конфигурации вам необходимо применить новые настройки с помощью следующей команды:
sudo netplan apply
Шаг 4: Проверка состояния сетевых интерфейсов
Чтобы убедиться, что конфигурация была применена успешно и мост с агрегацией работает корректно, выполните команду:
ip a
Вы должны увидеть выходные данные, в которых будут перечислены все интерфейсы, включая bond0
и br0
, с соответствующими статусами и IP-адресами.
Заключение
Настройка виртуального моста с использованием агрегированных интерфейсов в Ubuntu 22.04.5 LTS требует от вас создания и корректной конфигурации YAML-файла с помощью Netplan. Следуя приведенным выше инструкциям, вы обеспечите надежную сетевую архитектуру для вашего сервера. Не забудьте проверить состояние настроенных интерфейсов с помощью команды ip a
, чтобы убедиться, что все работает правильно.