1、实验目的(1)掌握DHCP的基本概念,如:作用域、地址池、租约、保留地址等(2)掌握DHCP的工作原理,主要是IP地址的获取过程(3)掌握DHCP服务器的配置方法(4)掌握DHCP客户端的配置方法2、实验内容(1)配置DHCP服务器(2)配置Linux下的DHCP客户端(3)使用dhclient工具来验证IP地址的获取正确性3、理论知识DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是一个简化主机IP地址分配管理的TCP/IP标准协议。
DHCP是BOOTP协议的扩展,基于C/S模式,提供了一种动态指定IP地址和配置参数的机制,主要用于大型网络环境和配置比较困难的地方。
一些基本概念(1)DHCP客户机:一台通过DHCP服务器获取网络配置参数(包括网关、DNS服务器等网络配置)的计算机,通常是普通的工作站。
(2)DHCP服务器:提供网络设置参数(主要指IP地址、默认网关、DNS 服务器等网络配置)给DHCP客户机的主机。
(3)作用域:网络中的所有可分配的IP地址的连续范围。
(4)地址池:可供DHCP客户机使用的IP地址范围。
(5)租约:DHCP服务器指定客户机所获得的IP地址的时间长度(允许使用的时间),在租约到期前,客户机需要更新IP地址的租约,否则不能继续使用该IP地址。
(6)保留地址:子网中指定硬件设备使用的IP地址。
(7)排除范围:不用于dhcp分配的IP地址范围。
DHCP的工作原理第一次登录1)DHCP工作的第1步:DHCP发现。
指的是客户端启动网卡时,获取IP地址的第一步。
DHCP客户端使用0.0.0.0作为自己的IP地址,作为服务器的地址,然后在UDP的67或68端口广播一个DHCP发现信息。
然后等待服务器的响应2)DHCP工作的第1步:DHCP提供指网络中的任何一个DHCP服务器在收到客户端的DHCP发现信息时,如能够提供IP地址,就从该DHCP服务器中的IP地址池中选取一个没有出租的IP地址,然后利用广播方式提供给DHCP客户端。
3)DHCP第三个过程是DHCP请求DHCP客户端收到第一个DHCP服务器的应答信息后,就以广播的方式发送一个DHCP请求信息给网络中所有的服务器。
通知服务器已经接收到IP地址,同时通知其他服务器不用再给他分配IP地址。
4)DHCP第三个过程:DHCP应答分配IP地址DHCP服务器收到DHCP请求信息后,就将该IP地址标识为已租用,然后以一个广播方式发送一个DHCP应答信息给DHCP客户端。
客户端接收到DHCP应答信息后,就完成了IP地址的获取过程,可以使用该IP和其他计算机进行通信了。
4、实验步骤1)安装DHCP服务器[root@azuoroot]#rpm-qa|grepdhcp 0-12-6root]#rpm–ivh root]#rpm–ivh dhcp software]# rpm -Uvh 3.0.1出现两处进度条显示为100%方为安装成功。
warning: 3.0.1 V3 DSA signature: NOKEY, key ID db42a60ePreparing...########################################### [100%]1:dhcp warning: /etc/ created as /etc/[100%][root@azuodhcpsoftware]#rpm-Uvh3.0.13.0.1V3DSAsignature:NOKEY,key ID db42a60ePreparing...########################################### [100%]1:dhcp-devel########################################### [100%][root@azuodhcpsoftware]#rpm-Uvh3.0.13.0.1V3DSAsignature:NOKEY,key ID db42a60ePreparing...########################################### [100%]1:dhclient########################################### [100%]2)DHCP重要的配置文件1)/etc/ (DHCP的主配置文件,包括DHCP的最主要的配置信息)2) var/lib/dhcp/ (租赁文件,用于查看当前DHCP客户端的情况)3) /usr/sbin/dhcpd(DHCP服务程序的执行文件)4)/etc/ (DHCP的启动脚本)5)/var/log/message(日志文件)6)/etc/sysconfig/dhcpd(定义DHCP广播网卡文件)7)/etc/sysconfig/dhcrelay(中继代理服务文件)8)/etc/dhcrelay(中继代理服务启动脚本)9) /usr/sbin/dhcrelay(中继代理执行文件)在实验中我们主要掌握主配置文件的配置内容和用法就可以了,其他的可以课后自己研究。
3)DHCP服务器端的配置1、快速配置DHCP Server。
在/usr/share/doc/dhcp<version-number>目录下,存在一个名为的文件,该文件提供了一个很好的DHCP配置的范例,我们可以将这个文件拷贝到/etc目录下,再对该文件进行修改即可。
具体步骤如下:1)cp /etc/ /etc/ Don't change this unless# -- you understand Netbios very well#option netbios-node-type 2;rangedynamic-bootp0.0.0:670.0.0.0:*1712/dhcpddhcp服务对应的端口号为UDP的67。
如果看到有67端口开放,则证明dhcp服务已经启动了。
3、客户端的配置dhcp的客户端大致可以分为windows和linux两种系统。
Linux下的DHCP服务器的地址池在分配IP地址的时候,是从最后面的IP地址先开始分配的。
所以,在下面第一个被获取到的IP地址为。
对于windows的客户端,只需要设置为“自动获取IP地址”即可,设置比较简单。
然后,在命令DOS窗口中使用ipconfig /all来查看获取到的IP地址和DHCP 服务器的地址。
Windows DHCP客户端的配置C:> ipconfig /all :Description . . . . . . . . . . .: AMD PCNET Family PCI EthernetAdapterPhysical Address. . . . . . . . . : 00-0C-29-C6-37-DEDHCP Enabled. . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : YesIPAddress. . . . . . . . . . . . : . . . . . . . . . . :. . . . . . . . : . . . . . . . . . . : . . . . .. . . . . : . . . . . . . . . : 2006年8月16日12:29:16Lease Expires . . . . . . . . . . : 2006年8月16日18:29:16对于Linux的客户端,则需要修改以下网络配置文件,设置网卡的IP地址为自动获取。
查看/var/lib/dhcp/,可以看到dhcp客户端获取IP地址的情况。
[root@azuo etc]# cat /var/lib/dhcp/#AlltimesinthisfileareinUTC(GMT),notyourlocaltimezone. Thisis# not a bug, so please don't ask about it. There is no portable way to# store leases in the local timezone, so please don't request this as a# feature. If this isinconvenient or confusing to you, we sincerely# apologize. Seriously, though - don't ask.# The format of this file is documented in the (5) manual page.# This lease file was written by isc-dhcp-V3.0.1lease {binding state active;next binding state free;hardware ethernet 00:0c:29:c6:37:de;uid "\001\000\014)\3067\336";client-hostname "SERVER";}选做内容:PXE中的DHCP的配置DHCP-PXE的配置#vi /etc/ddns-update-style interim;ignore client-updates;allow booting;allow bootp;option routerssubnet-maskdomain-nameoption domain-name-serversnetmask{default-lease-time 21600;max-lease-time 43200;rangedynamic-bootp########################################### [100%]1:tftp########################################### [100%][root@azuoroot]#rpm-ivh########################################### [100%]1:tftp-server"";42a./mnt42a.########################################### [100%]如上面所示,安装成功。
修改/etc/xinetd/tftd,主要是把tftp服务进程托管给xineted进程,这里只要把disable=no,该为yes即可代码:service tftp{socket_type= dgramprotocol= udpwait= yesuser= rootserver=/usr/sbin/server_args= -s /tftpbootdisable= no sg文件可以从Redhat的第一张光盘的/isolinux/目录下找到。