У меня возникают проблемы с настройкой netplan на сервере Ubuntu 18.04, чтобы связать мои четыре сетевых Ethernet-порта с именем eno1, eno2, eno3, eno4 с использованием протокола 802.3ad. Я просмотрел справочную страницу netplan и собрал следующий конфигурационный файл /etc/netplan/50-cloud-init.yaml:
network:
version: 2
renderer: networkd
ethernets:
eports:
match:
name: eno*
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
После запуска команды sudo netplan --debug apply я получаю следующую информацию:
** (generate:6473): DEBUG: 00:39:14.911: Processing input file //etc/netplan/50-cloud-init.yaml..
** (generate:6473): DEBUG: 00:39:14.911: starting new processing pass
** (generate:6473): DEBUG: 00:39:14.911: eports: setting default backend to 1
** (generate:6473): DEBUG: 00:39:14.911: bond0: setting default backend to 1
** (generate:6473): DEBUG: 00:39:14.912: Generating output files..
** (generate:6473): DEBUG: 00:39:14.912: NetworkManager: definition eports is not for us (backend 1)
** (generate:6473): DEBUG: 00:39:14.912: NetworkManager: definition bond0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device eno2 operstate is up, not replugging
DEBUG:netplan triggering .link rules for eno2
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:replug eno3: unbinding 0000:03:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno3: rebinding 0000:03:00.0 to /sys/bus/pci/drivers/igb
DEBUG:replug eno1: unbinding 0000:01:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno1: rebinding 0000:01:00.0 to /sys/bus/pci/drivers/igb
DEBUG:Cannot replug bond0: cannot read link /sys/class/net/bond0/device: [Errno 2] No such file or directory: '/sys/class/net/bond0/device'
DEBUG:netplan triggering .link rules for bond0
DEBUG:replug eno4: unbinding 0000:04:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno4: rebinding 0000:04:00.0 to /sys/bus/pci/drivers/igb
Я не уверен, что делать с оператором
Cannot replug bond0: cannot read link /sys/class/net/bond0/device: [Errno 2] No such file or directory: '/sys/class/net/bond0/device'
, так как каталог /sys/class/net/bond0 был сгенерирован командой netplan apply.
Я проверил свой ifconfig и мои сетевые устройства настроены правильно, за исключением того, что для bond0 не установлен адрес:
bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 112768 bytes 7785014 (7.7 MB)
RX errors 0 dropped 54 overruns 0 frame 0
TX packets 18854 bytes 2337896 (2.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 290 bytes 19322 (19.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 55 bytes 6820 (6.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf400000-df47ffff
eno2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 73991 bytes 29824155 (29.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20848 bytes 2110417 (2.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf300000-df37ffff
eno3: flags=6147<UP,BROADCAST,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf200000-df27ffff
eno4: flags=6147<UP,BROADCAST,SLAVE,MULTICAST> mtu 1500
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf100000-df17ffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2923 bytes 184477 (184.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2923 bytes 184477 (184.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Операторы ether XX:XX:XX:XX:XX:XX вместо MAC-адреса каждого интерфейса. В исходном выпуске все адреса одинаковы.
Что мне не хватает для успешной настройки моей системы?
После некоторого копания я обнаружил, что Ubuntu 18.04 использует утилиту под названием cloud-init для обработки конфигурации сети и инициализации во время последовательности загрузки. Файл /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg и другие .cfg файлы используются для перенастройки настроек cloud-init. Настройки моего конфигурационного файла следующие:
network:
version: 2
ethernets:
eports:
match:
name: eno*
optional: true
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
Параметр optional: true не позволяет системе ждать действительного сетевого подключения во время загрузки, что избавит вас от ожидания ожидания в течение 2 минут для вашего компьютера загрузки. После обновления конфигурационного файла выполните следующую команду, чтобы обновить вашу конфигурацию.
cloud-init clean -reboot
В качестве альтернативы запуск следующего разрешает некоторую отладочную информацию без перезагрузки вашей машины; однако для выполнения изменений на ранних этапах загрузки потребуется перезагрузка.
cloud-init clean
cloud-init init
cloud-init status
После некоторого копания я обнаружил, что Ubuntu 18.04 использует утилиту под названием cloud-init для обработки конфигурации сети и инициализации во время последовательности загрузки. Файл /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg и другие .cfg файлы используются для перенастройки настроек cloud-init. Настройки моего конфигурационного файла следующие:
network:
version: 2
ethernets:
eports:
match:
name: eno*
optional: true
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
Параметр optional: true не позволяет системе ждать действительного сетевого подключения во время загрузки, что избавит вас от ожидания ожидания в течение 2 минут для вашего компьютера загрузки. После обновления конфигурационного файла выполните следующую команду, чтобы обновить вашу конфигурацию.
cloud-init clean -reboot
В качестве альтернативы запуск следующего разрешает некоторую отладочную информацию без перезагрузки вашей машины; однако для выполнения изменений на ранних этапах загрузки потребуется перезагрузка.
cloud-init clean
cloud-init init
cloud-init status
После некоторого копания я обнаружил, что Ubuntu 18.04 использует утилиту под названием cloud-init для обработки конфигурации сети и инициализации во время последовательности загрузки. Файл /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg и другие .cfg файлы используются для перенастройки настроек cloud-init. Настройки моего конфигурационного файла следующие:
network:
version: 2
ethernets:
eports:
match:
name: eno*
optional: true
bonds:
bond0:
interfaces: [eports]
addresses: [192.168.1.101/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
Параметр optional: true не позволяет системе ждать действительного сетевого подключения во время загрузки, что избавит вас от ожидания ожидания в течение 2 минут для вашего компьютера загрузки. После обновления конфигурационного файла выполните следующую команду, чтобы обновить вашу конфигурацию.
cloud-init clean -reboot
В качестве альтернативы запуск следующего разрешает некоторую отладочную информацию без перезагрузки вашей машины; однако для выполнения изменений на ранних этапах загрузки потребуется перезагрузка.
cloud-init clean
cloud-init init
cloud-init status