下面是我的实验过程:
 
环境:vmware6.0+Centos5.4(一张DVD)
 
1.挂载光驱安装。
默认CentOS5.4安装后没有安装DHCP服务端。用rpm -qa|grep dhcp 只能看见dhcpv6_client-0.10-33.e15。
#mount /dev/cdrom /media //光驱的挂载
进入此/media/CentOS_5.4_Final/CentOS目录
# ls dhcp*
dhcp-3.0.5-21.el5.i386.rpm dhcpv6-1.0.10-17.el5.i386.rpm
dhcp-devel-3.0.5-21.el5.i386.rpm dhcpv6-client-1.0.10-17.el5.i386.rpm
我是把这四个包拷到系统中安装的。
#rpm -ivh dhcp*
 
2.检验安装
# rpm -qa|grep dhcp
dhcp-3.0.5-21.el5
dhcp-devel-3.0.5-21.el5
dhcpv6-client-1.0.10-17.el5
 
3.拷贝样板文件
安装完成后会生成/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample文件,把它CP到/etc下并改名成dhcpd.conf(事实上/etc下已有了dhcpd.conf文件,是空的,打开会提示叫你查看样板文件),CP时会提示你覆盖已有文件!覆盖就是!
 
4.准备工作,服务器需要静态IP.我们看一下:
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
2 DEVICE=eth0
3 BOOTPROTO=static
4 HWADDR=00:0C:29:22:08:99
5 ONBOOT=yes
6 NETMASK=255.255.255.0
7 IPADDR=192.168.2.220
8 GATEWAY=192.168.2.1
如果有改动请重启动网卡服务!
 
5.修改dhcp服务器的配置文件
#vi /etc/dhcpd.conf
注意更改以下几行:
4 subnet 192.168.2.0 netmask 255.255.255.0 {
本行默认是”subnet 192.168.1.0 netmask 255.255.255.0 这里注意,这个subnet一定要包括server的本地IP的在内.否则服务启动不了.
6 # --- default gateway
7 option routers 192.168.2.1;
8 option subnet-mask 255.255.255.0;
9
10 option nis-domain "domain.org";
11 option domain-name "domain.org";
12 option domain-name-servers 192.168.2.220;
这里注意网关和服务器IP要正确。我们设定网关为2.1,DHCP服务器IP为2.220
21 range dynamic-bootp 192.168.2.230 192.168.2.240;
22 default-lease-time 21600;
23 max-lease-time 43200;
这里是设置DHCP分发范围:定义地址池,租约时间和mac地址绑定。
 
“Host ns{}”中的是mac地址绑定,比如像服务器一般是不会改动IP的,所以可以将某个IP与该服务器的MAC地址绑定,这样的话服务器就一直是用这个IP了.
 
6.启动dhcp服务器
#service dhcpd restart //重启DHCP服务器
#iptables -F //清掉防火墙规则
 
7.在windows客户机上检验dhcp服务
设置自动获取IP地址,注意,如果网内还有其它DHCP服务器,请一定要先关闭。用到的命令:
c:\>ipconfig /all
c:\>ipconfig /release
c:\>ipconfig /renew
 
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . : domain.org
Description . . . . . . . . . . . : Realtek RTL8139/810x Family Fast Eth
ernet NIC
Physical Address. . . . . . . . . : 00-24-1D-36-9D-28
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.2.240
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : fe80::224:1dff:fe36:9d28%4
Default Gateway . . . . . . . . . : 192.168.2.1
DHCP Server . . . . . . . . . . . : 192.168.2.220
怎么样,是不是获取到了,注意:客户端在获取IP是从大到小,所以第一个获取的192.168.2.240。
 
8.linux做dhcp的客户端时,我就不做了,配置如下:
#netconfig
用"空格"键选中dhcp方式,退出;
#ifdown eth0 (关闭eth0网卡)
#dhclient eth0 (获取dhcp的客户端地址)
#ifup eth0 (激活eth0网卡)
9.linux同时做两个网段的dhcp服务器:
<1>必须加两块物理网卡,配置两个不同网段IP:
Eth0:192.168.10.1 eth1:192.168.20.1
<2>修改dhcp服务器的配置文件:
#vim /etc/dhcpd.conf
subnet 192.168.10.1 netmask 255.255.255.0 {
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.10.1;
range dynamic-bootp 192.168.10.10 192.168.10.20;
}
subnet 192.168.20.1 netmask 255.255.255.0 {
option routers 192.168.20.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.20.1;
range dynamic-bootp 192.168.20.10 192.168.20.20;
}
10.查看日志,看看是否有错
[root@server RPMS]# tail -20 /var/log/messages
11.DHCP客户租期数据库
在DHCP服务器上,/var/lib/dhcp/dhcpd.leases文件中存放着DHCP客户租期数据库。只要DHCP服务器能够成功启动,该数据库就可以自动创建。并且,所有通过该DHCP服务器分配到地址的客户机的地址信息都会存储于该文件中。该租期数据库文件经常被重建,但是不应该手工修改。
另外如果主机上安装了两个网卡,但是只想让DHCP服务在其中的一个网卡上监听,则需要配置DHCP服务器只在那个设备上启动。在/etc/sysconfig/dhcpd中,把网卡接口的名称添加到DHCPDARGS列表中,如:
DHCPDARGS=eth0