目录:
简介
剖析配置文件
应用案例
DHCP是动态主机配置协议(Dynamic Host Configuration Protocol)的简写,使用DHCP协议可以为客户端主机自动分配TCP/IP信息,如IP地址、子网掩码、网关、DNS等信息,服务器可以选择固定分配特定参数信息给指定的一台主机,也可以设置多台主机分享这些参数信息,所有客户端竞争 获得TCP/IP参数信息。客户端主机通过UDP广播的形式发送请求给本地网络,服务器收到请求后根据配置将TCP/IP信息租赁给客户端,时间是有限的,当租期到了以后客户端可以再次向服务器发出请求实现续约。在本书第一章大规模部署操作系统的实施过程中就需要使用DHCP服务为大量主机自动动态分配网络参数信息。在企业办公环境中使用DHCP服务可以帮助员工实现移动办公,不管是台式机、笔记本还是平板电脑只要接入网络就可以自动获得网络参数。
1.安装软件
dhcp软件包提供了DHCP协议的全部实现,主配置文件为/etc/dhcp/dhcpd.conf,默认该文件没有配置模版,如果需要参考模版可以使用/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample作为参考模版,/var/lib/dhcpd/dhcpd.leases文件保存了分配给客户端的数据记录。

  1. [root@centos6 ~]# yum -y install dhcp 

2.配置文件解析
由于默认的配置文件没有模块,我们可以使用dhcpd.conf.sample文件作为模版修改服务器配置。配置文件分为全局设置、子网定义、主机定义三块内容,其中子网与主机定义项可以有多个。DHCP服务器最主要的功能是为本地网络提供网络参数数据,下面我们分析一下模版文件的参数含义,主要所有设置项最后都有分号结束符。

  1. #dhcpd.conf 
  2. #定义全局参数:默认搜索域 
  3. option domain-name “example.org”; 
  4. #定义全局参数:域名服务器 
  5. option domain-name-server ns1.example.org, ns2.example.org; 
  6. #定义全局参数:默认租期,单位为秒 
  7. default-lease-time 600; 
  8. #定义全局参数:最大租期,单位为秒 
  9. max-lease-time 7200; 
  10. #定义10.152.187.0/255.255.255.0子网,但没有为该子网设置任何参数 
  11. subnet 10.152.187.0 netmask 255.255.255.0{ 
  12. #定义10.254.239.0/255.255.255.224子网,IP地址池为10.254.239.10至19.254.239.20, 
  13. #默认网关为rtr-239-0-1.example.org, rtr-239-0-2.example.org 
  14. subnet 10.254.239.0 netmask 255.255.255.224 { 
  15. range 10.254.239.10 10.254.239.20; 
  16. option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; 
  17. #定义10.5.5.0/255.255.255.224子网,IP地址池为10.5.5.26至10.5.5.30, 
  18. #DNS服务器为ns1.internal.example.org,默认网关为10.5.5.1,广播地址为10.5.5.31, 
  19. #默认租期600秒,最大租期7200秒, 
  20. #子网定义中的参数与全局参数有冲突时以子网定义参数为准。 
  21. subnet 10.5.5.0 netmask 255.255.255.224 { 
  22.   range 10.5.5.26 10.5.5.30; 
  23.   option domain-name-servers ns1.internal.example.org; 
  24.   option domain-name “internal.example.org”; 
  25.   option routers 10.5.5.1; 
  26.   option broadcast-address 10.5.5.31; 
  27.   default-lease-time 600; 
  28.   max-lease-time 7200; 
  29. #主机定义项:定义主机fantasia,通过该主机的MAC地址,绑定固定IP给该客户端, 
  30. #以后该主机每次向服务器请求IP后,获得的将是fixed-address指定的固定IP地址。 
  31. #当定义多个主机时,host后的主机名称要求是唯一的不可重复的。 
  32. host fantasia { 
  33.   hardware  ethernet 08:00:07:26:c0:a5; 
  34.   fixed-address fantasia.fugue.com; 

3.DHCP应用案例
近期ABC网络公司计划重新规划网络环境,由于之前使用的环境是手动配置网络参数,然而公司内部有些部门员工对计算机专业知识完全没有概念,经常出现一些简单的网络故障消耗了网络维护人员的大量精力与时间,如IP地址冲突、网关设置不正确等故障。鉴于这样的问题频频出现,公司决定在公司内部部署DHCP服务,让所有员工在零配置基础上进行网络访问,但公司内部的若干台文件服务器以及打印服务器需要使用固定IP。公司拓扑结构如图1。

dhcp服务

                                图1

  1. [root@centos6 ~]# yum -y install dhcp 
  2. [root@centos6 ~]# vim /etc/dhcp/dhcpd.conf 
  3. #dhcpd.conf 
  4. default-lease-time 600; 
  5. max-lease-time 7200; 
  6. subnet 172.16.0.0 netmask 255.255.0.0 { 
  7.         range 172.16.0.100 172.16.0.200; 
  8.         option domain-name-servers 202.106.0.20, 202.106.46.151; 
  9.         option domain-name "abc.com"; 
  10.         option routers 172.16.0.1; 
  11.         option broadcast-address 172.16.255.255; 
  12. host fileserver { 
  13.         hardware ethernet 00:0C:5D:71:C4:3F; 
  14.         fixed-address 172.16.0.10; 
  15. host printserver { 
  16.         hardware ethernet 00:0C:5D:71:C4:3E; 
  17.         fixed-address 172.16.0.20; 
  18. [root@centos6 ~]# service dhcpd restart 
  19. [root@centos6 ~]# chkconfig dhcpd on 

至此,DHCP服务已经配置完成,所有公司的客户主机只要设置动态获取获取网络参数,就可以实现零配置访问网络。