Criar mas não atribuir endereço à Netplan

1

Eu tenho uma interface que quero abrir na inicialização, mas, caso contrário, deixo de ser configurada. Sem DHCP, sem IP estático. Existe uma maneira de fazer isso com o Netplan em 18.04?

Eu tentei o seguinte (em que enp10s0f1 é o dispositivo em questão), mas ele ainda deixa a interface inativa:

# 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

A razão disso é que eu tenho containers LXD usando essa interface via macvlan bridging, então a interface precisa estar ativa, mas não precisa (e prefiro não ter) um endereço IP no host. Eu realmente prefiro não lembrar de ip link set up enp10s0f1 quando eu reiniciar.

Atualização:

Eu encontrei este relatório de bug no Launchpad do Netplan que parece relacionado, mas, da melhor maneira que eu posso dizer, é para o caso oposto: diga ao Netplan para configurar uma interface, mas não a abra automaticamente. No entanto, meio que sugere que o que eu quero fazer ainda não é possível. É esse o caso? Existe alguma solução além de abandonar a Netplan?

    
por Nick 17.05.2018 / 09:16

1 resposta

0

Este é, na verdade, um bug no Netplan: bug # 1728134 , bug # 1763608 . Um dos desenvolvedores de netplan reconheceu este último, mas não está claro se uma correção será ou não fornecida.

Uma alternativa seria criar manualmente uma unidade do systemd para ativar a interface. Crie um arquivo /etc/systemd/system/manual-iface.service com o seguinte conteúdo:

[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

Em seguida, ative-o para executar na inicialização:

sudo systemctl enable manual-iface.service

E você é bom para ir. Você deve ver enp10s0f1 aparece automaticamente na próxima vez que inicializar.

Como alternativa, se você não quiser fazer isso, reverter para ifupdown ainda é uma opção, como a pergunta é feita. O fallback é descrito aqui . Para resumir, instale o ifupdown e, em seguida, você pode fazer a configuração usando o tradicional /etc/network/interfaces (que é bem documentado na web).

    
por Nick 17.05.2018 / 22:23