У меня есть интерфейс, который я хочу поднять при начальной загрузке, но иначе оставить ненастроенным. Никакой DHCP, никакой статический IP. Существует ли способ сделать это с Netplan в 18,04?
Я попробовал следующее (где enp10s0f1
рассматриваемое устройство), но оно все еще просто снижает интерфейс:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp10s0f0:
dhcp4: yes
enp10s0f1:
dhcp4: no
Причина это имеет значение, у меня есть контейнеры LXD с помощью того интерфейса через образование моста macvlan, таким образом, интерфейс должен произойти, но этому не нужно (и я не имел бы), IP-адрес на хосте. Я действительно предпочел бы не должен помнить ip link set up enp10s0f1
когда я перезагружаю.
Обновление:
Я нашел этот отчет об ошибках в Панели запуска Netplan, которая выглядит связанной, но настолько лучше всего, как я могу сказать, это для противоположного случая: скажите Netplan настраивать интерфейс, но автоматически не поднимать его. Однако это действительно сортирует, предполагают, что то, что я хочу сделать, не возможно еще также. Имеет место это? Есть ли какое-либо обходное решение помимо отказа от Netplan?
Редактирование, середина 2019: ошибка, которая вызвала это, была исправлена.
С этим исправлением ошибки теперь возможно поднять интерфейс без адреса путем добавления его с пустой конфигурацией: {}
.
Используя пример от вопроса, делая это с enp10s0f1
был бы похож на это:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp10s0f0:
dhcp4: yes
enp10s0f1: {}
Исходный ответ:
Это - на самом деле ошибка в Netplan: ошибка № 1728134, ошибка № 1763608. Один из netplan devs подтвердил последнего, но не ясно, будет ли фиксация обеспечена.
Одно обходное решение должно было бы вручную создать systemd единицу для перевода в рабочее состояние интерфейса. Создайте файл /etc/systemd/system/manual-iface.service
со следующим содержанием:
[Unit]
Description=Service to bring up/down unconfigured nic enp10s0f1
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set enp10s0f1 up
ExecStop=/sbin/ip link set enp10s0f1 down
[Install]
WantedBy=multi-user.target
Затем позвольте этому работать при начальной загрузке:
sudo systemctl enable manual-iface.service
И Вы хороши для движения. Необходимо видеть enp10s0f1
подходит в автоматически следующий раз, когда Вы загружаетесь.
С другой стороны, если Вы не хотите делать, это, возвращаясь к ifupdown является все еще опцией как состояния вопроса. Нейтрализация описана здесь. Подводя итоги, установите ifupdown, и затем можно реализовать конфигурацию с помощью традиционного /etc/network/interfaces
(который хорошо зарегистрирован через сеть).
Как обходное решение, если только адрес IPv4 требуется, IPv6 может быть настроен через DHCP, который автоматически включает интерфейс:
# cat /etc/netplan/10-eth1.yaml
network:
version: 2
renderer: networkd
ethernets:
eth1:
dhcp4: false
dhcp6: true
optional: true