DHCP服务器的配置电子信息工程系朱燕用于第十四周第二次课目的及要求:了解及掌握DHCP服务器简介、地址分配过程、配置文件的使用以及dhcp的配置重点:dhcpd.conf配置文件参数难点:dhcpd.conf配置文件参数教学方法:讲授法、举例法DHCP简介DHCP是DynamicHostConfigurationProtocol(动态主机分配协议)缩写。如果一个企业有上百台计算机,管理逐个去配置IP地址是很麻烦的,为了方便、简洁的完成这项工作,就需要用到DHCP协议。因此在大中型网络中使用DHCP是非常有效率的。动态主机配置协议(DHCP)协议允许服务器向客户端动态分配IP地址和配置信息。通常,DHCP服务器至少给客户端提供以下基本信息:IP地址子网掩码默认网关它还可以提供其它信息,如域名服务(DNS)服务器地址和WindowsInternet命名服务(WINS)服务器地址。使用DHCP的好处安全而可靠的配置DHCP避免了由于需要手动在每个计算机上键入值而引起的配置错误。DHCP还有助于防止由于在网络上配置新的计算机时重用以前指派的IP地址而引起的地址冲突。减少配置管理使用DHCP服务器可以大大降低用于配置和重新配置网上计算机的时间。可以配置服务器以便在指派地址租约时提供其他配置值的全部范围。这些值是使用DHCP选项指派的。DHCP租约续订过程还有助于确保客户机配置需要经常更新的情况(如使用移动或便携式计算机频繁更改位置的用户),通过客户机直接与DHCP服务器通讯可以高效自动地进行这些改动。DHCP请求IP地址的过程1发现阶段,当客户端启动网络时,由于IP网络中每台机子都需要有一个地址,因此它会发送一个“DHCPDiscover”广播信息包到本地子网。2提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDiscover报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。3选择阶段,即DHCP客户端选择IP地址的阶段。客户端通常对第一个提议产生响应,并以广播的方式发送“DHCPRequest(DHCP请求)”信息包作为回应。该信息包告诉服务器“是的,我想让你给我提供服务。我接受你提供给我的租用期限”。而且,一旦信息包以广播的方式发送以后,网络中所有网络中所有的DHCP服务器都可以看到该信息包,那些提议提议没有被客户端承认的DHCP服务器将保留IP地址返回给它的可用地址池。4确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPRequest包后,DHCP会以一个“DHCPAcknowledge(DHCP确认)”信息包作为响应,该信息包提供了客户端请求的任何其他信息,并且也是以广播的形式发送的。该信息包告诉客户端“一切准备好,记住你只能在有限时间内租用该地址,而不能永久占据!好了,一下是你询问的其他信息。”IP地址租约DHCP服务器是以地址租约的方式为DHCP客户端提供服务的,它主要提供一下两种方式的地址租约。1.限定租期。当DHCP客户端向DHCP服务器租用到IP地址后,DHCP客户端只是暂时的使用这个地址一段时间。如果客户端在租约到期时没有更新租约,则DHCP服务器会收回该IP地址,并将该IP地址提供给其他的DHCP客户端使用。如果DHCP客户端又需要IP地址,它可以向DHCP服务器重新租用另一个IP地址。2.永久租约。当DHCP客户端向DHCP服务器租用到IP地址后,这个地址就永远分派给这个DHCP客户端使用。只要有足够的IP地址给客户端使用,就没有必要限定租约时间。DHCP客户端续租IP地址的过程DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPRequest包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将重新发送消息给DHCP客户端。DHCP客户端释放IP地址的过程DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0.0.0.0。关键词:广播包IP地址池IP租约DHCP选项安装DHCP#rpm-qa|grepdhcp所需软件包:dhcpdhcp服务器DHCP主要配置文件/etc/dhcpd.conf:dhcp的主要配置文件。这个文件不一定存在,需要手动建立。每个dhcp组件在推出时,都会附上一个范例文件dhcpd.conf.sample.#rpm-qldhcp#cp/usr/share/doc/dhcp-3.0pl2/dhcpd.conf.sample/etc/dhcpd.conf/var/lib/dhcp/dhcpd.leases:记录租约的启始与到期日/etc/dhcpd.conf1、说明:1)『#』为注释;2)除了括号那一行之外,其它的每一行后面都要以『;』做为结尾。2、dhcpd.conf的格式选项/参数#这些选项全局有效声明{选项/参数#这些选项局部有效}3、声明用于定义网络布局、提供给客户端的ip地址等声明功能shared-network名称{...}定义超级作用域subnet网络号netmask子网掩码{...}定义作用域(或ip子网)range起始ip地址终止ip地址定义作用域(或ip子网)范围host主机名{...}定义保留地址(静态ip)4、参数控制dhcp服务器行为的值参数功能ddns-update-style类型定义所支持的dns动态更新类型(ad-hoc(动态升级)、interim(过渡性dhcp-dns互动更新)、none)只用全局allow/ignoreclient-updates允许/忽略客户机更新dns记录只用全局default-lease-time数字指定默认的租约期限(秒)max-lease-time数字指定最大租约期限hardware硬件类型MAC地址指定网卡接口类型和mac地址server-name主机名通知dhcp客户机服务器的主机名fixed-addressip地址分配给客户端一个固定的ip地址5、选项配置dhcp客户端的可选参数。全部用option关键字作为开头选项功能subnet-mask子网掩码为客户端指定子网掩码domain-name“域名”为客户端指定dns域名domain-name-serverip地址为客户端指定dns服务器的ip地址host-name“主机名”为客户端指定主机名routersip地址为客户端指定默认网关broadcast-address广播地址为客户端指定广播地址netbios-name-serversip地址为客户端指定wins服务器的ip地址netbios-node-type节点类型为客户端指定节点类型ntp-serverip地址为客户端指定网络时间服务器的ip地址nis-serversip地址为客户端指定nis域服务器的ip地址nis-domain“名称”为客户端指定所属的nis域的名称time-offset偏移差为客户端指定与格林尼治时间的偏移差以上选项即可以用于全局也可以用于局部实例假设有两块网卡eth0(对内网)和eth1(对外网),现在要对内网设置dhcp服务器,要求为:网段为192.168.1.0/24,且routers为192.168.1.1,此外,DNS主机的IP为218.76.138.66,218.76.138.90每个使用者预设租约为3天,最长为6天;想要分配的地址池为:192.168.1.10-192.168.1.50和192.168.1.100-192.168.1.200,其它的IP则保留下来;静态主机1,MAC是『00:40:95:30:43:B4』,分配的主机名称为hello1,且IP为192.168.1.5静态主机2,MAC是『00:40:95:30:55:C9』,分配的主机名称为hello2,且IP为192.168.1.61、#vi/etc/dhcpd.confddns-update-styleinterim;ignoreclient-updates;default-lease-time259200;max-lease-time518400;optiondomain-name“abc.com.cn;optiondomain-name-servers218.76.138.66,218.76.138.90;subnet192.168.1.0netmask255.255.255.0{range192.168.1.10192.168.1.50;range192.168.1.100192.168.1.200;optionbroadcast-address192.168.1.255;optionrouters192.168.1.1;}hosthello1{hardwareethernet00:40:95:30:43:B4;fixed-address192.168.1.5;optionbroadcast-address192.168.1.255;optionrouters192.168.1.1;}hosthello2{hardwareethernet00:40:95:30:55:C9;fixed-address192.168.1.6;optionbroadcast-address192.168.1.255;optionrouters192.168.1.1;}2、指定eth0(内网)监听dhcp服务。#vi/etc/sysconfig/dhcpdDHCPDARGS=eth0“主要应用于在多网络接口的系统中指定网络接口启动DHCP服务。3、启动#servicedhcpdrestart#vi/var/log/messages排错#netstat-utlActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStateudp00*:bootps*:*[root@testdhcp]#netstat-utlnActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStateudp000.0.0.0:670.0.0.0:*DHCP客户端验证Window:ipconfig/release释放IPipconfig/renew获得IPLinux:netconfig//设置IP为动态获取servicenetworkrestart看看租约记录文件#more/var/lib/dhcp/dhcpd.leasesDHCP服务器的部署1、小型网络采用单一的DHCP服务器DNS、ftp、web等服务器使用静态IP2、大型网络方法一:每个子网配置一台DHCP服务器方法二:使用支持DHCP广播转发的路由器方法三:一台DHCP服务器,每个子网中配置一台中继代理。方法四:对可靠性要求比较高的网络,建议配置备份DHCP服务器