Solicitação DHCP única com systemd-networkd

Solicitação DHCP única com systemd-networkd

Como/é possível fazer uma solicitação DHCP única sem escrever/modificar um .networkarquivo para a interface?

Com dhclient, você poderia simplesmente executar dhclient enp23s0f4para obter um endereço IP. Estou procurando um equivalente, de preferência usando apenas ipferramentas systemd-networkdassociadas.

Para obter mais contexto, suponha que haja uma interface em um servidor que esteja fisicamente conectada a uma rede upstream, mas que esteja desconfigurada ou inativa; em particular, não tem nenhuma .networkunidade associada.

Em condições normais de trabalho, a interface deve permanecer assim, mas ocasionalmente um administrador precisa ativar a interface e configurá-la com DHCP. Anteriormente eles fariam ip link set enp23s0f4 upe depois dhclient enp23s0f4obteriam um endereço, masisc-dhcp-client foi descontinuado. networkctlpode ser usado para abrir a interface e gerenciá-la systemd-networkd, por exemplo networkctl up enp23s0f4:

# networkctl status enp23s0f4
● 2: enp23s0f4
                   Link File: /usr/lib/systemd/network/99-default.link
                Network File: n/a
                       State: degraded (unmanaged)
                Online state: unknown
                        Type: ether
                        Path: pci-0000:17:00.4
...

Obviamente, o administrador pode criar um arquivo simples de unidade de rede e configurar o dispositivo desta forma, por exemplo:

# /etc/systemd/network/enp23s0f4.network
[Match]
Name=enp23s0f4
[Network]
DHCP=yes

E então use networkctl reloadpara aplicar a configuração, mas isso traz o perigo potencial de sair do arquivo de configuração. eu sou especificamentenãopedindo esta solução e procurando por algo efêmero que não sobreviverá a uma reinicialização aleatória. O mais próximo que consigo pensar é colocar o arquivo da unidade /run/systemd/networkem vez de /etc, mas isso ainda parece uma solução alternativa desnecessária, em vez de uma solução adequada.

informação relacionada