対象サーバについて
製品名 | OpenBlockS 600 |
OS(kernel ver) | Debian lenny(2.6.29) |
CPU | 600MHz(AMCC PowerPC 405EX) |
メモリ | 1GB(DDR2 SDRAM) |
ストレージ | 8GB(Compact Flash) |
dhcp3-serverのインストール
# aptitude install dhcp3-server The following NEW packages will be installed: dhcp3-server 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 353kB of archives. After unpacking 831kB will be used. ・・・ Starting DHCP server: dhcpd3check syslog for diagnostics. failed! failed! invoke-rc.d: initscript dhcp3-server, action "start" failed. ・・・
→まだ未設定のため起動に失敗しています。
起動確認
# /etc/init.d/dhcp3-server start Starting DHCP server: dhcpd3check syslog for diagnostics. failed! failed!
→まだ未設定のため起動に失敗しています。
ListenするIFの指定
編集するファイル名:/etc/default/dhcp3-server
# Defaults for dhcp initscript # sourced by /etc/init.d/dhcp # installed at /etc/default/dhcp3-server by the maintainer scripts # # This is a POSIX shell fragment # # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0"
→DHCPを動かすIFを指定します。
設定ファイルの作成
編集するファイル名:/etc/dhcp3/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; option routers 192.168.0.1; option broadcast-address 192.168.0.255; option domain-name-servers [DNSサーバのアドレス]; option subnet-mask 255.255.255.0; default-lease-time 86400; max-lease-time 172800; host PC1 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.0.13; } } log-facility local7;
再度、起動確認
# /etc/init.d/dhcp3-server restart Stopping DHCP server: dhcpd3 failed! Starting DHCP server: dhcpd3.
→今度は正常に起動
設定ファイルでhost指定したPC1でipconfig /renewしたところ192.168.0.13が払い出されたのですが、/var/lib/dhcp3/dhcpd.leasesは空のままでした。
他のPCからアクセスしたところ、以下のように書き込まれました。
# less /var/lib/dhcp3/dhcpd.leases # The format of this file is documented in the dhcpd.leases(5) manual page. # This lease file was written by isc-dhcp-V3.1.1 lease 192.168.0.2 { starts 1 2009/10/12 14:54:45; ends 2 2009/10/13 14:54:45; tstp 2 2009/10/13 14:54:45; cltt 1 2009/10/12 14:54:45; binding state active; next binding state free; hardware ethernet YY:YY:YY:YY:YY:YY; uid "\001\000@\320t\373\202"; client-hostname "XYZ"; }
動的IP払い出しの場合はログ出力されますが、固定IP払い出しの場合はログに書き込まれないようです。
syslogの確認
# tail /var/log/syslog Oct 18 02:39:41 www dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in. Oct 18 02:39:44 www dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in. Oct 18 02:39:44 www dhcpd: WARNING: Host declarations are global. They are not limited to the scope you declared them in.
→WARNINGが出力されています。hostをglobalで定義する必要があるようです。
設定ファイルの再修正
編集するファイル:/etc/dhcp3/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; option routers 192.168.0.1; option broadcast-address 192.168.0.255; option domain-name-servers [DNSサーバのアドレス]; option subnet-mask 255.255.255.0; default-lease-time 86400; max-lease-time 172800; } host PC1 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.0.13; } log-facility local7;
サービス再起動してログを確認します。
# /etc/init.d/dhcp3-server restart Stopping DHCP server: dhcpd3 failed! Starting DHCP server: dhcpd3. # tail /var/log/syslog Oct 19 00:46:02 www dhcpd: If this DHCP server is authoritative for that subnet, Oct 19 00:46:02 www dhcpd: please write an `authoritative;' directive either in the Oct 19 00:46:02 www dhcpd: subnet declaration or in some scope that encloses the Oct 19 00:46:02 www dhcpd: subnet declaration - for example, write it at the top Oct 19 00:46:02 www dhcpd: of the dhcpd.conf file. Oct 19 00:46:05 www dhcpd: DHCPINFORM from 192.168.0.6 via eth0: not authoritative for subnet 192.168.0.0
→syslogのWARNINGは消えましたがまだコメントが出ています。
このサイトに説明が記載されていました。
DHCP サーバがネットワーク管理者ではない人間によって設定され、よってこのレベルの権威を持たせたくない場合には、設定ファイルの適切なスコープに “not authoritative” という文を入れておくと良いでしょう。 通常は、 not authoritative をファイルのトップレベルに書いておけば十分です。しかし、あるネットワークに対しては権威を持たせ、別のネットワークに対しては持たせないように DHCP サーバを設定したい場合には、ネットワークセグメント単位で authority を宣言するほうが良いでしょう。
凝った使い方は想定していないので、起動時に上記ログが出ないよう、ファイルの先頭に「not authoritative」を追加します。
設定ファイルの再々修正(正式な記述)
編集したファイル:/etc/dhcp3/dhcpd.conf
not authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; option routers 192.168.0.1; option broadcast-address 192.168.0.255; option domain-name-servers [DNSサーバのアドレス]; option subnet-mask 255.255.255.0; default-lease-time 86400; max-lease-time 172800; } host PC1 { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.0.13; } log-facility local7;