Manpages

名 前

dhcpd − Dynamic Host Configuration Protocol (動 的 ホ ス ト 設 定 プ ロ ト コ ル ) サ ー バ

書 式

dhcpd [ -p port ] [ -f ] [ -d ] [ -q ] [ -cf config-file ] [ -lf lease-file ] [ if0 [ ...ifN ] ]

説 明

Internet Software Consortium DHCP サ ー バ で あ る dhcpd は 、 Dynamic Host Configuration Protocol (DHCP) と Internet Bootstrap Protocol (BOOTP) と を 実 装 し た も の で あ る 。 DHCP を 用 い る と 、 TCP/IP ネ ッ ト ワ ー ク 上 の ホ ス ト は IP ア ド レ ス を 要 求 し て 割 り 当 て て も ら う こ と が で き 、 ま た 接 続 し た ネ ッ ト ワ ー ク の 情 報 を 取 得 で き ま す 。 BOOTP も 同 様 の 機 能 を 持 っ て い ま す が 、 少 々 制 限 が あ り ま す 。

動 作

DHCP プ ロ ト コ ル は 、 ネ ッ ト ワ ー ク 管 理 者 が 知 ら な い ホ ス ト に 対 し て 、 予 め そ の ネ ッ ト ワ ー ク で 用 意 さ れ た IP ア ド レ ス の 範 囲 (pool) か ら 、 自 動 的 に 新 し い IP ア ド レ ス を 割 り 当 て ま す 。 こ の 機 構 を 動 作 さ せ る に は 、 ネ ッ ト ワ ー ク 管 理 者 は ア ド レ ス の 範 囲 を 各 サ ブ ネ ッ ト ご と に 割 り 当 て て お き 、 そ れ を dhcpd.conf(5) に 書 い て お か な け れ ば な り ま せ ん 。

