4月 182011
 

在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                    //子网注释名 $注释符号不可少

打赏
 Posted by at 下午 2:56

Sorry, the comment form is closed at this time.