1 DHCP服务器简介
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,DHCP 协议主要是用来自动为局域网中的客户机分配TCP/IP 信息的网络协议,并完成每台客户机的TCP/IP 协议配置。当我们将局域网中客户机IP地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户机自动分配IP地址,使得客户机能够使用这个IP地址。
DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。所有的IP网络参数(包括IP地址、网关和DNS服务器地址等)都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配的IP网络参数。
在DHCP的工作原理中,DHCP服务器提供了三种IP分配方式:自动分配(Automatic allocation)、手动分配和动态分配(Dynamic Allocation)。
自动分配是当DHCP客户端第一次成功的从DHCP服务器获取一个IP地址后,就永久的使用这个IP地址。
手动分配是由DHCP服务器管理员专门指定的IP地址
动态分配是当客户端第一次从DHCP服务器获取到IP地址后,并非永久使用该地址,每次使用完后,DHCP客户端就需要释放这个IP,供其他客户端使用。
2 DHCP服务器的安装
[root@cloud ~]# rpm -q dhcp
未安装软件包 dhcp 
[root@cloud ~]# yum -y install dhcp*
3 DHCP服务器配置文件(实验环境:centos6客户端 centos7服务器端)
在centos7上
默认位置 /etc/dhcpd.conf(如果没有需要将模板配置文件复制过来)
[root@cloud dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
配置centos7为静态IP
配置DHCP文件,写入以下内容:
配置DHCP文件,写入以下内容:
动态IP实验
subnet 192.168.155.0 netmask 255.255.255.0{
       range 192.168.155.60   192.168.155.240;
       option routers 192.168.155.1;
}
人工固定IP实验
group{
      host centos6{
      hardware ethernet   00:0c:29:306c:aa;
      fixed-address 192.168.155.111;
                    }
       }
动态分配
在客户端上(centos6)上配置如下:
1 在虚拟编辑器里将取消勾选:

2 编辑centos6上IP获得方式为DHCP,并加入默认网关(网关即为DHCP option routers)

3 重启客户机,发现IP在所配置的范围之内

人工分配
将group下的内容取消注释加入以下内容,重启DHCP服务器

重启客户端(centos6)

常用配置文件参数讲解:
dhcp.conf包括三部分 1参数(parameters) 2 声明(delarations) 3 选项(option)
常见参数:
| 参数 | 详解 | 
|---|---|
| ddns-update-style | 配置DHCP-DNS互动更新模式 | 
| default-lease-time | 指定默认租赁时间,默认是秒 | 
| max-lease-time | 指定最大租赁时间,默认单位是秒 | 
| hardware | 指定网卡接口类型和Mac地址 | 
| server-name | 通知DHCP客户服务器名称 | 
| fixed-address IP | 分配给客户端固定的IP地址 | 
常见声明:
| 声明 | 解释 | 
|---|---|
| subent | 描述一个IP地址是否属于子网 | 
| range 起始IP 终止IP | 指定动态IP划分范围 | 
| host | 主机名 | 
| group | 为一组参数提供声明 | 
常见选项:
| 选项 | 详解 | 
|---|---|
| netmask | 子网掩码 | 
| domain-name | 为客户端指明DNS名字 | 
| domain-name-servers | 为客户端指明DNS服务器IP地址 | 
| routers | 为客户端设定默认网关 | 
原文:https://www.cnblogs.com/cloudyy/p/12315724.html