转载自http://best0.blog.51cto.com/444987/104151


用Linux做DHCP服务器,原理跟在windows环境下路由器上做DHCP相同,所以不在这里介绍了。我们直接开始配置dhcp服务器。这次介绍用Linux配置DHCP服务器,我以实验+理论的方式介绍,这样更直观、易懂。下面是此次实验的拓扑图

linux服务之DHCP_第1张图片
从拓扑图可以看出这是个典型的通过路由器共享上网
其中:
       DHCP服务器同时也是DNS服务器
       61.134.1.1为默认网关的ip地址
     “best”为DHCP服务器的名称;“safe”为client1的名称......
实验要求: 我们需要客户端获得的IP地址在61.134.1.100----61.134.1.200之间,且client3获得的IP地址永久为61.134.1.5
一:安装DHCP服务器
·实验前的准备
在安装DHCP服务器之前,我们首先要为DHCP服务器指定一固定IP地址,本例中为61.134.1.2.
linux服务之DHCP_第2张图片
如果DHCP服务器上有双网卡,我们首先要禁用一个,以确保服务器可以正常安装。
·安装DHCP服务
首先要检查系统中是否已经安装过了DHCP服务,检查的命令:
# rpm  -qa |grep dhcp
执行上面的命令后,如果屏幕无任何提示表明DHCP服务未被安装,此时我们需按如下步骤安装DHCP服务。首先放入第二张光盘、挂载光驱、进入光驱目露;然后安装所有以DHCP开头的文件、安装完成后查看系统中是否有了DHCP;最后卸载光驱的挂载点。如图所示
linux服务之DHCP_第3张图片
二:配置DHPC服务
·复制模板文件
在我们安装好DHCP后,只要编辑好DHCP服务的配置文件,也就完成了DHCP服务的配置。它的配置文件为/etc/dhcpd.conf,此时在/etc目录下还没有dhcpd.conf这个文件,需要我们创建并编辑。不过在/usr/share/doc/dhcp-3.0pL1目录下存在这个文件的模板文件dhcp.conf.sample,我们只需将这个模板文件复制到/etc目录下并重命名为dhcpd.conf就可以了。道理很简单,就好比我们需要写个人建立,但不需要自己打表格,只需在网上下载一个模板然后做简单修改就可以用了一样。
命令:#cp /user/share/doc/dhcp-3.0pL1/dhcp.conf.sample   /etc/dhcpd.conf
·编辑配置文件
复制好后,我们就该编辑这个配置文件了。下面来介绍各个参数的作用
subnet                                客户机获得的IP地址的网段
netmask                             客户机获得的IP地址的子网掩码
options domain-name                   为客户机指定DNS服务器名称
options domain-name-servers       为客户机指定DNS服务器IP地址
options  routers                          为客户机指定默认网关的IP地址
options  subnet-mask                  默认网关IP地址的子网掩码
range                        用于说明客户机所得到的IP地址的范围
default-lease-time       指定默认地址租约(秒为单位)
max-lease-time          指定最大地址租约(秒为单位)
host                   为特定的DHCP客户机提供IP网络参数
hardware            特定客户机的MAC地址
fixed-address      为特定客户机指定IP地址
这个参数的意思是计算机名为host、MAC地址为hardware的客户机永远使用fixed-address这个IP地址
                    修改前的dhcpd.conf文件内容
linux服务之DHCP_第4张图片
linux服务之DHCP_第5张图片
                         修改后的dhcpd.conf文件内容
linux服务之DHCP_第6张图片
linux服务之DHCP_第7张图片
编辑完dhcpd.conf这个配置文件并保存后,我们就完成了DHCP服务的配置。
·启动DHCP服务
最后一步了,我们需要启动DHCP服务,使刚刚修改的配置生效。启动DHCP服务有两种方法
1>service  dhcpd   start     启动DHCP服务
   service  dhcpd    stop     停止DHCP服务
   service  dhcpd   restart    重启DHCP服务
注:service    ***    start/stop     启动/停止***服务,只有此次生效,关机或重启计算机后无效。
2>chkconfig    dhcpd    on     启动DHCP服务
   chkconfig    dhcpd    off     停止DHCP服务
注:chkconfig   ***    on/off      启动/停止***服务,只有重启计算机后才生效。
三:客户机配置
·linux客户机(client1)
首先将client1的网卡设置为动态获得IP地址,通过命令netconfig来设置网卡为动态获得IP地址
linux服务之DHCP_第8张图片
注:点击OK后,对于其他版本linux就已经成功的将网卡设置为动态获得IP地址了,但对于RedHat9来说还要在/etc/sysconfig/network-scripts/ifcfg-eth0文件最后加入



add code:

check_link_down() {
return 1;

}

linux服务之DHCP_第9张图片

接着重启网络服务,使网卡动态获得IP生效。

命令:#service   network   restart

用ifconfig命令查看client1的IP地址,我们看到IP地址已经改为61.134.1.200,符合实验的要求

linux服务之DHCP_第10张图片

·windows客户机(client2  client3)

我们也修改client2和client3的TCP/IP属性,设置网卡为动态获得IP地址

linux服务之DHCP_第11张图片

修改完成后,我们看到client2的IP地址为61.134.1.199,符合实验的要求,client3的IP地址为61.134.1.5(固定的IP)也符合实验的要求。

linux服务之DHCP_第12张图片

linux服务之DHCP_第13张图片

如果客户端无法动态获得IP地址,首先检查“DHCP Client”服务是否没有启动,启动该服务后即可动态获得IP地址。

如果在虚拟机上使用windows作为客户端,且获得的IP地址不在规定的范围内,例如获得了192.168.72.1这个IP地址。这是因为默认情况下虚拟机安装了DHCP服务,所以获得的IP地址是虚拟网卡的IP。此时我们只要在物理机上停止“VMware DHCP Service”即可。