dhcpd は 起 動 す る と dhcpd.conf フ ァ イ ル を 読 み 、 各 サ ブ ネ ッ ト ご と に 利 用 で き る ア ド レ ス の リ ス ト を メ モ リ に 保 存 し ま す 。 ク ラ イ ア ン ト が DHCP プ ロ ト コ ル を 用 い て ア ド レ ス を 要 求 す る と 、 dhcpd は そ の ク ラ イ ア ン ト に ア ド レ ス を 割 り 当 て ま す 。 各 ク ラ イ ア ン ト に 貸 し 出 さ れ た ア ド レ ス は 、 管 理 者 が 決 め て お い た あ る 期 間 が 経 過 す る と 期 限 切 れ に な り ま す (デ フ ォ ル ト で は 1 日 )。 貸 し 出 し を 受 け た ク ラ イ ア ン ト は 、 そ の ア ド レ ス の 利 用 を 継 続 す る た め に 、 貸 し 出 し が 期 限 切 れ に な る 前 に 更 新 を 行 う こ と に な り ま す 。 貸 し 出 し が 期 限 切 れ に な る と 、 そ の 貸 し 出 し ア ド レ ス を 割 り 当 て ら れ て い た ク ラ イ ア ン ト は 、 も う そ れ 以 上 貸 し 出 さ れ て い た IP ア ド レ ス を 利 用 で き な く な り ま す 。 シ ス テ ム や サ ー バ が 再 起 動 し た 場 合 に 貸 し 出 し 情 報 を 保 持 し て お く た め に 、 dhcpd は 割 り 当 て た 貸 し 出 し の 記 録 を dhcpd.leases(5) フ ァ イ ル に 保 持 し て い ま す 。 dhcpd は ホ ス ト に 貸 し 出 し を 行 う 前 に 、 そ の 貸 出 記 録 を こ の フ ァ イ ル に 記 録 し 、 フ ァ イ ル の 内 容 を 確 実 に デ ィ ス ク に フ ラ ッ シ ュ し ま す 。 こ れ に よ っ て 、 シ ス テ ム が ク ラ ッ シ ュ し た 場 合 で も 、 dhcpd は 割 り 当 て た 貸 し 出 し の こ と を 確 実 に 覚 え て お け ま す 。 dhcpd は 、 起 動 し て dhcpd.conf フ ァ イ ル を 読 ん だ あ と 、 dhcpd.leases フ ァ イ ル を 読 ん で 、 現 在 の 貸 し 出 し 情 報 を メ モ リ に 書 き 込 み ま す 。 新 た な 貸 出 記 録 は dhcpd.leases フ ァ イ ル の 末 尾 に 追 加 さ れ ま す 。 dhcpd は 、 貸 し 出 し デ ー タ ベ ー ス が 際 限 な く 大 き く な る の を 防 ぐ た め 、 時 々 内 部 に 持 っ て い る 貸 し 出 し デ ー タ ベ ー ス か ら 新 し い dhcpd.leases フ ァ イ ル を 生 成 し ま す 。 こ の フ ァ イ ル が デ ィ ス ク に 書 き 込 ま れ る と 、 古 い フ ァ イ ル は dhcpd.leases~ と 名 前 が 変 更 さ れ 、 新 し い フ ァ イ ル が dhcpd.leases に な り ま す 。 シ ス テ ム が こ の 処 理 の 途 中 で ク ラ ッ シ ュ し て も 、 い ず れ か の dhcpd.leases フ ァ イ ル が 残 っ て い て 、 そ こ に は す べ て の 貸 し 出 し 情 報 が 残 っ て い る は ず で す 。 従 っ て 特 殊 な ク ラ ッ シ ュ リ カ バ リ 処 理 は 必 要 あ り ま せ ん 。 こ の サ ー バ は BOOTP も サ ポ ー ト し て い ま す 。 DHCP と は 異 な り 、 BOOTP プ ロ ト コ ル は 動 的 に 割 り 当 て ら れ た ア ド レ ス が 不 要 に な っ た と き 、 そ れ を 復 帰 さ せ る プ ロ ト コ ル が 存 在 し ま せ ん 。 BOOTP ク ラ イ ア ン ト に 動 的 に ア ド レ ス を 割 り 当 て る こ と は 可 能 で す が 、 ア ド レ ス を 回 収 し て 再 割 り 当 て 可 能 に す る よ う な 管 理 処 理 が 必 要 に な り ま す 。 デ フ ォ ル ト で は 、 BOOTP ク ラ イ ア ン ト へ の 貸 し 出 し は 永 続 的 な も の で す が 、 ネ ッ ト ワ ー ク 管 理 者 は (そ れ が 意 味 が あ れ ば ) 中 断 を よ り 早 く し た り 、 貸 し 出 し 期 間 を 短 く で き ま す 。

BOOTP ク ラ イ ア ン ト に 、 古 い 標 準 的 な 方 法 で ア ド レ ス を 取 得 さ せ る こ と も で き ま す 。 こ れ に は dhcpd.conf フ ァ イ ル に 各 BOOTP ク ラ イ ア ン ト 用 の 宣 言 を 書 い て 、 各 ク ラ イ ア ン ト へ 永 続 的 に ア ド レ ス を 割 り 当 て ま す 。

