DHCPstatus
DHCPの情報をwebベースでグラフィカルに表示するソフト。
DHCPstatusとは?
dhcpのリース状況を把握するには、通常 dhcpd.lease ファイル等をみて調べるのですが、それだとちょっと分り図らいしコマンドラインで色々と操作を行わないと該当のファイルを確認することができませんよね。
しかし、Unix系OSを使えない人にも簡単に現在の状況を確認できるようにグラフィカルに表示してくれるツールがこの DHCPstatusなのです。(CUIベースでも表示は可能だったりします。)
なお、Webベースで、DHCPのリース情報を確認するためにapache等のWebサーバの機能が必要となります。
ダウンロード
入手先
DHCPstatusは以下のURLより入手することができます。
http://dhcpstatus.sourceforge.net/
Webブラウザで上記のURLにアクセスします。
Where can I download DHCPStatus from ? という項目をクリックします。
Where can I download DHCPStatus from ?
Right HERE !!! ← ここからダウンロードします。
今回ダウンロードしたバージョン
dhcpstatus_0.60.tar.gz
ダウンロードしたファイルをDHCPサーバにアップロードします。
インストール(webベース)
今回は/usr/local/src にdhcpstatus_0.60.tar.gzファイルがあるものとします。
解凍・展開を行う。
# cd /usr/local/src
# tar xzfv dhcpstatus_0.60.tar.gz
dhcpstatus_0.60/
dhcpstatus_0.60/INSTALL
dhcpstatus_0.60/scripts/
dhcpstatus_0.60/scripts/dhcpstatus
dhcpstatus_0.60/scripts/dhcpstatus.cgi
dhcpstatus_0.60/LICENSE
dhcpstatus_0.60/libraries.tar
dhcpstatus_0.60/README
dhcpstatus_0.60/VERSION
ライブラリ保存用ディレクトリの作成
# mkdir /usr/local/dhcpstatus
ライブラリのコピー
# cd /usr/local/dhcpstatus/
# tar -xvf /usr/local/src/dhcpstatus_0.60/libraries.tar
dhcpstatus/
dhcpstatus/common.pm
dhcpstatus/Lease.pm
dhcpstatus/Pool.pm
dhcpstatus/Subnet.pm
dhcpstatus/dhcpstatus.pm
dhcpstatus/display_html.pm
dhcpstatus/Display.pm
dhcpstatus/dhcpstatus_subnet.pm
dhcpstatus/Line_print.pm
dhcpstatus/iptools.pm
dhcpstatus/Formatted_text.pm
dhcpstatus/display_line.pm
dhcpstatus/dhcpstatus_cmd.pm
dhcpstatus/dhcpstatus_subnet_cmd.pm
dhcpstatus/dhcpstatus_cgi.pm
dhcpstatus/Dhcpstatus_env.pm
dhcpstatus/dhcpstatus_subnet_cgi.pm
dhcpstatus.ini
設定ファイルの編集
DHCPstatusの設定ファイルである、dhcpstatus.iniファイルを編集しdhcpd.confおよびdhcpd.leasesの場所を指定してください。ファイルの場所はそれぞれの環境によって異なりますので適宜読み替えてください。
# vi dhcpstatus.ini編集箇所
dhcpd.confおよびdhcpd.leasesの場所を指定します。
# location of the .conf file.
conf_file=/etc/dhcpd.conf
# location of the .leases file.
#leases_file=/etc/dhcpd.leases
leases_file=/var/lib/dhcp/dhcpd.leases
cgi スクリプトのコピー
DHCPstatusはcgiスクリプトして動作させるために、webサーバ上でcgiスクリプトを動作させることが出来るように設定されいる必要があります。
今回の例はwebサーバ機能がapacheの場合で、既にcgiが動かせることを前提としてを記述していきます。
まずapacheのhttpd.confを調査して、cgiを動作せることができるディレクトリを探します。
今回の例は/var/www/cgi-bin/ の下にcgiファイルを設置するものとしますが、それぞれのapacheの設定により設定は異なりますので、適宜読み替えてください。
# cd /var/www/cgi-bin/
# cp -p /usr/local/src/dhcpstatus_0.60/scripts/dhcpstatus.cgi /var/www/cgi-bin/
perlのパス設定
コピーしたcgiスクリプト(dhcpstatus.cgi)の1行目に記述されているperlのパスをサーバの環境にあわせて変更してください。
perlパスの調査方法# which perl /usr/bin/perl
私の環境ではperlのパスが /usr/bin/perl となっていたので、以下のように dhcpstatus.cgi の1行目を編集しました。
# vi dhcpstatus.cgi編集前
#!/usr/local/bin/perl -w
編集後#!/usr/bin/perl -w
動作確認
以上で、DHCPstatusのインストールは完了となります。Webブラウザでアクセスして確認してみてください。:-)
今回の例だとURLは以下のとおりとなります。http://サーバのIPアドレスまたは、サーバ名/cgi-bin/dhcpstatus.cgi
DHCPStatus 画面 1
DHCPStatus 画面 2

