
Como/é possível fazer uma solicitação DHCP única sem escrever/modificar um .network
arquivo para a interface?
Com dhclient
, você poderia simplesmente executar dhclient enp23s0f4
para obter um endereço IP. Estou procurando um equivalente, de preferência usando apenas ip
ferramentas systemd-networkd
associadas.
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 .network
unidade 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 up
e depois dhclient enp23s0f4
obteriam um endereço, masisc-dhcp-client
foi descontinuado. networkctl
pode 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 reload
para 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/network
em vez de /etc
, mas isso ainda parece uma solução alternativa desnecessária, em vez de uma solução adequada.