dhcpd.conf フ ァ イ ル に 変 更 を 行 っ た と き は 、 dhcpd は 再 起 動 し な け れ ば な り ま せ ん 。 こ れ に は SIGTERM (シ グ ナ ル 15) を /var/run/dhcpd.pid に 保 存 さ れ て い る プ ロ セ ス ID に 送 り 、 dhcpd を 再 び 起 動 し ま す 。 DHCP サ ー バ の デ ー タ ベ ー ス は BOOTP の デ ー タ ベ ー ス ほ ど 軽 量 で は な い の で 、 dhcpd は dhcpd.conf フ ァ イ ル が 変 更 さ れ た こ と を 知 っ て も 、 自 動 的 に 自 分 自 身 を 再 起 動 す る こ と は あ り ま せ ん 。 注 意 : こ れ に は た く さ ん 文 句 が 来 て い ま す 。 サ ー バ に SIGHUP を 送 る と デ ー タ ベ ー ス を リ ロ ー ド し て く れ れ ば 良 い だ ろ う な 、 と は 我 々 も 認 識 し て い ま す 。 こ れ は 技 術 的 に は 不 可 能 で は あ り ま せ ん が 、 非 常 に 多 く の 作 業 を 必 要 と し ま す 。 我 々 の リ ソ ー ス は 非 常 に 限 ら れ て お り 、 そ れ ら は 他 の と こ ろ に 振 り 向 け ら れ て い ま す 。 ど う か メ ー リ ン グ リ ス ト に 文 句 を い う の は ご 遠 慮 く だ さ い 。 こ の 機 能 を 実 装 す る プ ロ ジ ェ ク ト へ の 資 金 を 提 供 し て く だ さ る と か 、 あ な た 自 身 が 実 装 し て く だ さ る の な ら も ち ろ ん 話 は 別 で す が 。

コ マ ン ド ラ イ ン

dhcpd が ブ ロ ー ド キ ャ ス ト を 待 ち 受 け る ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス の 名 前 は 、 コ マ ン ド ラ イ ン で 指 定 で き ま す 。 ブ ロ ー ド キ ャ ス ト で な い イ ン タ ー フ ェ ー ス を dhcpd 自 身 が 特 定 で き な い よ う な 状 況 下 で は こ れ を 行 う べ き で す が 、 そ う で な け れ ば 指 定 し な く て も か ま い ま せ ん 。 イ ン タ ー フ ェ ー ス の 名 前 が コ マ ン ド ラ イ ン に ひ と つ も 指 定 さ れ な け れ ば 、 dhcpd は す べ て の ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス が 通 信 状 態 に あ る と み な し 、 可 能 な ら ブ ロ ー ド キ ャ ス ト で な い イ ン タ ー フ ェ ー ス を 対 象 か ら 外 し 、 各 イ ン タ ー フ ェ ー ス で DHCP ブ ロ ー ド キ ャ ス ト を 待 ち 受 け ま す 。

dhcpd に 標 準 の ポ ー ト (ポ ー ト 67) 以 外 で 待 機 さ せ た い 場 合 は -p フ ラ グ で 指 定 で き ま す 。 こ の 後 に は dhcpd を 待 機 さ せ る udp の ポ ー ト 番 号 を 書 き ま す 。 こ れ は デ バ ッ グ の 用 途 に 特 に 便 利 で す 。 -p フ ラ グ が 指 定 さ れ る と 、 サ ー バ は 指 定 し た 番 号 よ り も 1 つ 大 き な ポ ー ト 番 号 を 用 い て ク ラ イ ア ン ト に 返 事 を 送 り ま す 。 つ ま り -p 67 を 指 定 し た 場 合 は 、 サ ー バ は ポ ー ト 67 を 聴 き 、 ポ ー ト 68 に 返 事 を 送 り ま す 。 中 継 エ ー ジ ェ ン ト を 経 由 し な け れ ば な ら な い デ ー タ グ ラ ム は -p フ ラ グ で 指 定 し た ポ ー ト に 送 信 さ れ ま す 。 も し 別 の ポ ー ト を 使 い た い 場 合 は 、 中 継 エ ー ジ ェ ン ト を 設 定 し て 、 同 じ く 別 の ポ ー ト を 使 わ せ る よ う に し な け れ ば な り ま せ ん 。

dhcpd を バ ッ ク グ ラ ウ ン ド で デ ー モ ン と し て 動 作 さ せ る の で は な く 、 フ ォ ア グ ラ ウ ン ド プ ロ セ ス と し て 実 行 す る に は -f フ ラ グ を 指 定 し ま す 。 こ れ は dhcpd を デ バ ッ ガ の 下 で 動 作 さ せ た り 、 System V シ ス テ ム の inittab 以 外 か ら 動 作 さ せ る 場 合 に 便 利 で す 。

