2008年7月11日

[plamo:29256] dhcpdが起動しない

中崎です。

未だにPlamo 4.02の環境で動かしています。
(カーネルは2.6.19にしていますが)
今までDHCP環境を使わずアドレス固定で自宅内のLANを稼働
させていましたが、DHCP環境を入れる必要が出てきたので、
ISCからdhcp-4.0.0をとってきて、

./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc \
--mandir=/usr/share/man --infodir=/usr/share/info --enable-shared

でMakefileを作成し、makeとmake installは問題なく完了しました。
その後/var/dbにdhcpd.leasesを作り、/etc/dhcpd.confに必要な設定を
行った後、コマンドラインから/usr/sbin/dhcpdを起動したところ、

Internet Systems Consortium DHCP Server 4.0.0
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Wrote 0 leases to leases file.
Error opening '/proc/net/if_inet6' to list IPv6 interfaces; No such file or directory
Can't get list of interfaces.

というエラーメッセージが表示されて起動に失敗してしまいます。
エラーの内容からしてipv6関連のインタフェースがないので起動に
失敗しているのだと推測しますが、そもそもipv6環境は使うつもりが
ないので環境を構築していません。
ちょっと調べてみると起動時に"-4"というオプションをつけると
解決する、という情報もあったのでやってみましたが結果は一緒でした。
たぶんipv6環境を構築すれば解決しそうなのですが、使いもしない
ipv6環境を構築する気にはなれないので今のipv4のみの環境で
dhcpdを動かしたいのですが、何か心当たりのある方はいらっしゃいます
でしょうか?(configureのオプションがまずいのでしょうか?)

何かアドバイス等ご教示頂ければ幸いです。

--
Name:中崎 正治 (Nakazaki Masaharu) / E-Mail:p-nack@xxxxx

投稿者 xml-rpc : 2008年7月11日 00:45
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75189
トラックバック
コメント

DHCPのバージョンは、dhcp-4.0.0 です。

IPv6を無効にするには、dhcpd -6 とマニュアルには書かれています。
しかし、実際には、機能しません。
そこで、コンパイル時に次のオプションを指定します。

# ./configure --disable-dhcpv6

しかし、このオプションは、make でエラーが起き、
コンパイルに失敗してしまいます。

そこで、次の2つのファイルのある変数の定義を、
/* と */ で囲んでコメントアウトします。

元のソース
client/dhclient.c:101: int local_family_set = 0;
server/dhcpd.c:219: int local_family_set = 0;

修正後のソース
client/dhclient.c:101: /* int local_family_set = 0; */
server/dhcpd.c:219: /* int local_family_set = 0; */

これで、make すれば、エラーは起きません。
dhcpd も、特に何のオプションもなしで、IPv4 で動きます。

Posted by: JJTOP : 2008年10月17日 23:24
コメントする




画像の中に見える文字を入力してください。