
Я работаю над встроенной системой, и она использует 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-клиент.
я бы хотел знать
- как изменить параметр на udhcpc, и
- если возможно запустить мой собственный 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 раз.