dhcpd の ロ グ を 標 準 エ ラ ー 出 力 に 出 し た い 場 合 は 、 -d フ ラ グ を 指 定 し ま す 。 こ れ は デ バ ッ グ の 時 に 便 利 か も し れ ま せ ん 。 ま た dhcp の 動 作 記 録 を 完 全 に 記 録 し て お き た い が 、 syslogd が 信 頼 で き な か っ た り 使 え な い よ う な 場 合 に も 便 利 で し ょ う 。 通 常 dhcpd は 、 す べ て の ロ グ 出 力 を syslog(3) 機 能 を 用 い て 出 力 し ま す 。 facility は LOG_DAEMON に 設 定 さ れ ま す 。

dhcpd に 標 準 以 外 の 設 定 フ ァ イ ル を 読 み 込 ま せ る に は -cf フ ラ グ を 用 い ま す 。 ま た 別 の 貸 し 出 し フ ァ イ ル を 指 定 す る に は -lf フ ラ グ を 使 い ま す 。 実 用 の 現 場 で は 、 dhcpd の 実 行 時 に は 、 毎 度 同 じ 貸 し 出 し デ ー タ ベ ー ス を 用 い さ せ る こ と が 重 要 で す 。 し た が っ て こ れ ら の オ プ シ ョ ン は 、 貸 し 出 し フ ァ イ ル や デ ー タ ベ ー ス フ ァ イ ル を 、 実 用 で な い 環 境 で テ ス ト す る よ う な 場 合 に 限 る べ き で す 。

dhcpd を シ ス テ ム の ス タ ー ト ア ッ プ ス ク リ プ ト (/etc/rc な ど ) か ら 起 動 す る と き に は 、 コ ピ ー ラ イ ト メ ッ セ ー ジ 全 部 を 出 力 し た く な い こ と も あ る か も し れ ま せ ん 。 こ の メ ッ セ ー ジ を 表 示 さ せ た く な い 場 合 は 、 -q フ ラ グ を 指 定 し ま す 。

設 定

dhcpd.conf(5) フ ァ イ ル の 文 法 は 別 に 説 明 さ れ て ま す 。 こ の 節 は 設 定 作 業 を 概 観 す る だ け に 使 い 、 詳 細 な リ フ ァ レ ン ス 情 報 は dhcpd.conf(5) の マ ニ ュ ア ル ペ ー ジ に あ た っ て く だ さ い 。

サ ブ ネ ッ ト

dhcpd は 、 サ ー ビ ス を 提 供 す る す べ て の サ ブ ネ ッ ト に 対 し て 、 サ ブ ネ ッ ト 番 号 と ネ ッ ト マ ス ク を 知 ら な け れ ば な り ま せ ん 。 さ ら に dhcpd が 動 的 に ア ド レ ス を 割 り 当 て る に は 、 各 サ ブ ネ ッ ト ご と に 1 つ 以 上 の ア ド レ ス 領 域 を あ て が わ れ て お く 必 要 が あ り ま す 。 ク ラ イ ア ン ト ホ ス ト が 起 動 す る ご と に 、 dhcpd は こ の 領 域 か ら ア ド レ ス を 順 番 に 割 り 当 て ま す 。 よ っ て 、 DHCP サ ポ ー ト を 提 供 す る 非 常 に 簡 単 な 設 定 は 次 の よ う に な り ま す 。

subnet 239.252.197.0 netmask 255.255.255.0 {

range 239.252.197.10 239.252.197.250; } 次 の よ う に 複 数 の ア ド レ ス 領 域 を 指 定 す る こ と も で き ま す 。

subnet 239.252.197.0 netmask 255.255.255.0 {

range 239.252.197.10 239.252.197.107;

range 239.252.197.113 239.252.197.250;

}

