在刚才我们安装了Linux的机器上,先检查一下有没有安装dhcp软件包:
[root@rh73 ~]# rpm -qa|grep dhcp
如果还没有安装,在Red Hat Linux 7.3的安装盘上找到dhcp相关的软件包:
[root@rh73 ~]# mount /mnt/cdrom
[root@rh73 ~]# cd /mnt/cdrom/Red Hat/RPMS
[root@rh73 /mnt/cdrom/Red Hat/RPMS]# ll|grep dhcp
-rw-r--r-- 1 root root 121323 May 8 08:11 dhcp-2.0pl5-8.i386.rpm
-rw-r--r-- 1 root root 30509 May 8 07:58 dhcpcd-1.3.22pl1-7.i386.rpm
其中dhcpd是dhcp客户端软件,在系统安装时是默认安装的,现在只需要安装dhcp软件包
[root@rh73 /mnt/cdrom/Red Hat/RPMS]# rpm -ivh dhcp-2.0pl5-8.i386.rpm
Preparing... ########################################### [100%]
1:dhcp ########################################### [100%]
如前面所述,dhcpd默认的配置文件是/etc/dhcpd.conf,在使用之前,首先要配置一下该文件。其实在安装完毕软件包后,dhcp软件包会给出一个例子:/usr/share/doc/dhcp-2.0pl5/dhcpd.conf.sample,你可以将它复制到/etc目录下,名字改成dhcpd.conf,然后对它进行相应的修改,来适应自己的需求。现在我们不管它,自己来创建一个:[root@rh73 ~]# vi /etc/dhcpd.conf
然后键入下面的内容:
subnet 192.168.100.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
range 192.168.100.10 192.168.100.253;
option broadcast-address 192.168.100.255;
option routers 192.168.100.254;
option domain-name-servers 202.102.152.3, 202.102.134.68;
default-lease-time 86400;
max-lease-time 259200;
}
host pangty {
hardware ethernet 00:10:dc:8f:5b:ff;
fixed-address 192.168.100.9;
}
存盘退出。所有的配置基本完成了,配置文件很简单。这个DHCP服务器将为192.168.100.0/255.255.255.0的子网自动分配IP地址,自动分配地址的范围是192.168.100.10到192.168.100.253,自动获得IP地址的主机默认网关是192.168.100.254,DNS为202.102.152.3和202.102.134.68。该配置文件还为MAC地址是00:10:dc:8f:5b:ff的主机固定分配192.168.100.9这个地址。
还有一个问题:如果运行dhcpd的机器有多于一个的网卡,还需要告诉dhcpd是工作在哪块网卡接口上的:
[root@rh73 ~]# vi /etc/sysconfig/dhcpd
DHCPDARGS="eth1"
存盘退出。现在启动dhcpd进程:
[root@rh73 ~]# /etc/rc.d/init.d/dhcpd start
Starting dhcpd: [ OK ]
§§ Windows主机做客户端测试DHCP
现在到客户端,测试一下它是否正常工作,以Windows 2000 Professional为例,在控制面板打开“拨号与网络连接”,双击“本地连接”图表察看本地连接状态,选择“属性”:

选择“Internet 协议(TCP/IP)”,点击“属性”按钮:

选中“自动获得IP地址”和“自动获得DNS服务器地址”选项:

点“确定”关闭该对话框。打开一个“命令提示符”窗口(DOS窗口),键入下面的命令:
C:\>ipconfig/renew
C:\>ipconfig/all
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : pangty
Primary DNS Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/100 VM Network Connection
Physical Address. . . . . . . . . : 00-10-DC-8F-5B-FF
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.100.9
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.100.254
DHCP Server . . . . . . . . . . . : 192.168.100.254
DNS Servers . . . . . . . . . . . : 202.102.152.3
202.102.134.68
Lease Obtained. . . . . . . . . . : 2002年7月24日 08:21:52
Lease Expires . . . . . . . . . . : 2002年7月24日 20:21:52
一切工作正常,我的计算机pangty通过DHCP获得了IP地址192.168.100.9,以及其他相关的网卡参数。我们希望服务器每次启动时自动启动dhcp服务,这可以用ntsysv来设置,在命令行键入ntsysv:
[root@rh73 ~]# ntsysv
显示如下对话框:

确定选中了dhcpd项,然后确认,这样每次服务器重起时会自动启动dhcpd进程。
#我们这里用到了ntsysv这个工具,它是用来管理Linux不同运行级下的进程的,这个工具可以直观的来管理/etc/rc.d/init.d下的启动脚本,决定在某个启动级别是否加载/停止某个服务,与之相关的另外一个命令是chkconfig,下面我们做简单的介绍。