Como o udhcpc é executado e como alterá-lo?

Como o udhcpc é executado e como alterá-lo?

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

  1. como alterar o parâmetro para udhcpc e
  2. 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 udhcpcautomaticamente.

Você pode alterar /etc/network/interfacescomo:

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, udhcpca menos que tenha outras interfaces.

Lembre-se de que, como udhcpcfaz 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/interfacesfuncionou:

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_optspara isso.

iface eth0 inet dhcp
  udhcpc_opts -t 10
  ...

O exemplo acima dizudhcpctentar no máximo 10 vezes conseguir um aluguel.

informação relacionada