BOOTP サ ー ビ ス だ け を 提 供 し 、 動 的 な ア ド レ ス 割 り 当 て は 提 供 し な い 場 合 は 、 ア ド レ ス 範 囲 の 項 目 は 省 略 し 、 subnet 文 だ け を 書 い て お け ば OK で す 。

貸 し 出 し 期 間

DHCP 貸 し 出 し 期 間 は 、 0 秒 か ら 無 限 ま で の 、 ほ と ん ど あ ら ゆ る 長 さ に で き ま す 。 あ る サ ブ ネ ッ ト に 対 し て 、 あ る い は 導 入 さ れ た シ ス テ ム に 対 し て 、 ど の よ う な 長 さ が 良 い か は 、 サ ー ビ ス を 受 け る ホ ス ト の 種 類 に よ っ て 異 な り ま す 。 例 え ば 、 シ ス テ ム が 時 々 追 加 /削 除 さ れ る が 、 移 動 す る こ と は あ ま り な い よ う な オ フ ィ ス 環 境 で は 、 貸 し 出 し 期 間 は 1 か 月 よ り 長 く し て お く の が 良 い で し ょ う 。 組 み 立 て フ ロ ア の 最 終 テ ス ト 環 境 で は 、 最 大 貸 し 出 し 期 間 は 30 分 程 度 (す な わ ち 出 荷 前 の 簡 単 な ネ ッ ト ワ ー ク 動 作 確 認 テ ス ト に 充 分 な く ら い ) に し て お く の が い い で し ょ う 。 貸 し 出 し 期 間 を 2 種 類 指 定 す る こ と も で き ま す 。 ク ラ イ ア ン ト が 特 に 貸 し 出 し 期 間 に 関 す る 要 望 を 送 っ て こ な か っ た 場 合 の デ フ ォ ル ト の 期 間 と 、 最 大 貸 し 出 し 期 間 と で す 。 こ れ ら は subnet コ マ ン ド の 内 部 項 目 と し て 指 定 し ま す 。

subnet 239.252.197.0 netmask 255.255.255.0 {

range 239.252.197.10 239.252.197.107;

default-lease-time 600;

max-lease-time 7200;

} こ の subnet 宣 言 で は 、 デ フ ォ ル ト の 貸 し 出 し 期 間 を 600 秒 (10 分 )、 最 大 貸 し 出 し 期 間 を 7200 秒 (2 時 間 ) に し て あ り ま す 。 他 に 良 く 使 わ れ る 値 と し て は 、 86400 (1 日 )、 604800 (1 週 間 )、 2592000 (30 日 ) な ど が あ り ま す 。 各 サ ブ ネ ッ ト に 別 々 の 貸 し 出 し 期 間 を 指 定 し て も か ま い ま せ ん 。 オ フ ィ ス 環 境 と 組 み 立 て 環 境 と を 同 じ DHCP サ ー バ に サ ー ビ ス さ せ る よ う な 場 合 に は 、 各 サ ブ ネ ッ ト の デ フ ォ ル ト /最 大 貸 し 出 し 期 間 そ れ ぞ れ に 、 大 き く 異 な る 値 を 指 定 す る の が 良 い こ と も あ る で し ょ う 。

BOOTP サ ポ ー ト

BOOTP ク ラ イ ア ン ト は 、 そ れ ぞ れ dhcpd.conf フ ァ イ ル に 明 示 的 に 宣 言 し て お く 必 要 が あ り ま す 。 も っ と も 基 本 的 な 宣 言 で は 、 ク ラ イ ア ン ト の ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス の ハ ー ド ウ ェ ア ア ド レ ス と 、 そ の ク ラ イ ア ン ト に 割 り 当 て る IP ア ド レ ス と を 指 定 し ま す 。 ク ラ イ ア ン ト が サ ー バ か ら 起 動 フ ァ イ ル を ロ ー ド で き る よ う に し た い 場 合 は 、 そ の フ ァ イ ル 名 も 指 定 し な け れ ば な り ま せ ん 。 簡 単 な bootp ク ラ イ ア ン ト 宣 言 は 次 の よ う に な り ま す 。

