
私は組み込みシステムで作業しており、DHCP クライアントとして udhcpc を使用しています。次のパラメータで実行されているようです。
/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に変更する方法、および
- udhcpcを強制終了せずに独自のDHCPクライアントを実行できるかどうか
ありがとう!
答え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
udhcpc
別の DHCP クライアントを実行する場合は、それをインストールする必要がありますが、他のインターフェイスがない限り、切り替える必要があります。
udhcpc
は の一部であるためbusybox
、作業環境を提供するグローバル バイナリへのリンクに過ぎず、DHCP クライアントを切り替えてもスペースは節約されないことに注意してください。
答え2
Martin Trenkmann が提案した解決策は、私の環境では機能しませんでした (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
答え3
パラメータをudhcpcに変更するにはどうすればいいですか?
これに使えますudhcpc_opts
。
iface eth0 inet dhcp
udhcpc_opts -t 10
...
上記の例からわかるのはudhcpcリースを取得するには最大 10 回試行する必要があります。