README.udhcpc
./udhcpc -i eth1 -f -q --script=./samples/dhcpc_info.sh
udhcp クライアント (udhcpc)
本udhcpクライアントはDHCPサーバからリースを行い、リース時と開放時にスクリプトを 呼びます(訳注:-sで指定したスクリプトが呼ばれます)。
コマンドラインオプション
udhcp用コマンドラインオプション:
-c, --clientid=CLIENTID Client identifier -H, --hostname=HOSTNAME クライアントホスト名 -h, エイリアス -H と同意 -f, --foreground リース取得後にフォークしません。 -b, --background すぐにリースできない場合、バックグラウンドに 移行します。 -i, --interface=INTERFACE 対象となるイーサデバイス (初期値:eth0) -n, --now すぐにリースできない場合、終了します。 -p, --pidfile=file プロセスIDファイルの保存先パス -q, --quit リース取得後に終了します。 -r, --request=IP 要求するIPアドレス (初期値:なし) -s, --script=file dhcpイベントで呼ばれるファイル (初期値: /usr/share/udhcpc/default.script) -v, --version バージョンを表示します。
もし要求したIPアドレスが取得できなかった場合、サーバが提示したIPアドレスに 設定されます(訳注:-rオプションの説明と思われます)。
README.udhcpd
udhcpサーバ (udhcpd)
udhcpdに唯一指定できるコマンドラインオプションはコンフィグファイルのパスです。 もしコンフィグファイルが指定されない場合、udhcpdはデフォルトのコンフィグファイル /etc/udhcpd.confを使用します。例:
udhcpd /etc/udhcpd.eth1.conf
udhcpサーバはいくつかのシンプルな設定ファイルを使用します:
udhcpd.leases
udhcpd.leaseの振舞いは組込みシステム向けにデザインされています。 このファイルは定期的な時間おきに、またはSIGUSR1シグナルを受信したときに 書かれます (SIGUSR1シグナルを受け取ると、定期的な時間のカウントはリセット されます)。もしSIGUSR1のあとにudhcpdディレクトリへSIGTERMを送ると、 udhcpdはリースファイルへの書き込みを完了し、後述のスクリプトを呼び出して、 スクリプトが終了するのを待ってから終了します。シグナルを送っている間、待つ 必要はありません。ファイルに書き込む際、ファイルに書き込むための任意の スクリプトが呼ばれます。リースタイムはリースの残り時間か(システムクロックが ない環境への考慮です)、またはシステムが起動してからの時刻がファイルに書かれます。 リースタイムが終了したリースはゼロが書かれます。
ファイルフォーマット:
16バイト MACアドレス 4バイト IPアドレス 符号無し32ビット 期限 16バイト MACアドレス 4バイト IPアドレス 符号無し32ビット 期限 . etc.
例: hexdump udhcpd.leases
0000000 1000 c95a 27d9 0000 0000 0000 0000 0000 0000010 a8c0 150a 0d00 2d29 5000 23fc 8566 0000 0000020 0000 0000 0000 0000 a8c0 140a 0d00 4e29 0000030
udhcpd.conf
このフォーマットは非常にシンプルです。samples/udhcpd.confで全ての利用可能な オプションについてコメントで説明してあります。
コンパイル時のオプション
dhcpd.h には二つのコンパイル時のオプションがあります:
LEASE_TIME: コンフィグファイルに指定がなかった場合のデフォルトリースタイム。
DHCPD_CONFIG_FILE: デフォルトのコンフィグファイルパス。