首 页
·
站长博客
·
用户注册
·
会员登陆
·
会员排行
·
最新主题
·
最近回复
☆
精华区
版权声明
·
论坛管理
当前登录身份:游客,请先登录。 笔名:
口令:
验证码:
楼 主
index
»
PHP跨平台应用
»
[转帖]如何使用Linux建立DHCP服务
作者:
一起PHP
注册时间:2004-02-27
主题/回复:247/1521
积分:
4649
等级:★★★★★☆(十一级)
称号:论坛圣人
nqp@nqp.me
4304410
www.nqp.me
发表:2004-04-28 17:32:55 阅读
2538
次 回复
0
次 得分
0
|
字号
10px
12px
14px
16px
18px
20px
24px
字色
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
[转帖]如何使用Linux建立DHCP服务
来自:开放系统世界
作者:张文胜
主要内容
DHCP是Dynamic Host Configuration Protocol的英文缩写,翻译过来就是动态主机配置通讯协议。它的功能就是为网络连接动态分配IP地址,它允许客户端计算机向网络服务器自动获取网络设置。DHCP服务器使得网络管理员在管理网络中在网络中增加、删除网络节点或者重新配置网络时,工作变得非常简单,无须手工的分配IP地址。采用Linux主机建立DHCP服务器,比Windows NT更加具有更好的性价比,本文以RedHat7.2为例,介绍如何采用Linux来建立DHCP服务器,以及网络管理员如何管理好DHCP服务器。
在Linux操作系统下建立DHCP服务器非常简单,只要掌握几个简单的命令,编辑/etc/DHCPd.conf文件,很快就能够建立DHCP服务器。实际上操作并不比Windows NT复杂,具体操作如下:
一、如何建立DHCP服务。
⑴安装DHCP服务器软件
# mount /mnt/cdrom
# rpm -ivh /mnt/cdrom/RedHat/RPMS/DHCP-2.0pl5-8.i386.rpm
⑵配置DHCP服务器/etc/DHCPd.conf文件。可以从/usr/share/doc/DHCP-2.0pl5目录下拷贝一个例子文件DHCPd.conf.sample,在这个文件的基础上修改。
以下仅仅是一个例子,具体看man DHCPd.conf文档,DHCP服务器在192.168.101.0网段。
subnet 192.168.2.0 netmask 255.255.255.0 {
#$ 财务科
range 192.168.2.10 192.168.2.254;
default-lease-time 43200;
max-lease-time 86400;
option broadcast-address 192.168.2.255;
option subnet-mask 255.255.255.0;
option routers 192.168.2.1;
# option netbios-name-servers 192.168.101.10;
}
subnet 192.168.3.0 netmask 255.255.255.0 {
#$ 办公
# range dynamic-bootp 192.168.3.10 192.168.3.254;
range 192.168.3.10 192.168.3.254;
default-lease-time 43200;
max-lease-time 86400;
option broadcast-address 192.168.3.255;
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
# option netbios-name-servers 192.168.101.10;
}
subnet 192.168.101.0 netmask 255.255.255.0 {
}
说明:#开头的行,表示注释,每一个subnet表示一段动态地址的设置。
range : 表示租用地址的范围,可以包含不连续的多段地址,只需分别说明。
default-lease-time : 表示缺省的租用时间,单位是秒。
max-lease-time : 表示最大的租用时间,单位是秒。
还可以包括一些可选项,如:
broadcast-address : 广播地址。
routers : 缺省路由或者网关。
subnet-mask: 子网掩码。
netbios-name-servers: 如果网络中存在Windows NT,可以指定wins服务器的地址。
还有许多参数,如可以对特定硬件MAC的地址指定IP地址,具体操作看man DHCPd. conf文档。
另外由于本例子DHCP服务器在192.168.101.0网段,必须指定一个空的subnet。
说明:如果DHCP服务与DHCP客户位于不同的网段,那么网络中就必须具备有DHCP Relay Agent(即DHCP中继代理)功能的IP路由器,把DHCP的信息从一个网段传送到另一个网段。一般的智能交换机都具有DHCP代理的功能,只要在交换机中设定DHCP服务器的IP地址就可以了。
如果IP路由器的硬件设备不能支持DHCP中继代理的功能,需要在充当IP路由器的机器上安装DHCP中继代理程序,并且打开IP Forward (IP转发)功能,DHCP的rpm包也提供dhcrelay命令,具体看man dhcrelay文档。
⑶建立/var/lib/DHCP/DHCPd.leases文件。
# touch /var/lib/DHCP/DHCPd.leases
说明:各种不同的GNU/Linux发布版,建立DHCPd.leases可能位于不同的目录, 必须根据不同的发布版来确定建立DHCPd.leases文件的目录。
⑷激活DHCP服务,执行ntsysv命令,选中DHCPd,选择OK退出,下次开机自动启动DHCP服务,也可以手工执行如下命令进行测试:
/etc/rc.d/init.d/DHCPd start #启动DHCP服务。
/etc/rc.d/init.d/DHCPd stop #关闭DHCP服务。
⑸测试
选择一台客户机,进入windows,将IP地址选择为自动获得,重新启动后,执行winipcfg /all
检查DHCP服务是否设置正确。
二、如何管理DHCP服务:
DHCP服务器建立好后,对于网络管理员来说如何更好的管理DHCP服务,将是一个非常重要的问题,虽然网络管理员可以通过查看DHCPd.leases文件了解客户端IP等信息的分配情况,但是当网络中机器较多的时候,显然不是一个非常好的方法。
本人在具体的实践中,发现通过使用DHCPstatus工具,能够通过Web浏览器就能够非常好的了解DHCP服务器的使用与分配情况。
具体操作如下:
⑴下载与安装DHCPstatus软件。
下载http://prdownloads.sourceforge.net/DHCPstatus/DHCPstatus_0.60.tar.gz
# tar xzvf DHCPstatus_x.xx.tar.gz -C /tmp
⑵仔细阅读安装目录的install文件,具体操作步骤如下:
(a)建立library目录。
# mkdir /usr/local/DHCPstatus
# cd /usr/local/DHCPstatus
(b)解压library的tar文件到/usr/local/DHCPstatus目录。
# tar xvf /tmp/DHCPstatus_x.xx/libraries.tar
将建立一个DHCPstatus目录和DHCPstatis.ini文件。
(c)根据具体的DHCP服务器的设置,修改与编辑DHCPstatus.ini文件,最主要的参数是:
title=DHCP Subnet Information
leases_file=/etc/DHCPd.leases
改为:
title=XXXX DHCP Subnet Information
leases_file=/var/lib/DHCP/DHCPd.leases
#注须根据具体的Linux发布版修改leases_file参数。
(d)如果以上建立DHCPd.conf文件没有包括如:“ #$ 财务科”这些信息,最好加入,DHCPstaus.cgi脚本通过读取/etc/DHCPd.conf文件来获得这些信息,注意$不能省略。
(e)安装scripts文件,拷贝scripts目录下的DHCPstatus.cgi文件到web服务的cgi-bin目录:
# cp /tmp/DHCPstatus_x.xx/scripts/DHCPstatus.cgi /var/www/cgi-bin
# cp /path/to/DHCPstatus_x.xx/scripts/DHCPstatus /usr/local/bin
修改 #!/usr/local/bin/perl -w 为 #!/usr/bin/perl -w
(f)建立浏览器主页,只要加入如下代码:
DHCP Subnet Status
(g)为了安全起见,可以给Web服务器建立密码,以Redhat7.2带的Apache 1.3.20为例说明:
*修改/etc/httpd/conf/httpd.conf,将:
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
改为:
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Order allow,deny
Allow from all
*在/var/www/html目录建立一个.htaccess文件,内容如下:
AuthName "DHCP Status Access"
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
require valid-user
*执行htpasswd命令,在/var/www/html目录建立一个.htpasswd文件.
htpasswd -bc /var/www/html/.htpasswd admin XXXX
其中XXXX表示密码,也可以增加更多的管理用户,具体操作看man htpasswd
文档。
(h)启动httpd服务,/etc/rc.d/init.d/httpd restart
通过以上的设置,网络管理员就可以非常方便的管理DHCP服务,了解DHCP的使用与分配情况。
页数
1/1
:
首页
«
1
»
末页
发表回复:您还没有登陆,无法发表回复。请先
[登陆]
一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565
站长博客
E-mail:
nqp@nqp.me
执行时间:0.003sec
SimsmaBBS 2008 (v6.0)
Developed by
17php.com
,Copyright(C)2003-2010 All rights reserved. 副本授权:
一起PHP官方专用版