1、前言
DHCPStatus 為採用 Perl 語言所撰寫,能幫助你分析 DHCP Client 租用檔 (dhcpd.lease) 內容並且會將租用時間由 GMT 改為主機的當地時間,並且藉由網頁方式呈現 DHCP Client 租用資訊方便管理者即時查看內容。DHCPStatus 成果展示畫面:
文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.下載 dhcpstatus_0.60.tar.gz 套件
步驟2.套件解壓縮及安裝
步驟3.修改 dhcpstatus.ini 設定檔
步驟4.網頁伺服器 CGI 資料夾
步驟5.修改 DHCPStatus 執行檔
步驟6.觀看成果
4、補充. Location 欄位說明文字
5、參考
2、實作環境
- FreeBSD 8.2-RELEASE-p2
- dhcpstatus_0.60.tar.gz
3、安裝及設定
步驟 1. 下載 dhcpstatus_0.60.tar.gz 套件
由於 DHCPStatus 並未收藏於 Port Tree 中,因此必須手動下載套件。# cd /tmp
# fetch http://prdownloads.sourceforge.net/dhcpstatus/dhcpstatus_0.60.tar.gz
dhcpstatus_0.60.tar.gz 100% of 24 kB 336 kBps
步驟 2. 套件解壓縮及安裝
先將套件進行解壓縮的動作。# tar zxvf /tmp/dhcpstatus_0.60.tar.gz //套件解壓縮
x dhcpstatus_0.60/
x dhcpstatus_0.60/INSTALL
x dhcpstatus_0.60/scripts/
x dhcpstatus_0.60/scripts/dhcpstatus
x dhcpstatus_0.60/scripts/dhcpstatus.cgi
x dhcpstatus_0.60/LICENSE
x dhcpstatus_0.60/libraries.tar
x dhcpstatus_0.60/README
x dhcpstatus_0.60/VERSION
將 libraries.tar 複製到 /usr/local/etc 下後,再度進行解壓縮(會產生 /usr/local/etc/dhcpstatus 資料夾)以及刪除來源檔。
# cp libraries.tar /usr/local/etc/ //複製 libraries.tar
# cd /usr/local/etc/
# tar zxvf libraries.tar ;rm libraries.tar //解開檔案內容
x dhcpstatus/
x dhcpstatus/common.pm
x dhcpstatus/Lease.pm
x dhcpstatus/Pool.pm
x dhcpstatus/Subnet.pm
x dhcpstatus/dhcpstatus.pm
x dhcpstatus/display_html.pm
x dhcpstatus/Display.pm
x dhcpstatus/dhcpstatus_subnet.pm
x dhcpstatus/Line_print.pm
x dhcpstatus/iptools.pm
x dhcpstatus/Formatted_text.pm
x dhcpstatus/display_line.pm
x dhcpstatus/dhcpstatus_cmd.pm
x dhcpstatus/dhcpstatus_subnet_cmd.pm
x dhcpstatus/dhcpstatus_cgi.pm
x dhcpstatus/Dhcpstatus_env.pm
x dhcpstatus/dhcpstatus_subnet_cgi.pm
x dhcpstatus.ini
步驟 3. 修改 dhcpstatus.ini 設定檔
修改 DHCPStatus 設定檔 (/usr/local/etc/dhcpstatus.ini) 內容如下:# vi /usr/local/etc/dhcpstatus.ini //修改 DHCPStatus 設定檔
title=Weithenn DHCP Subnet Information //屆時呈現的網頁大標題
conf_file=/usr/local/etc/dhcpd.conf //讀取的 DHCP 設定檔路徑
leases_file=/var/db/dhcpd/dhcpd.leases //讀取的 DHCP 租用檔路徑
步驟 4. 網頁伺服器 CGI 資料夾
接著將 DHCPStatus 執行檔 (dhcpstatus.cgi) 複製到您的網頁伺服器 CGI 資料夾下,並且確定該執行檔中的 Perl 執行路徑跟您系統中的 Perl 執行檔路徑相同。# cp /tmp/dhcpstatus_0.60/scripts/dhcpstatus.cgi /home/web/cgi-bin/
確定系統中的 Perl 執行檔路徑及 DHCPStatus 執行檔 (dhcpstatus.cgi) 是否相同,若不同則必須要修正為跟系統中 Perl 執行檔相同路徑。
系統中 Perl 執行檔路徑
# whereis perl
perl: /usr/bin/perl /usr/local/man/man1/perl.1.gz /usr/src/contrib/file/Magdir/perl
DHCPStatus 執行檔 (dhcpstatus.cgi) Perl 執行檔路徑
# grep "perl -w" /home/web/cgi-bin/dhcpstatus.cgi #!/usr/bin/perl -w
步驟 5. 修改 DHCPStatus 執行檔
接著修改 DHCPStatus 執行檔 (dhcpstatus.cgi) 內容,使執行檔能正確抓到 /usr/local/etc/dhcpstatus 資料夾內的 *.pm 檔案。# vi /home/web/cgi-bin/dhcpstatus.cgi
use lib "/usr/local/dhcpstatus"; //預設值
use lib "/usr/local/etc"; //修改後
步驟 6. 觀看成果
即可鍵入如下網址開始查看 DHCPStatus 內容:http://www.weithenn.org/cgi-bin/dhcpstatus.cgi
4、補充. Location 欄位說明文字
若想要在成果頁面中的 Location 欄位加上說明,只要在 dhcpd.conf 設定檔進行註解說明即可,只要在該 subnet 上面那一行加上 #$ 的註解文字開頭即可,那麼這個符號後面的註解文字就會是 Location 欄位的文字,如下範例,那麼 Location 欄位文字就會顯示為 IT Room。#$ IT Room
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.1 10.0.0.240;
option routers 10.0.0.254;
}