DHCP(dynamichostconfigurationprotocol)为动态主机配置协议,该协议能够自动的分配主机的IP地址、掩码、网关、DNS等TCP/IP信息。BOOTP(引导协议)是DHCP协议的前身,该协议在搭建无盘工作站时应用广泛。但是BOOTP协议不够灵活,客户机只能得到固定的IP地址,如果客户机长时间不用该IP地址通信,那么就造成了IP地址的浪费。而DHCP有个租约期限,超过该期限了,就将自动收回IP地址。简单地介绍了什么是DHCP协议,那么先看看DHCP服务都有什么优点:Ø减少了管理员的工作量,集中管理TCP/IP的设置。ØTCP/IP的配置是自动化完成的,安全且可靠的机制。可以统一给客户机配置附加的TCP/IP信息,比如网关、DNS等。Ø如果路由器可以转发DHCP请求,只需在一个子网中搭建一个DHCP中继服务器就可以像其他的子网提供TCP/IP配置的服务支持。Ø同时DHCP减少了手工配置IP地址的错误,一般用于存在大量主机的网络或者存在较多移动办公设备的网络(比如笔记本,可以配置动态获取的同时配置备用配置,当离开一个动态获取的网络时启用备用配置)在进行配置之前有必要再了解一下DHCP服务的常用术语:ØDHCP服务器:运行DHCP服务的计算机ØDHCP客户端:从DHCP服务器获取地址的计算机Ø作用域:在服务器上定义的一个完整的可用可分配的IP地址范围。Ø超级作用域:管理级的作用域集合,用于支持同一个物理网络上的多个逻辑子网,对作用域进行统一的管理。Ø地址池:作用域中包含的可以的地址范围。Ø租约:客户机可以使用已获取的IP地址的时间。Ø预约:预约可以保证子网上的特定硬件设备总是使用相同的IP地址。Ø选项:统一的配置某个子网的其他TCP/IP参数,如DNS、网关。Ø选项类别:提供特定的客户机支持。那么DHCP服务器具体是怎么工作的呢?下面用一个图表来进行阐述:DHCP服务将进行以下的通信过程接下来将从以下几个方面来具体的学习DHCP服务器的初级配置ØDHCP所需要的软件ØDHCP的安装ØDHCP的常规配置思路以及配置文件的组成Ø租约数据库文件Ø编辑DHCP的配置文件,实现基本的客户端获取Ø编辑DHCP的配置文件,实现客户端的地址保留(1)、在安装DHCP服务之前,先了解一下DHCP需要的软件,以及它们的用途ØDhcp-3.0.5-3.el5.i386.rpm这个是DHCP的主程序包,包括DHCP服务和中继代理程序ØDhcp-devel-3.el5.i386.rpm这个是DHCP服务器开发工具软件包,为DHCP开发提供库文件支持ØDhcpv6-0.10-33.el5.i386.rpm这个是DHCP的IPv6扩展工具ØDhcpv6_client-0.10-33.el5.i386.rpm这个是DHCP客户端IPv6软件包,帮助客户端获取动态IP地址(2)、DHCP的安装安装之前,先检查一下系统中是否已安装了DHCP软件包,使用:rpm–qa|grepdhcp如果系统未安装,则可以使用rpm命令安装,如图:(3)、DHCP的常规配置思路以及配置文件的组成基本的DHCP服务器的搭建流程要分三步:Ø编辑主配置文件dhcpd.conf,指定IP作用域Ø建立租约数据库文件Ø重新加载配置文件或重新启动dhcpd服务,使配置生效DHCP的配置文件有以下三个部分组成:参数(parameters)声明(declarations)选项(option)Dhcp.conf文件大致分为两个部分:全局配置和局部配置。通常情况下dhcpd.conf文件是不存在的,需要手动建立该文件,在主程序包安装后,会自动生成主配置文件的范本文件/usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample,我们可以手动使用CP命令把该文件复制到/etc/目录下,然后重命名为dhcpd.conf,再根据实际的需要进行修改即可。打开dhcpd.conf,看看具体的全局和局部配置使用vi/etc/dhcpd.conf当一行内容结束时,以“;”结束,大括号所在的行除外对于常用的参数的介绍将在后续的笔记中详细描述(4)、租约数据库文件该数据库是一个可编辑的ASCII的格式的文本文件,当DHCP被安装好时,租约数据库并不存在。然而,它在启动时却需要这个数据库。所有我们需要手工建立一个空白的文件vi/var/lib/dhcpd/dhcpd.leases即可,当服务器正常运行后,就可以用cat查看到该数据库中的内容了,主要是一些租约声明和相关信息。(5)、下面我们通过一个小的实验来编辑DHCP的配置文件,使客户端可自动获取实验背景:技术部有20台计算机,所使用的IP地址段为192.168.0.1-192.168.0.254,子网掩码为255.255.255.0,网关为192.168.0.1,192.168.0.2-192.168.0.30保留给服务器用,客户端仅可以使用192.168.0.128-192.168.0.254,剩余IP备用。使用vi/etc/dhcpd.conf编辑配置文件,修改相应的字段,如下所示:对上述文件的内容说明如下:Ddns-update-stylenone设置动态DNS的更新方式为noneIgoreclient-updates忽略客户端更新设置IP的作用域为192.168.0.0Optionrouters设置默认网关为192.168.0.1Optionsubnets设置子网掩码为255.255.255.0Rangedynamic-bootp设置地址池的范围从192.168.0.128到192.168.0.254Default-lease-time设置默认的地址租约的时间Max-lease-time设置客户端最大地址租约时间其他的信息不需要修改,保持默认重新启动DHCP服务或者使用:/etc/rc.d/init.d/dhcpdrestart也可以设置开机自动加载DHCP服务,使用checkconfig命令自动加载dhcpd服务,如下当然也可以使用命令ntsysv,利用文本图形界面对dhcpd自动加载进行配置,如图下面我们到客户端验证一下配置的效果(注意:DHCP客户端获取IP地址是从最大的IP地址开始获取的,我们可以看到获取的IP地址是192.168.0.254,这个跟widows正好相反了)编辑客户端的网卡配置文件:vi/etc/sysconfig/network-scripts/ifcfg-eth0或者在RHEL4中直接使用图形界面,输入命令netconfig,回车,更改地址配置的方式为自动获取重新启动一下网卡服务查看获取到的IP地址信息如下:我们先看看windows客户端获取的IP再看看Linux获取的IP(6)、下面进行Linux初级配置的最后一项:编辑DHCP的配置文件,实现客户端的地址保留,即在DHCP中的IP地址固定分配给某客户端使用,例如:服务器需要使用固定的IP地址就可以通过IP地址的保留来实现,下面做详细的介绍:需要用到:Host主机名用于定义保留地址Hardware类型硬件地址定义网络接口类型及硬件地址Fixed-addressIP地址定义DHCP客户端指定的IP地址,该项只能用于host申明中假如我们给服务器配置一个保留地址192.168.0.188,可以编辑主配置文件dhcpd.conf加入下图的内容再次重新启动一下dhcpd服务到客户端上查看一下,是否获取为192.168.0.188好了,关于LinuxDHCP服务的基础配置就全部学习完了,在后续的文章中将陆续介绍一些DHCP服务的高级配置:ØDHCP的多作用域的配置ØDHCP的超级作用域的配置ØDHCP中继代理的配置ØDHCP的排错思路