名前
dhcpcd - DHCP
クライアントデーモン
書式
dhcpcd [-dknrBCDHNRSTY] [-t <timeout>]
[-c <ExecFilePath>] [-h <hostname>]
[-i <vendorClassID>] [-I <clientID>]
[-l <leasetime>] [-s [ipaddr]] [-G [gateway]]
[-w <windowsize>] [-L <ConfigDir>] [interface]
説明
dhcpcd は RFC2131 (-r
オプションが指定されなかった場合)
と RFC1541 (-r
オプションが指定された場合)
に基づく DHCP
クライアントの実装である。
DHCP
サーバからホストの情報
(IP
アドレス、ネットマスク、
ブロードキャストアドレスなど)
を取得し、
そのマシンのネットワークインタフェースを設定する。
また、 RFC2131 または
RFC1541
(obsolete;すでに廃止された)
に基づく貸し出し期間
(lease time) を
更新しようと試みる。
オプション
- -d
- このフラグにより
dhcpcd
は、各実行ステップごとに
syslog(LOG_DEBUG,...)
でログを出力する。
あまり多くの出力は行わないが、
何か問題が起きた場合には解決の大きな助けとなるので、
このオプションの利用が推奨される。
dhcpcd は、その出力に
syslog 機能分類 (facility) LOCAL0
を使う。 dhcpcd
のデバッグ出力を捕捉するには、
/etc/syslog.conf ファイルに
local0.* /var/log/dhcpcd.log
という行を追加し、
kill -1 `cat /var/run/syslogd.pid`
によって syslogd
デーモンをリフレッシュすること。
- -k
- 現在動いている dhcpcd
プロセスへ SIGHUP
シグナルを送る。
SIGHUP シグナルを dhcpcd
が受け取ると、
DHCP_RELEASE
メッセージをサーバへ送り、dhcpcd
のキャッシュを破棄する。
SIGTERM
シグナルは、普通、システムを再起動する時に
shutdown(8)
が送るが、そのシグナルを
dhcpcd
が受け取った場合は、
dhcpcd は DHCP_RELEASE
メッセージを送らず、キャッシュを破棄しない。
そしてシステムが起動する時に
dhcpcd
は、システムが落ちる前に
DHCP
サーバから割り当てられていたのと
同じ IP
アドレスを要求するために、キャッシュを用いる。
- -n
- 現在動いている dhcpcd
プロセスに SIGALRM
シグナルを送り、貸し出し期間を更新させる。
dhcpcd
が稼働していない場合は、このフラグは無視され、通常の起動手順で
dhcpcd
が起動される。
- -r
- dhcpcd を RFC1541 (obsolete)
準拠で動かす。 dhcpcd
はこのオプションが指定されない限り
RFC2131 に準拠する。
- -B
- DHCP
サーバにブロードキャストでの応答を要求する。
- -C
- dhcpcd
に受信したパケットのチェックサム
(checksum) を計算させる。
- -D
- dhcpcd
に対して、そのマシンのドメイン名を、
DHCP
サーバから提供されるドメイン名オプション
(domainname option)
に設定させる。
- -H
- dhcpcd
に対して、そのマシンのホスト名を、
DHCP
サーバから提供されるホスト名オプション
(hostname option) に設定させる。
デフォルトでは dhcpcd
はそのマシンのホスト名を、
DHCP
サーバから受け取ったホスト名オプションには設定しない。
- -L <ConfigDir>
- dhcpcd
は、設定情報を格納するために、デフォルトの
/etc/dhcpc ではなく
<ConfigDir>
ディレクトリを使う。
- -S
- dhcpcd が最初の DHCP_DISCOVER
メッセージに対して
DHCP_OFFER
メッセージを受信した後であっても、
2 回目の DHCP_DISCOVER
メッセージを送信させる。
「クライアントは
DHCP_REQUEST を返答する前に 2
回目の DHCP_DISCOVER
を送信する」と仮定している
DHCP サーバもある。
- -R
- すでに存在するファイル
/etc/resolv.conf を dhcpcd
が置き換えないようにする。
- -Y
- dhcpcd が既存の /etc/yp.conf
ファイルを置き換えないようにする。
-D
を指定しない限り、ドメイン名は更新されない。
- -N
- dhcpcd が既存の /etc/ntp.conf
ファイルを置き換えないようにする。
- -T
- テスト用。 dhcpcd は DHCP
ネゴシエーションシーケンスに入るが、
実際にはインターフェースを設定しない。
しかし、ファイル
<ConfigDir>/dhcpcd-<interface>.info と
<ConfigDir>/dhcpcd-<interface>.cache
を書き込み、
<ConfigDir>/dhcpcd.exe
スクリプトを実行しようとする。
実行可能スクリプト
dhcpcd.exe のパス名は、 -c
<ExecFilePath>
オプションで変更できる。
-T オプションは主に
DHCP
サーバのテストに使われる。
同じダミーインタフェースのための複数の
IP
アドレスを取得したり、
-L <ConfigDir> や -I
<ClientID> オプション
- -t <timeout>
- どれくらいの時間
dhcpcd が IP
アドレスを取得しようと試みるかを
(秒数で) 指定する。
デフォルトは 60 秒。
dhcpcd は使用可能な IP
アドレスを取得し、親プロセスへ
0 を返すまでは
バックグラウンドへと
fork しない。 dhcpcd
が使用可能な IP
アドレスを DHCP
サーバから受け取る前にタイムアウトした場合は、
dhcpcd
は親プロセスへ終了コード
1 を返す。
- -c <ExecFilePath>
- dhcpcd
はインタフェースが設定または落される度に、
デフォルトの
<ConfigDir>/dhcpcd.exe
スクリプトではなく、
<ExecFilePath>
スクリプトを実行しようとする。
下記の「ファイル」セクションにおけるスクリプト
dhcpcd.exe
についての説明を参照すること。
- -h <hostname>
- dhcpcd が送る DHCP
メッセージのホスト名オプションに使われる文字列を指定する。
クライアントからの
DHCP
メッセージの中で、
ホスト名オプションが指定されていることを要求する
DHCP サーバもある
(特に家庭内ネットワークで使われる
DHCP サーバ)。
- -i <vendorClassID>
- ベンダークラス識別子
(vendor class identifier) を指定する。
何も指定されなかった場合、
dhcpcd
はデフォルトのベンダークラス識別子
(システム名、システムリリース、
マシンタイプ)
を用いる。
- -I <ClientID>
- クライアント識別子
(client identifier) を指定する。
何も指定されなかった場合、
dhcpcd
はデフォルトのクライアント識別子
(ネットワークインタフェースの
MAC アドレス)
を用いる。
- -l <leasetime>
- サーバへ推奨する貸し出し時間を
(秒数で) 指定する。
(サーバはこの値を、適切な値へと上書きできることに注意)。
この値は DHCP_DISCOVER
メッセージに使われる。デフォルトは無限大
(0xffffffff)。
- -s [ipaddr]
- DHCP_INFORM メッセージを ipaddr
を使って DHCP
サーバへ送る。
省略可能なパラメータ
ipaddr は xxx.xxx.xxx.xxx
という形式でなければならない。
もし、コマンドラインで
ipaddr
パラメータが与えられなければ、
dhcpcd
は現在インタフェースに割り当てられている
IP
アドレスを用いる。
もし現在、インタフェースに
IP
アドレスが割り当てられていなければ、
dhcpcd はファイル
<ConfigDir>/dhcpcd-<interface>.cache
に記録されている、以前に獲得した
IP
アドレスを用いる。
- -G [gateway]
- DHCP
サーバによって提供されたデフォルトの経路を
dhcpcd
にインストールさせないようにする。
オプションでゲートウェイ
ip
アドレスパラメータが指定された場合、
それをデフォルトの経路として使う。
- -w <windowsize>
- ゲートウェイ経路のウインドウサイズを指定する。
デフォルトは 32768
である。
- interface
- ネットワークインタフェースの名前
(eth0, eth1 など)
を指定する。
名前が明示されなかった場合、
dhcpcd
はネットワークインタフェースとして
eth0 を用いる。
ファイル
- /etc/dhcpc
- dhcpcd
によって作成されたファイルを保存するのに用いられるデフォルトの
<ConfigDir>
ディレクトリ。
上記の -L <ConfigDir>
オプションを参照すること。
- <ConfigDir>/dhcpcd-<interface>.info
- dhcpcd
がホスト情報を記録するファイル。
interface は、実際には
eth0 のような、dhcpcd
で管理されている
ネットワークインタフェースの名前で置き換えられる。
- <ConfigDir>/dhcpcd.exe
- インタフェースを設定または落す度に、
dhcpcd
が実行しようとするスクリプトファイル。
この実行可能スクリプトへのパスは、
-c <ExecFilePath>
オプションで変更できる。
dhcpcd は dhcpcd.exe
スクリプトに 3
つのパラメータを渡す。
- dhcpcd.exe
<HostInfoFilePath> <up|down|new> [-d]
- 最初のパラメータ
<HostInfoFilePath> は
dhcpcd-<interface>.info
ファイルへのパスである。
<interface> は、実際には
"eth0" のような dhcpcd
で管理されている
ネットワークインタフェースの名前で置き換えられる。
2 番目のパラメータ値
<up|down|new>
は、前と同じ IP
アドレスでインタフェースを上げる
("up")、 新しい IP
アドレスでインタフェースを上げる
("new")、
インタフェースを落す
("down")
という意味である。
パラメータ -d は、
dhcpcd
をデバッグフラグ -d
で起動する場合に渡す。
- <ConfigDir>/dhcpcd-<interface>.cache
- 以前に割り当てられた
IP
アドレスなどを含むキャッシュファイル。
<interface> は、実際には
eth0 のような、dhcpcd
で管理されている
ネットワークインタフェースの名前で置き換えられる。
- /etc/resolv.conf
- クライアントが DNS
とドメイン名オプションを受け取った時に
dhcpcd
が作成するファイル。
既に /etc/resolv.conf
が存在する場合、元のファイルは
/etc/resolv.conf.sv
という名前に変更され、何らかの理由で
dhcpcd
が終了した時には元に戻される。
- /etc/yp.conf
- クライアントが NIS
オプションを受信した場合に、
dhcpcd
によって作成されるファイル。
既に /etc/yp.conf
が存在する場合、元のファイルは
/etc/yp.conf.sv
という名前に変更され、何らかの理由で
dhcpcd
が終了した時には元に戻される。
- /etc/ntp.conf
- クライアントが NTP
オプションを受信した場合に、
dhcpcd
によって作成されるファイル。
既に /etc/ntp.conf
が存在する場合、元のファイルは
/etc/ntp.conf.sv
という名前に変更され、何らかの理由で
dhcpcd
が終了した時には元に戻される。
- <ConfigDir>/dhcpcd-<interface>.pid
- dhcpcd のプロセス ID
を格納するファイル。
<interface> は、実際には
eth0 のような、dhcpcd
で管理されている
ネットワークインタフェースの名前で置き換えられる。
関連項目
Dynamic Host Configuration Protocol, RFC2131
および RFC1541 (obsolete) DHCP Options and BOOTP Vendor
Extensions, RFC2132
バグ
dhcpcd
は貸し出しの終了期限を計算するのに
time(3)
を用いる。クライアントの実行中にシステム時刻が変更されると、
貸し出しの終了期限は予測不可能となる。
著者
バージョン 1.3 未満
Yoichi Hariguchi <yoichi@fore.com>
バージョン 1.3
Sergei Viznyuk <sv@phystech.com>