
Estou trabalhando em um sistema embarcado e ele usa udhcpc como cliente DHCP. Parece estar rodando com os seguintes parâmetros:
/usr/share/udhcpc # ps | grep dhcp 5366 root 2432 S udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0
Quero alterar os parâmetros ou executar meu próprio cliente DHCP. Pesquisei e acho que tem algo a ver com ifup e /etc/network/interfaces.
iface eth0 inet dhcp
Mas não vejo uma maneira de modificar o cliente DHCP.
Eu gostaria de saber
- como alterar o parâmetro para udhcpc e
- se é possível executar meu próprio cliente DHCP sem matar o udhcpc
Obrigado!
Responder1
Seu sistema parece uma versão/variação leve do Debian, baseada em busybox
.
busybox
é normalmente usado para meio de recuperação ou para sistemas embarcados com recursos limitados.
Para modificar os parâmetros, você pode invocar udhcpc
automaticamente.
Você pode alterar /etc/network/interfaces
como:
iface eth0 inet manual
pre-up /sbin/udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0
Quanto à execução de outro cliente DHCP, você teria que instalá-lo; no entanto, você teria que trocá-lo, udhcpc
a menos que tenha outras interfaces.
Lembre-se de que, como udhcpc
faz parte do busybox
, é apenas um link para um binário global que fornece um ambiente de trabalho e, como tal, você não economizará espaço ao alternar clientes DHCP.
Responder2
A solução proposta por Martin Trenkmann não funcionou para mim (usando udhcpc_opts). No entanto, no meu sistema, adicionar as seguintes linhas /etc/network/interfaces
funcionou:
auto eth0
iface eth0 inet dhcp
hostname myhostname
Isso fez com que o BusyBox executasse:
$ ps aux| grep dhc
1685 root /sbin/udhcpc -n -p /run/udhcpc.eth0.pid -i eth0 -x hostname:myhostname
(Encontrado emhttps://wiki.alpinelinux.org/wiki/Udhcpc)
Responder3
Como alterar o parâmetro para udhcpc?
Você pode usar udhcpc_opts
para isso.
iface eth0 inet dhcp
udhcpc_opts -t 10
...
O exemplo acima dizudhcpctentar no máximo 10 vezes conseguir um aluguel.