Как выполняется udhcpc и как его изменить?

Как выполняется udhcpc и как его изменить?

Я работаю над встроенной системой, и она использует udhcpc в качестве своего DHCP-клиента. Кажется, он работает со следующими параметрами:

/usr/share/udhcpc # ps | grep dhcp 5366 root 2432 S udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0

Я хочу изменить параметры или запустить свой собственный DHCP-клиент. Я поискал и думаю, что это как-то связано с ifup и /etc/network/interfaces.

iface eth0 inet dhcp

Но я не вижу способа изменить DHCP-клиент.

я бы хотел знать

  1. как изменить параметр на udhcpc, и
  2. если возможно запустить мой собственный DHCP-клиент без остановки udhcpc

Спасибо!

решение1

Ваша система, судя по всему, представляет собой облегченную версию/вариацию Debian, основанную на busybox.

busyboxобычно используется либо для восстановления данных, либо для встроенных систем с ограниченными ресурсами.

Для изменения параметров можно вызвать udhcpcавтоматически.

Вы можете изменить /etc/network/interfacesкак:

iface eth0 inet manual
   pre-up /sbin/udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0

Что касается запуска другого DHCP-клиента, вам придется его установить; однако вам придется переключиться на него, udhcpcесли у вас нет других интерфейсов.

Имейте в виду, что udhcpcэто часть busybox, это всего лишь ссылка на глобальный двоичный файл, который предоставляет вам рабочую среду, и, таким образом, вы не сэкономите место, переключая DHCP-клиентов.

решение2

Решение, предложенное Мартином Тренкманном, у меня не сработало (использование udhcpc_opts). Однако в моей системе добавление следующих строк /etc/network/interfacesсработало:

auto eth0
iface eth0 inet dhcp
        hostname myhostname

Это заставило BusyBox выполнить:

$ ps aux| grep dhc
 1685 root     /sbin/udhcpc -n -p /run/udhcpc.eth0.pid -i eth0 -x hostname:myhostname

(Найдено наhttps://wiki.alpinelinux.org/wiki/Udhcpc)

решение3

Как изменить параметр на udhcpc?

udhcpc_optsДля этого можно использовать .

iface eth0 inet dhcp
  udhcpc_opts -t 10
  ...

Приведенный выше пример говоритudhcpcпопытаться получить аренду максимум 10 раз.

Связанный контент