1、项目十一 配置与管理DHCP服务器 项目描述:在一个计算机比较多的网络中,如果要为整个企业每个部门的上百台机器逐一进行IP地址的配置绝不是一件轻松的工作。为了更方便、简捷地完成这些工作,很多时候会采用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)来自动为客户端配置IP地址、默认网关等信息。 在完成该项目之前,首先应当对整个网络进行规划,确定网段的划分以及每个网段可能的主机数量等信息。 项目目标: 了解DHCP服务器在网络中的作用 理解DHCP的工作过程 掌握DHCP服务器的基本配置 掌握DHCP客户端的配置和测试 掌握在网络中部署DHCP服
2、务器的解决方案 掌握DHCP服务器中继代理的配置 11.1 相关知识 11.3 项目实施 11.4 项目实录11.5 练习题 11.6 实践习题11.7 超级链接 项目十一 配置与管理DHCP服务器11.2 项目设计与准备 11.1 相关知识11.1.1 DHCP服务概述 在一个计算机比较多的网络中,如果要为整个企业每个部门的上百台机器逐一进行IP地址的配置绝不是一件轻松的工作。为了更方便、简捷地完成这些工作,很多时候会采用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)来自动为客户端配置IP地址。DHCP基于客户/服务器模式,当DHCP客户
3、端启动时,它会自动与DHCP服务器通信,要求供自动分配IP地址的服务,而安装了DHCP服务软件的服务器则会响应要求。 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个简化主机IP地址分配管理的TCP/IP标准协议,用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作,如:DNS服务器、WINS服务器、Gateway(网关)的设置。 在DHCP机制中可以分为服务器和客户端两个部分,服务器使用固定的IP地址,在局域网中扮演着给客户端提供动态IP地址、DNS配置和网管配置的角色。客户端与IP地址相关的配置,都在启动时由服务
4、器自动分配。11.1.2 DHCP工作过程DHCP客户端和服务器端申请IP地址、获得IP地址的过程一般分为4个阶段,如图 1DHCP客户机发送IP租约请求 当客户端启动网络时,由于在IP网络中的每台机器都需要有一个地址,因此,此时的计算机TCP/IP地址与0.0.0.0绑定在一起。它会发送一个“DHCP Discover(DHCP发现)”广播信息包到本地子网,该信息包发送给UDP端口67,即DHCP/BOOTP服务器端口的广播信息包。2DHCP服务器提供IP地址 本地子网的每一个DHCP服务器都会接收“DHCP Discover”信息包。每个接收到请求的DHCP服务器都会检查它是否有提供给请求
5、客户端的有效空闲地址,如果有,则以“DHCP Offer(DHCP提供)”信息包作为响应,该信息包包括有效的IP地址、子网掩码、DHCP服务器的IP地址、租用期限,以及其他的有关DHCP范围的详细配置。所有发送DHCP Offer信息包的服务器将保留它们提供的这个IP地址(该地址暂时不能分配给其他的客户端)。“DHCP Offer”信息包广播发送到UDP端口68,即DHCP/BOOTP客户端端口。响应是以广播的方式发送的,因为客户端没有能直接寻址的IP地址。3DHCP客户机进行IP租用选择 客户端通常对第一个提议产生响应,并以广播的方式发送“DHCP Request(DHCP请求)”信息包作为
6、回应。该信息包告诉服务器“是的,我想让你给我提供服务。我接收你给我的租用期限”。而且,一旦信息包以广播方式发送以后,网络中所有的DHCP服务器都可以看到该信息包,那些提议没有被客户端承认的DHCP服务器将保留的IP地址返回给它的可用地址池。客户端还可利用DHCP Request询问服务器其他的配置选项,如DNS服务器或网关地址。11.1.2 DHCP工作过程4DHCP服务器IP租用认可 当服务器接收到“DHCP Request”信息包时,它以一个“DHCP Acknowledge(DHCP确认)”信息包作为响应,该信息包提供了客户端请求的任何其他信息,并且也是以广播方式发送的。该信息包告诉客户
7、端“一切准备好。记住你只能在有限时间内租用该地址,而不能永久占据!好了,以下是你询问的其他信息”。11.1.3 IP地址租约和更新1.限定租期 2.永久租用 (1)更新 (2)重新捆绑 (1)客户端租约到期 ( 2)客户端离线11.1.4 DHCP服务器分配给客户端的IP地址类型 1动态IP地址2固定IP地址什么是MAC地址?MAC地址也叫做物理地址或硬件地址,是由网络设备制造商生产时写在硬件内部的(网络设备的MAC地址都是唯一的)。在TCP/IP网络中,表面上看来是通过IP地址进行数据的传输,实际上最终是通过MAC地址来区分不同的节点的。(1)查询本机网卡的MAC地址。 这个很简单,用ifc
8、onfig命令就可以轻松完成,前面项目1已经讲过。(2)查询远程计算机网卡的MAC地址。 既然TCP/IP网络通信最终要用到MAC地址,那么使用ping命令当然也可以获取对方的MAC地址信息,只不过它不会显示出来,我们要借助其他的工具来完成。rootserver # ping c 1 192.168.0.186 /ping 远程计算机192.168.0.186一次。rootserver # arp -n/查询缓存在本地的远程计算机中的MAC地址。11.2 项目设计及准备11.2.1 项目设计 部署DHCP之前应该先进行规划,明确哪些IP地址用于自动分配给客户端(即作用域中应包含的IP地址),哪
9、些IP地址用于手工指定给特定的服务器。例如,在项目中,IP地址段为192.168.1.1-192.168.1.254,子网掩码是255.255.255.0,网关为192.168.1.1,192.168.0.2-192.168.1.30网段地址是服务器的固定地址,客户端可以使用的地址段为192.168.1.100-192.168.1.200,其余剩下的IP地址为保留地址。用于手工配置的IP地址,一定要排除掉保留或者是地址池之外的地址,否则会造成IP地址冲突。请思考,为什么?11.2.2 项目需求准备 部署DHCP服务应满足下列需求。 (1)安装Linux企业服务器版,用作DHCP服务器。 (2)
10、DHCP服务器的IP地址、子网掩码、DNS服务器等TCP/IP参数必须手工指定,否则将不能为客户端分配IP地址。 (3)DHCP服务器必须要拥有一组有效的IP地址,以便自动分配给客户端。1DHCP的安装(1)首先检测下系统是否已经安装了DHCP相关软件。rootserver # rpm -qa | grep dhcp dhcpv6_client-1.0.10-16.el5(2)如果系统还没有安装dhcp软件包,可以使用yum命令安装所需软件包。 挂载ISO安装镜像。/挂载光盘到 /iso下rootrhel6 # mkdir /isorootrhel6 # mount /dev/cdrom /i
11、so 11.3 项目实施11.3.1 任务1 安装DHCP服务器1DHCP的安装(2)如果系统还没有安装dhcp软件包,可以使用yum命令安装所需软件包。 挂载ISO安装镜像。 制作用于安装的yum源文件。 11.3 项目实施11.3.1 任务1 安装DHCP服务器rootrhel6 # vim /etc/yum.repos.d/dvd.repo 使用yum命令查看dhcp软件包的信息。rootrhel6 # yum info dhcp1DHCP的安装(2)如果系统还没有安装dhcp软件包,可以使用yum命令安装所需软件包。 使用yum命令安装dhcp服务。 11.3 项目实施11.3.1 任
12、务1 安装DHCP服务器rootRHEL6 # yum clean all /安装前先清除缓存rootrhel6 # yum install dhcp -y软件包安装完毕之后,可以使用rpm命令再一次进行查询:rpm -qa | grep dhcp。rootRHEL6 iso# rpm -qa | grep dhcpdhcp-4.1.1-34.P1.el6.x86_64dhcp-common-4.1.1-34.P1.el6.x86_6411.3.2 任务2 DHCP常规服务器配置 基本的DHCP服务器搭建流程如下所示。 (1)编辑主配置文件/etc/dhcp/dhcpd.conf,指定IP作用
13、域(指定一个或多个IP地址范围)。 (2)建立租约数据库文件。 (3)重新加载配置文件或重新启动dhcpd服务使配置生效。DHCP工作流程,如图所示。11.3.2 任务2 DHCP常规服务器配置 客户端发送广播向服务器申请IP地址。 服务器收到请求后查看主配置文件dhcpd.conf,先根据客户端的MAC地址查看是否为客户端设置了固定IP地址。 如果为客户端设置了固定IP地址则将该IP地址发送给客户端。如果没有设置固定IP地址,则将地址池中的IP地址发送给客户端。 客户端收到服务器回应后,客户端给予服务器回应,告诉服务器已经使用了分配的IP地址。 服务器将相关租约信息存入数据库。1主配置文件/
14、etc/dhcp/dhcpd.conf 11.3.2 任务2 DHCP常规服务器配置 (1)dhcpd.conf主配置文件组成部分 parameters(参数)declarations(声明)option(选项) (2)dhcpd.conf主配置文件整体框架。dhcpd.conf文件格式:#全局配置参数或选项参数或选项; #全局生效全局生效#局部配置声明声明 参数或选项参数或选项; #局部生效局部生效 11.3.2 任务2 DHCP常规服务器配置 默认主配置文件(/etc/dhcp/dhcpd.conf)没有任何实质内容,打开查阅,发现里面有一句话“ see /usr/share/doc/dh
15、cp*/dhcpd.conf.sample”。将该样例文件复制到主配置文件。rootRHEL6 # cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf显示是否覆盖时,选择y。dhcp范本配置文件内容包含了部分参数、声明以及选项的用法,其中注释部分可以放在任何位置,并以“#”号开头,当一行内容结束时,以“;”号结束,大括号所在行除外。如图所示。2常用参数介绍 11.3.2 任务2 DHCP常规服务器配置 (1)ddns-update-style (none|interim|ad-hoc)。 作用:定义所支持的DNS动态更新
16、类型。 none:表示不支持动态更新。 interim:表示DNS互动更新模式。 ad-hoc:表示特殊DNS更新模式。 (2)ignore client-updates。作用:忽略客户端更新。(3)default-lease-time number(数字)。作用:定义默认IP租约时间。(4)max-lease-time number(数字)。 作用:定义客户端IP租约时间的最大值。default-lease-time 21600;max-lease-time 43200; 3常用声明介绍11.3.2 任务2 DHCP常规服务器配置 声明格式如:声明声明 选项或参选项或参数数; 常见声明的使用
17、如下: (1)subnet 网络号 netmask 子网掩码 .。作用:定义作用域,指定子网。subnet 192.168.0.0 netmask 255.255.255.0 (2)range dynamic-bootp 起始IP地址 结束IP地址。作用:指定动态IP地址范围。range dynamic-bootp 192.168.0.100 192.168.0.2004常用选项介绍 11.3.2 任务2 DHCP常规服务器配置 (1)option routers IP地址。作用:为客户端指定默认网关。option routers 192.168.0.1(2)option subnet-mas
18、k 子网掩码。作用:设置客户端的子网掩码。option subnet-mask 192.168.0.1(3)option domain-name-servers IP地址。作用:为客户端指定DNS服务器地址。option domain-name-servers 192.168.0.3(1)、(2)、(3)选项可以用在全局配置中,也可以用在局部配置中。5租约数据库文件11.3.2 任务2 DHCP常规服务器配置 租约数据库文件用于保存一系列的租约声明,其中包含客户端的主机名、MAC地址、分配到的IP地址,以及IP地址的有效期等相关信息。这个数据库文件是可编辑的ASCII格式文本文件。每当发生租约
19、变化的时候,都会在文件结尾添加新的租约记录。DHCP刚安装好后租约数据库文件dhcpd.leases是个空文件。当DHCP服务正常运行后就可以使用cat命令查看租约数据库文件内容了。cat /var/lib/dhcpd/dhcpd.leases11.3.2 任务2 DHCP常规服务器配置 技术部有60台计算机,DHCP服务器和DNS服务器的地址都是192.168.1.1/24,有效IP地址段为192.168.1.1-192.168.1.254,子网掩码是255.255.255.0,网关为192.168.1.254,192.168.1.1-192.168.1.30网段地址是服务器的固定地址,客户
20、端可以使用的地址段为192.168.1.100-192.168.1.200,其余剩下的IP地址为保留地址。6简单配置应用案例(1)使用VMware部署该环境2台安装好RHEL 6.4的计算机,连网方式都设为host only(VMnet0),一台作为服务器,一台作为客户端使用。(2)服务器端配置 定制全局配置和局部配置,局部配置需要把192.168.1.0/24网段声明出来,然后在该声明中指定一个IP地址池,范围为192.168.1.100-192.168.1.200,分配给客户端使用,最后重新启动dhcpd服务让配置生效。11.3.2 任务2 DHCP常规服务器配置 配置文件内容如下所示。d
21、dns-update-style none;log-facility local7;subnet 192.168.1.0 netmask 255.255.255.0 range 192.168.1.100 192.168.1.200; option domain-name-servers 192.168.1.1; option domain-name internal.example.org; option routers 192.168.1.254; option broadcast-address 192.168.1.255; default-lease-time 600; max-lea
22、se-time 7200;6简单配置应用案例11.3.2 任务2 DHCP常规服务器配置 配置完后保存退出并重启dhcpd服务。rootRHEL6 # service dhcpd restart(3)在客户端进行测试。6简单配置应用案例 在VMWare主窗口中,依次打开“Edit”“Virtual Network Editor”,打开虚拟网络编辑器窗口,选中VMnet1或VMnet8,去掉对应的DHCP服务启用选项。如图 11.3.2 任务2 DHCP常规服务器配置 11.3.2 任务2 DHCP常规服务器配置 11.3.2 任务2 DHCP常规服务器配置 11.3.2 任务2 DHCP常规服
23、务器配置 (4)查看租约数据库文件。 rootserver # cat /var/lib/dhcpd/dhcpd.leases11.3.2 任务2 DHCP常规服务器配置 7DHCP的启动、停止、重启、自动加载的启动、停止、重启、自动加载rootRHEL6 # service dhcpd start/启动服务启动服务rootRHEL6 # /etc/rc.d/init.d/dhcpd start/停止服务停止服务rootRHEL6 # service dhcpd stop/停止服务停止服务rootRHEL6 # /etc/rc.d/init.d/dhcpd stop/停止服务停止服务rootR
24、HEL6 # service dhcpd restart/重启服务重启服务rootRHEL6 # /etc/rc.d/init.d/dhcpd restart/重启服务重启服务 rootRHEL6 # chkconfig -level 3 dhcpd on/自动加载自动加载dhcpd服务服务 rootRHEL6 # chkconfig -level 3 dhcpd off/自动关闭加载自动关闭加载dhcpd服务服务11.3.2 任务2 DHCP常规服务器配置 (4)自动加载DHCP服务。 rootserver # ntsysv8IP地址绑定 在DHCP中的IP地址绑定用于给客户端分配固定IP地
25、址。 整个配置过程需要用到host声明和hardware、fixed-address参数。11.3.2 任务2 DHCP常规服务器配置 11.3.2 任务2 DHCP常规服务器配置 9保留地址配置应用案例 销售部有200台计算机,采用192.168.1.0/24网段,路由器IP地址为192.168.1.254,DNS服务器IP地址为192.168.1.1,DHCP服务器为192.168.1.1,客户端地址范围为192.168.1.100-192.168.1.200,子网掩码为255.255.255.0,技术总监CIO使用的固定IP地址为192.168.1.88,部门经理使用的固定IP地址为19
26、2.168.1.66。(1)编辑主配置文件/etc/dhcp/dhcpd.conf。11.3.2 任务2 DHCP常规服务器配置 9保留地址配置应用案例 10.3.3 任务3 配置DHCP客户端 1Linux客户端配置 配置Linux客户端需要修改网卡配置文件,将BOOTPROTO项设置为BOOTPROTO=dhcp。(1)将BOOTPROTO=none修改为BOOTPROTO=dhcp,启用客户端DHCP功能。rootClient # vim /etc/sysconfig/network-scripts/ifcfg-eth0 (2)重新启动网卡或者使用dhclient命令,重新发送广播申请IP地址。 rootClient # ifdown eth0; ifup eth0 #或者 rootClient dhclient eth0(3)使用ifconfig命令测试。 rootClient # ifconfig eth02Windows客户端配置 (1)Windows客户端没什么好讲的,这个比较简单,设置IP和DNS自动获取就可以。 (2)在Windows命令提示符下,利用ipconfig可以释放IP地址后,重新获取IP地址。 释放IP地址:ipconfig /release 新申请IP地址:ipconfig /renew10.3.3 任务3 配置DHCP客户端