Вопрос или проблема
Я готовлю миграцию сервера UBUNTU 16.04.7 с 5 сетевыми интерфейсами на 20.04.
Мой тестовый сервер имеет 4 сетевых интерфейса: 2 встроенных и 2 как Intel Pro NIC. Настроен в 00-installer-config.yaml. Первый интерфейс настроен как:
version: 2
renderer: networkd
ethernets:
enp65s0f0:
addresses: [10.1.11.230/24]
gateway4: 10.1.11.11
nameservers:
addresses: [10.1.11.11, 1.1.1.1]
enp193s0f0:
optional: true
enp193s0f1:
optional: true
enp65s0f1:
optional: true
Эта часть работает. Следующие 3 сетевых интерфейса будут объединены в bond0, с VLAN поверх и мостами:
bonds:
bond0:
interfaces: [enp193s0f0, enp193s0f1, enp65s0f1]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
min-links: 1
vlans:
vlan1:
id: 1
link: bond0
vlan11:
id: 11
link: bond0
vlan240:
id: 240
link: bond0
bridges:
br100:
interfaces: [vlan1]
br11:
interfaces: [vlan11]
br240:
interfaces: [vlan240]
bond0 не работает. Я искал и пробовал всевозможные варианты с порядком интерфейсов, dhcp4: false, dhcp6: false, optional:true, используя только интерфейсы IntelPro для объединения. Я просмотрел ответы на этом и других форумах, но пока решения не нашел.
- Что не так с моей конфигурацией? Что-то недостает?
- Поддерживается ли архитектура, к которой я стремлюсь? Я хочу, чтобы мои KVM-гостевые системы использовали мост, чтобы они могли общаться друг с другом без необходимости в физическом коммутаторе и без настройки VLAN на гостях. Это прекрасно работало в Ub16.04.
Мой коммутатор – HP V1910-24G и имеет 4 других работающих магистральных соединения (LACP/802.3ad), с сервером Ub16.04 (4 NIC) и 3 QNAP NAS, каждый с двумя NIC.
Смотрите следующие выводы на моем Ubuntu 20.04 с указанной выше конфигурацией netplan:
networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp65s0f0 ether routable configured
3 enp65s0f1 ether enslaved configured
4 enp193s0f0 ether enslaved configured
5 enp193s0f1 ether enslaved configured
6 bond0 bond degraded configured
7 br100 bridge degraded configured
8 br11 bridge degraded configured
9 br240 bridge degraded configured
10 vlan.240 vlan carrier unmanaged
11 vlan.11 vlan carrier unmanaged
12 vlan.1 vlan carrier unmanaged
13 virbr0 bridge no-carrier unmanaged
14 virbr0-nic ether off unmanaged
17 vnet0 ether degraded unmanaged
ip link
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: enp65s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether d0:50:99:d4:bc:e3 brd ff:ff:ff:ff:ff:ff
3: enp65s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
4: enp193s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
5: enp193s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
7: br100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
8: br11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
9: br240: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
10: vlan.240@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br240 state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
11: vlan.11@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br11 state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
12: vlan.1@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br100 state UP mode DEFAULT group default qlen 1000
link/ether 16:3d:9c:75:6b:c5 brd ff:ff:ff:ff:ff:ff
13: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:f4:49:5c brd ff:ff:ff:ff:ff:ff
14: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:f4:49:5c brd ff:ff:ff:ff:ff:ff
17: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br11 state UNKNOWN mode DEFAULT group default qlen 1000
link/ether fe:54:00:d2:56:7d brd ff:ff:ff:ff:ff:ff
netplan --debug apply
** (generate:11473): DEBUG: 13:54:31.627: Обработка входного файла /etc/netplan/00-installer-config.yaml..
** (generate:11473): DEBUG: 13:54:31.628: начинается новый процесс обработки
** (generate:11473): DEBUG: 13:54:31.628: У нас есть некоторые netdefs, пропустим их через окончательную проверку
** (generate:11473): DEBUG: 13:54:31.628: vlan240: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: bond0: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: br11: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: enp65s0f1: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: enp65s0f0: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: vlan11: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: enp193s0f1: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: br100: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: vlan1: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: enp193s0f0: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: br240: установка значения по умолчанию для бэкенда на 1
** (generate:11473): DEBUG: 13:54:31.628: Конфигурация корректна
** (generate:11473): DEBUG: 13:54:31.628: Генерация выходных файлов..
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение enp65s0f0 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение enp65s0f0 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение enp193s0f0 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение enp193s0f0 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение enp193s0f1 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение enp193s0f1 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение enp65s0f1 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение enp65s0f1 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение bond0 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение bond0 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение vlan1 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение vlan1 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение vlan11 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение vlan11 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение vlan240 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение vlan240 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение br100 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение br100 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение br11 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение br11 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: openvswitch: определение br240 нам не подходит (backend 1)
** (generate:11473): DEBUG: 13:54:31.629: NetworkManager: определение br240 нам не подходит (backend 1)
(generate:11473): GLib-DEBUG: 13:54:31.629: posix_spawn avoided (fd close requested)
(generate:11473): GLib-DEBUG: 13:54:31.630: posix_spawn avoided (fd close requested)
DEBUG:netplan сгенерировал изменение конфигурации networkd, перезапуск networkd
DEBUG:enp65s0f0 не найден в {}
DEBUG:enp193s0f0 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}}
DEBUG:enp193s0f1 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}, 'enp193s0f0': {'optional': True}}
DEBUG:enp65s0f1 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}, 'enp193s0f0': {'optional': True}, 'enp193s0f1': {'optional': True}}
DEBUG:br100 не найден в {}
DEBUG:br11 не найден в {'br100': {'interfaces': ['vlan1']}}
DEBUG:br240 не найден в {'br100': {'interfaces': ['vlan1']}, 'br11': {'interfaces': ['vlan11']}}
DEBUG:bond0 не найден в {}
DEBUG:vlan1 не найден в {}
DEBUG:vlan11 не найден в {'vlan1': {'id': 1, 'link': 'bond0'}}
DEBUG:vlan240 не найден в {'vlan1': {'id': 1, 'link': 'bond0'}, 'vlan11': {'id': 11, 'link': 'bond0'}}
DEBUG:Объединенная конфигурация:
network:
bonds:
bond0:
interfaces:
- enp193s0f0
- enp193s0f1
- enp65s0f1
parameters:
lacp-rate: fast
mii-monitor-interval: 100
min-links: 1
mode: 802.3ad
bridges:
br100:
interfaces:
- vlan1
br11:
interfaces:
- vlan11
br240:
interfaces:
- vlan240
ethernets:
enp193s0f0:
optional: true
enp193s0f1:
optional: true
enp65s0f0:
addresses:
- 10.1.11.230/24
gateway4: 10.1.11.11
nameservers:
addresses:
- 10.1.11.11
- 1.1.1.1
enp65s0f1:
optional: true
ovs_ports: {}
vlans:
vlan1:
id: 1
link: bond0
vlan11:
id: 11
link: bond0
vlan240:
id: 240
link: bond0
wifis: {}
DEBUG:Пропускаем не физический интерфейс: lo
DEBUG:статус устройства enp65s0f0 'up', не меняем
DEBUG:Пропускаем составной член enp65s0f1
DEBUG:Пропускаем составной член enp193s0f0
DEBUG:Пропускаем составной член enp193s0f1
DEBUG:Пропускаем не физический интерфейс: bond0
DEBUG:Пропускаем не физический интерфейс: br100
DEBUG:Пропускаем не физический интерфейс: br11
DEBUG:Пропускаем не физический интерфейс: br240
DEBUG:Пропускаем не физический интерфейс: vlan.240
DEBUG:Пропускаем не физический интерфейс: vlan.11
DEBUG:Пропускаем не физический интерфейс: vlan.1
DEBUG:Пропускаем не физический интерфейс: virbr0
DEBUG:Пропускаем не физический интерфейс: virbr0-nic
DEBUG:Пропускаем не физический интерфейс: vnet0
DEBUG:{}
DEBUG:netplan вызывает правила .link для lo
DEBUG:netplan вызывает правила .link для enp65s0f0
DEBUG:netplan вызывает правила .link для enp65s0f1
DEBUG:netplan вызывает правила .link для enp193s0f0
DEBUG:netplan вызывает правила .link для enp193s0f1
DEBUG:netplan вызывает правила .link для bond0
DEBUG:netplan вызывает правила .link для br100
DEBUG:netplan вызывает правила .link для br11
DEBUG:netplan вызывает правила .link для br240
DEBUG:netplan вызывает правила .link для vlan.240
DEBUG:netplan вызывает правила .link для vlan.11
DEBUG:netplan вызывает правила .link для vlan.1
DEBUG:netplan вызывает правила .link для virbr0
DEBUG:netplan вызывает правила .link для virbr0-nic
DEBUG:netplan вызывает правила .link для vnet0
DEBUG:enp65s0f0 не найден в {}
DEBUG:enp193s0f0 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}}
DEBUG:enp193s0f1 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}, 'enp193s0f0': {'optional': True}}
DEBUG:enp65s0f1 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}, 'enp193s0f0': {'optional': True}, 'enp193s0f1': {'optional': True}}
DEBUG:br100 не найден в {}
DEBUG:br11 не найден в {'br100': {'interfaces': ['vlan1']}}
DEBUG:br240 не найден в {'br100': {'interfaces': ['vlan1']}, 'br11': {'interfaces': ['vlan11']}}
DEBUG:bond0 не найден в {}
DEBUG:vlan1 не найден в {}
DEBUG:vlan11 не найден в {'vlan1': {'id': 1, 'link': 'bond0'}}
DEBUG:vlan240 не найден в {'vlan1': {'id': 1, 'link': 'bond0'}, 'vlan11': {'id': 11, 'link': 'bond0'}}
DEBUG:Объединенная конфигурация:
network:
bonds:
bond0:
interfaces:
- enp193s0f0
- enp193s0f1
- enp65s0f1
parameters:
lacp-rate: fast
mii-monitor-interval: 100
min-links: 1
mode: 802.3ad
bridges:
br100:
interfaces:
- vlan1
br11:
interfaces:
- vlan11
br240:
interfaces:
- vlan240
ethernets:
enp193s0f0:
optional: true
enp193s0f1:
optional: true
enp65s0f0:
addresses:
- 10.1.11.230/24
gateway4: 10.1.11.11
nameservers:
addresses:
- 10.1.11.11
- 1.1.1.1
enp65s0f1:
optional: true
ovs_ports: {}
vlans:
vlan1:
id: 1
link: bond0
vlan11:
id: 11
link: bond0
vlan240:
id: 240
link: bond0
wifis: {}
DEBUG:Пропускаем не физический интерфейс: lo
DEBUG:статус устройства enp65s0f0 'up', не меняем
DEBUG:Пропускаем составной член enp65s0f1
DEBUG:Пропускаем составной член enp193s0f0
DEBUG:Пропускаем составной член enp193s0f1
DEBUG:Пропускаем не физический интерфейс: bond0
DEBUG:Пропускаем не физический интерфейс: br100
DEBUG:Пропускаем не физический интерфейс: br11
DEBUG:Пропускаем не физический интерфейс: br240
DEBUG:Пропускаем не физический интерфейс: vlan.240
DEBUG:Пропускаем не физический интерфейс: vlan.11
DEBUG:Пропускаем не физический интерфейс: vlan.1
DEBUG:Пропускаем не физический интерфейс: virbr0
DEBUG:Пропускаем не физический интерфейс: virbr0-nic
DEBUG:Пропускаем не физический интерфейс: vnet0
DEBUG:{}
DEBUG:netplan вызывает правила .link для lo
DEBUG:netplan вызывает правила .link для enp65s0f0
DEBUG:netplan вызывает правила .link для enp65s0f1
DEBUG:netplan вызывает правила .link для enp193s0f0
DEBUG:netplan вызывает правила .link для enp193s0f1
DEBUG:netplan вызывает правила .link для bond0
DEBUG:netplan вызывает правила .link для br100
DEBUG:netplan вызывает правила .link для br11
DEBUG:netplan вызывает правила .link для br240
DEBUG:netplan вызывает правила .link для vlan.240
DEBUG:netplan вызывает правила .link для vlan.11
DEBUG:netplan вызывает правила .link для vlan.1
DEBUG:netplan вызывает правила .link для virbr0
DEBUG:netplan вызывает правила .link для virbr0-nic
DEBUG:netplan вызывает правила .link для vnet0
DEBUG:enp65s0f0 не найден в {}
DEBUG:enp193s0f0 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}}
DEBUG:enp193s0f1 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}, 'enp193s0f0': {'optional': True}}
DEBUG:enp65s0f1 не найден в {'enp65s0f0': {'addresses': ['10.1.11.230/24'], 'gateway4': '10.1.11.11', 'nameservers': {'addresses': ['10.1.11.11', '1.1.1.1']}}, 'enp193s0f0': {'optional': True}, 'enp193s0f1': {'optional': True}}
DEBUG:br100 не найден в {}
DEBUG:br11 не найден в {'br100': {'interfaces': ['vlan1']}}
DEBUG:br240 не найден в {'br100': {'interfaces': ['vlan1']}, 'br11': {'interfaces': ['vlan11']}}
DEBUG:bond0 не найден в {}
DEBUG:vlan1 не найден в {}
DEBUG:vlan11 не найден в {'vlan1': {'id': 1, 'link': 'bond0'}}
DEBUG:vlan240 не найден в {'vlan1': {'id': 1, 'link': 'bond0'}, 'vlan11': {'id': 11, 'link': 'bond0'}}
DEBUG:Объединенная конфигурация:
network:
bonds:
bond0:
interfaces:
- enp193s0f0
- enp193s0f1
- enp65s0f1
parameters:
lacp-rate: fast
mii-monitor-interval: 100
min-links: 1
mode: 802.3ad
bridges:
br100:
interfaces:
- vlan1
br11:
interfaces:
- vlan11
br240:
interfaces:
- vlan240
ethernets:
enp193s0f0:
optional: true
enp193s0f1:
optional: true
enp65s0f0:
addresses:
- 10.1.11.230/24
gateway4: 10.1.11.11
nameservers:
addresses:
- 10.1.11.11
- 1.1.1.1
enp65s0f1:
optional: true
ovs_ports: {}
vlans:
vlan1:
id: 1
link: bond0
vlan11:
id: 11
link: bond0
vlan240:
id: 240
link: bond0
wifis: {}
Я на исходе своих возможностей и готов удалить cloud-init/netplan и вернуть обратно к рабочей конфигурации, которую я имел в 16.04.
Спасибо, что прочитали до этого момента.
Фрэнк
Я думаю, ваши VLAN названы неправильно, они должны содержать имя интерфейса
vlans:
bond0.1:
id: 1
link: bond0
...
И я предполагаю, вы удалили адреса/dhcp специально из примера.
Обновление – извините, я сам себя запутал. Вам нужно указать номер VLAN в именах мостов, это именно то, что работает для меня (это виртуальный мост для внутренней связи, интерфейсы не подключены)
network:
bridges:
maasbr0:
addresses: [ 10.244.40.1/21, ]
vlans:
maasbr0.2678:
link: maasbr0
id: 2678
addresses: [ 10.244.8.1/24 ]
maasbr0.2733:
link: maasbr0
id: 2733
addresses: [ 192.168.33.1/25 ]
maasbr0.2734:
link: maasbr0
id: 2734
addresses: [ 10.244.32.1/21 ]
maasbr0.2735:
link: maasbr0
id: 2735
addresses: [ 192.168.35.1/26 ]
maasbr0.2736:
link: maasbr0
id: 2736
addresses: [ 192.168.36.1/26 ]
Ответ или решение
Настройка объединения, VLAN и мостов в Ubuntu 20.04 с использованием Netplan
Ваша задача состоит в том, чтобы перенести сервер с Ubuntu 16.04 на 20.04, используя связку сетевых интерфейсов (bonding), VLAN и мосты для работы с KVM-гостями. Давайте разберём вашу текущую конфигурацию и выявим ошибки.
Анализ проблемы
Ваша текущая конфигурация отображает неудачную попытку настроить объединённый интерфейс bond0
, который на данный момент находится в состоянии "degraded". Это означает, что система не может правильно обработать bonding, что вызывает проблемы с VLAN и мостами.
-
Соответствие VLAN и мостов: Вы используете обычные имена для VLAN-ов, такие как
vlan1
,vlan11
иvlan240
. В некоторых случаях для упрощения настройки имеет смысл добавить в название VLAN ссылку на интерфейс, который он использует, например,bond0.1
,bond0.11
, и так далее. Это позволяет системе лучше идентифицировать конфигурацию и облегчить трафик. -
Атрибуты интерфейсов: Убедитесь, что атрибуты
optional: true
установлены для интерфейсов, которые не являются основными. Это важно, чтобы система загружалась, даже если некоторые интерфейсы временно недоступны при старте. -
Интерфейсы мостов: Мосты должны связываться непосредственно с VLAN, эти связи должны быть четко определены в конфигурации. Например, мост
br100
может быть связан с интерфейсомvlan1
, но в вашем случае это может быть неправильно указано.
Рекомендованная конфигурация
Вот пример того, как ваша конфигурация может выглядеть:
network:
version: 2
renderer: networkd
ethernets:
enp65s0f0:
addresses: [10.1.11.230/24]
gateway4: 10.1.11.11
nameservers:
addresses: [10.1.11.11, 1.1.1.1]
enp193s0f0:
optional: true
enp193s0f1:
optional: true
enp65s0f1:
optional: true
bonds:
bond0:
interfaces: [enp193s0f0, enp193s0f1, enp65s0f1]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
min-links: 1
vlans:
bond0.1:
id: 1
link: bond0
bond0.11:
id: 11
link: bond0
bond0.240:
id: 240
link: bond0
bridges:
br100:
interfaces: [bond0.1]
br11:
interfaces: [bond0.11]
br240:
interfaces: [bond0.240]
Проверка и отладка
После внесения изменений в конфигурацию выполните команду для её применения:
sudo netplan apply
Затем проверьте состояние ваших сетевых интерфейсов с помощью:
networkctl list
ip link
Обратите внимание на состояние bond0
, мостов и VLAN. Если они все находятся в состоянии "UP", переходите к тестированию сетевого взаимодействия.
Заключение
Вы правильно выбрали архитектуру с использованием bonded интерфейсов и VLAN для изоляции трафика между KVM-гостями. Однако ошибки в конфигурации не позволили вам достичь цели. Предложенные исправления должны помочь устранить проблемы, позволяя вам настроить необходимую сетевую связь так же, как это было на Ubuntu 16.04.
Убедитесь, что использование объединенного интерфейса и VLAN поддерживается в вашей инфраструктуре сети, особенно если вы используете коммутаторы, которые требуют специфической конфигурации LACP.
Если у вас останутся вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться за поддержкой!