DHCPStatus 画面 3

インストール(テキストベース)
DHCPstatusはWebベース以外にもCUIベースでもDHCPの情報を取得し表示させることが出来ます。
Webベース用のインストール行う際に、合わせてこちらの設定を行っておくと色々と便利にかもしれません。
スクリプトのコピー
コマンドライン用dhcpstatus スクリプトのコピーを行います。この作業は別に行わなくても良いのですがパスが通っていないので、毎回 /usr/local/src/dhcpstatus_0.60/scripts/dhcpstatus とフルパスを入力しなくてはいけなくなってしまうので、私は /usr/local/bin にコピーしておきます。
毎回フルパスを入力するのが面倒じゃないとか、他の方法で何とかフルパスでコマンド入力をしますという場合はこの作業を行わなくても良いです。
# cp /usr/local/src/dhcpstatus_0.60/scripts/dhcpstatus /usr/local/bin
perlのパス設定
dhcpstatusの1行目に記述されているperlのパスをサーバの環境にあわせて変更してください。
私の環境ではperlのパスが /usr/bin/perl となっていたので、以下のように dhcpstatus.cgi の1行目を編集しました。
# vi /usr/local/bin/dhcpstatus編集前
#!/usr/local/bin/perl -w
編集後#!/usr/bin/perl -w
動作確認
perlのパス設定が完了しましたら、早速dhcpstatusコマンドを実行してみましょう。
まず、オプション無しで実行してみます。
そうすると、DHCPで管理しているネットワークの情報が表示されます。
実行例# dhcpstatus
DHCP Subnet Information
Subnet: 192.168.100.0 Netmask: 255.255.255.0
IP range: 192.168.100.1 - 192.168.100.254 Router: 192.168.100.254
IPs defined: 150 IPs used: 0 IPs free: 150
Subnet: 192.168.110.0 Netmask: 255.255.255.0
IP range: 192.168.110.1 - 192.168.110.254 Router: 192.168.110.254
IPs defined: 100 IPs used: 0 IPs free: 100
Subnet: 192.168.120.0 Netmask: 255.255.255.0
IP range: 192.168.120.1 - 192.168.120.254 Router: 192.168.120.254
IPs defined: 50 IPs used: 0 IPs free: 50
Subnet: 192.168.130.0 Netmask: 255.255.255.0
IP range: 192.168.130.1 - 192.168.130.254 Router: 192.168.130.254
IPs defined: 253 IPs used: 0 IPs free: 253
Subnet: 192.168.140.0 Netmask: 255.255.255.0
IP range: 192.168.140.1 - 192.168.140.254 Router: 192.168.140.254
IPs defined: 64 IPs used: 1 IPs free: 63
では次に、dhcostatusコマンドに -s のオプションをつけて実行してみましょう。
dhcpstatus -s ネットワークアドレス
-s の後に詳細な情報取得したいネットワークアドレスを指定して、dhcpstatusコマンドを実行した結果です。
IPの割り当て状況や、割り当てられているPCのMACアドレスやリース期間等の詳しい情報を確認することができます。
# dhcpstatus -s 192.168.140.0
DHCP Subnet Information:
Subnet: 192.168.140.0
Netmask: 255.255.255.0
Broadcast: 192.168.140.255
Router: 192.168.140.254
DNS servers: 192.168.140.10
WINS servers:
IP range: 192.168.140.1 - 192.168.140.254
IP address: 192.168.140.1 Lease status: FREE
IP address: 192.168.140.2 Lease status: FREE
IP address: 192.168.140.3 Lease status: FREE
****************** 中略 *********************
IP address: 192.168.140.62 Lease status: FREE
IP address: 192.168.140.63 Lease status: FREE
IP address: 192.168.140.64 Lease status: Active
Lease start: 28/10/2006 02:34:07 Lease end: 28/10/2006 03:34:07
Mac address: 00:0c:29:87:92:a6

