站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

DHCPStatus-網頁呈現 DHCP Client 租用情形

前言

[DHCPStatus] 為採用 Perl 語言所撰寫,能幫助你分析 DHCP Client 租用檔 (dhcpd.lease) 內容並且會將租用時間由 GMT 改為主機的當地時間,並且藉由網頁方式呈現 DHCP Client 租用資訊方便管理者即時查看內容。

DHCPStatus 成果展示畫面:

實作環境

安裝及設定

步驟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 下後再度進行解壓縮及刪除來源檔

 #cp libraries.tar /usr/local/etc/            //複製 libraries.tar
 #cd /usr/local/etc/
 #tar zxvf libraries.tar ;rm libraries.tar    //解開檔案內容 (會產生 /usr/local/etc/dhcpstatus 資料夾)
 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

補充1. 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;
 }

參考

[DHCPStatus]

[Installing DHCPStatus.]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com