基于Web界面监视DHCP服务器
在 Linux 操作系统下建立 DHCP 服务器非常简单,只要掌握几个简单的命令。DHCP 服务器的日常维护也成了一个问题,有的时候服务器是运行的,进程却卡死了,导致不能正常分配 ip,因此如果可以实时监控 DHCP 服务器 IP 的分配就可以知道了 DHCP 服务器是否正常工作。
首先就是配置 DHCP 服务器,以前我也没配置过!现在回头看看,在 linux 下配置 HDCP 服务非常简单,只要配置正确就可以了。嗯!废话不多说,下面我们就来配置 DHCP 服务器!我的是 Centos5.5
一.配置 DHCP 服务器
为了使 DHCP 服务器能为正确 MS 的 DHCP 客户机器服务,需要创建一个到地址 255.255.255.255
的路由,把这条路由命令加到/etc/rc.d/rc.local,使得每次机器启动后自动运行。
route add -host 255.255.255.255 dev eth0
在一些老 Linux 核心的系统里可能会报告错误消息:
255.255.255.255: Unkown host
可以试着加下面的条目到/etc/hosts 文件里
255.255.255.255 dhcphost
再用下面的命令
#route add -host dhcphost dev eth0 装 DHCP 软件包
1.安装 DHCP 软件包
#yum install dhcp -y / 我是用 yum 安装的,当然也可以用 rpm 包安装。
2.配置 DHCP 服务器配置文件
#vi /etc/dhcpd.conf
先贴一下我的配置;我的是在虚拟机里配置的,先贴配置,后面给大家一一说明
说明:
#开头的行,表示注释,每一个 subnet 表示一段动态地址的设置。 后面要家\$,后面给大家解释;
ddns-update-style interim; //动态 DNS 解析
ignore client-updates; //忽略客户端 DNS 设置,就是不允许客户机更新 DNS 记录
#\$servers //子网注释名
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1; //设置网关
option subnet-mask 255.255.255.0; //子网掩码
option domain-name “canghai.net”; //域名
option domain-name-servers 202.103.44.150; //指定 DNS
range dynamic-bootp 192.168.2.100 192.168.2.190; //设置 ip 分配范围
default-lease-time 21600; //设置最短租期
max-lease-time 43200; //设置最长租期
}
关于配置文件的就是这些,我也是看自说明自己理解的,不过没问题,配置好了 DHCP 配置文件就可以启动 DHCP 服务器了~
#service dhcpd start
看到 OK 说明 DHCP 服务启动,如果失败请检查配置文件。
二.配置 dhcpstatus
dhcpstatus 是一个开源软件,可以通过读取 dhcpd.leases 而活动当前 IP 分配的状况,并通过 web 页面放映出来。其最新版本为 0.60
1.下载并解压
#wget http://downloads.sourceforge.net/project/dhcpstatus/dhcpstatus/v0.60/dhcpstatus_0.60.tar.gz
#tar zxvf dhcpstatus_0.60.tar.gz -c /tmp
2.建立安装目录
#mkdir /usr/local/dhcpstatus
#cd /usr/local/dhcpstatus
#tar zxvf /tmp/dhcpstatus_0.60/libraries.tar
3.根据 DHCP 服务器的设置修改 dhcpstatus.ini
#vi /usr/local/dhcpstatus/dhcpstatus.ini
将主要的一行
leases_file=/etc/dhcpd.leases
修改为
leases_file=/var/lib/dhcpd/dhcpd.leases
具体路径根据自己系统配置
4.安装脚本文件.
拷贝 scripts 目录下的 dhcpstatus.cgi 到 web 目录
#cp /tmp/dhcpstatus_0.60/scripts/dhcpstatus.cgi /var/www/cgi-bin
拷贝 scripts 目录下的 dhcpstatus 到/usr/local/bin
#cp /tmp/dhcpstatus_0.60/scripts/dhcpstatus /usr/local/bin
修改 dhcpstatus.cgi 文件首行的#!/usr/local/bin/perl -w 指向你的 perl 位置。(一般不用修改)
5.启动 http
现在配置好了,我们可以启动 http 服务
#service httpd start
好了,现在我们可以通过浏览器访问了。在地址栏里输入地址
http://DHCPServerIP/cgi-bin/dhcpstatus.cgi
可以看到 DHCP 分配了如图:
点击 Subnet,可以看到子网的具体 IP 分配情况。
还可以看到计算机名
三.添加认证。
基于安全考虑,会次页面进行验证;
修改 httpd.conf 配置文件
# vi /etc/httpd/conf/httpd.conf
找到 cgi-bin,如图
将 AllowOverride None
修改为
AllowOverride AuthConfig
然后我们在/var/www/cgi-bin/下建立.htaccess 文件
# vi /var/www/cgi-bin/.htaccess
内容如下
AuthName “DHCP Status Access”
AuthType Basic
AuthUserFile /var/www/cgi-bin/.htpasswd
require valid-user
保存,然后执行
htpasswd -bc /var/www/cgi-bin/.htpasswd admin XXXX
其中 XXXX 表示密码,admin 表示管理用户
最后我们重启 httpd 服务
#service httpd restart
如果成功我们访问时,会看到如图验证页面。
ps:
1.dhcpstatus 可以方便的监控 DHCP 服务器,为大家带来了方便,本人也是根据说明自行设置配置,难免有错,望大家指正。
2.#$servers //子网注释名 $注释符号不可少