Wie wird udhcpc ausgeführt und wie kann man es ändern?

Wie wird udhcpc ausgeführt und wie kann man es ändern?

Ich arbeite an einem eingebetteten System und es verwendet udhcpc als DHCP-Client. Es scheint mit den folgenden Parametern zu laufen:

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

Ich möchte die Parameter ändern oder meinen eigenen DHCP-Client ausführen. Ich habe gesucht und glaube, es hat etwas mit ifup und /etc/network/interfaces zu tun.

iface eth0 inet dhcp

Aber ich sehe keine Möglichkeit, den DHCP-Client zu ändern.

ich würde gerne wissen

  1. wie man den Parameter in udhcpc ändert, und
  2. wenn es möglich ist, meinen eigenen DHCP-Client auszuführen, ohne udhcpc zu beenden

Danke!

Antwort1

Ihr System scheint eine leichte Version/Variante von Debian zu sein, basierend auf busybox.

busyboxwird normalerweise entweder als Wiederherstellungsmedium oder für eingebettete Systeme mit begrenzten Ressourcen verwendet.

Zum Ändern der Parameter können Sie die Funktion udhcpcautomatisch aufrufen.

Sie können /etc/network/interfacesFolgendes ändern:

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

Um einen anderen DHCP-Client auszuführen, müssen Sie diesen installieren. Sie müssen ihn jedoch austauschen, udhcpcsofern Sie nicht über andere Schnittstellen verfügen.

Bedenken Sie, dass es sich, da udhcpces Teil von ist busybox, nur um einen Link zu einer globalen Binärdatei handelt, die Ihnen eine Arbeitsumgebung bereitstellt, und dass Sie daher beim Wechseln zwischen DHCP-Clients keinen Platz sparen.

Antwort2

Die von Martin Trenkmann vorgeschlagene Lösung hat bei mir nicht funktioniert (mit udhcpc_opts). Auf meinem System hat es jedoch /etc/network/interfacesfunktioniert, wenn ich die folgenden Zeilen hinzufüge:

auto eth0
iface eth0 inet dhcp
        hostname myhostname

Dies veranlasste BusyBox zur Ausführung:

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

(Gefunden amhttps://wiki.alpinelinux.org/wiki/Udhcpc)

Antwort3

Wie ändere ich den Parameter in udhcpc?

Sie können udhcpc_optshierfür verwenden.

iface eth0 inet dhcp
  udhcpc_opts -t 10
  ...

Das obige Beispiel zeigtAbonnierenhöchstens 10 Mal versuchen, einen Mietvertrag zu bekommen.

verwandte Informationen