host haagen {

hardware ethernet 08:00:2b:4c:59:23;

fixed-address 239.252.197.9;

filename "/tftpboot/haagen.boot";

}

オ プ シ ョ ン

DHCP で は (お よ び ベ ン ダ に よ る 拡 張 の な さ れ た BOOTP で も )、 ク ラ イ ア ン ト で の ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス の 設 定 情 報 (例 え ば サ ブ ネ ッ ト マ ス ク な ど ) と か 、 ク ラ イ ア ン ト か ら ネ ッ ト ワ ー ク サ ー ビ ス (DNS や IP ル ー タ な ど ) に ア ク セ ス す る た め の 情 報 な ど を 、 サ ー バ か ら 提 供 す る 機 構 を 備 え て い ま す 。 こ れ ら の オ プ シ ョ ン は サ ブ ネ ッ ト 単 位 で 指 定 で き ま す 。 BOOTP ク ラ イ ア ン ト に 対 し て は 、 ク ラ イ ア ン ト 単 位 で も 指 定 で き ま す 。 BOOTP ク ラ イ ア ン ト 宣 言 で オ プ シ ョ ン 指 定 が さ れ て い て 、 か つ そ の サ ブ ネ ッ ト 宣 言 で も オ プ シ ョ ン 指 定 が さ れ て い る 場 合 は 、 ク ラ イ ア ン ト 宣 言 で の オ プ シ ョ ン が 優 先 さ れ ま す 。 ほ ぼ 完 全 な DHCP 設 定 は 、 次 の よ う に な る で し ょ う 。

subnet 239.252.197.0 netmask 255.255.255.0 {

range 239.252.197.10 239.252.197.250;

default-lease-time 600 max-lease-time 7200;

option subnet-mask 255.255.255.0;

option broadcast-address 239.252.197.255;

option routers 239.252.197.1;

option domain-name-servers 239.252.197.2, 239.252.197.3;

option domain-name "isc.org";

}

BOOTP ホ ス ト が こ の サ ブ ネ ッ ト に あ っ て 、 こ れ を 別 の ド メ イ ン に し 、 別 の ネ ー ム サ ー バ を 利 用 さ せ た い 場 合 に は 、 次 の よ う に 宣 言 す る こ と に な る で し ょ う 。

host haagen {

hardware ethernet 08:00:2b:4c:59:23;

fixed-address 239.252.197.9;

filename "/tftpboot/haagen.boot";

option domain-name-servers 192.5.5.1;

option domain-name "vix.com";

}

dhcpd.conf フ ァ イ ル の 文 法 に 関 す る よ り 完 全 な 記 述 は 、 dhcpd.conf(5) で 提 供 さ れ て い ま す 。

フ ァ イ ル

/etc/dhcpd.conf, /var/state/dhcp/dhcpd.leases, /var/run/dhcpd.pid, /var/state/dhcp/dhcpd.leases~.

関 連 項 目

dhclient(8), dhcrelay(8), dhcpd.conf(5), dhcpd.leases(5)

著 者

dhcpd(8) は Ted Lemon <mellon [AT] vix.com> が Vixie Labs と の 契 約 の も と に 書 き ま し た 。 こ の プ ロ ジ ェ ク ト の 資 金 は 、 Internet Software Corporation に よ っ て 提 供 さ れ ま し た 。 Internet Software Consortium の 情 報 は http://www.isc.org/isc に あ り ま す 。

訳 注

フ ァ イ ル の 置 き 場 所 は イ ン ス ト ー ル に よ っ て 変 わ る こ と が あ り ま す 。 こ こ で は デ フ ォ ル ト の /etc, /var/run/, /var/state/dhcp な ど を 仮 定 し て あ り ま す 。