DHCP:Dynamic Host Configuration Protocol
中文名称:动态主机配置协议
DHCP服务属于C/S结构:
DHCP-server端使用UDP的67号端口
DHCP-client端使用UDP的68号端口
DHCP-client:DHCP DISCOVER 客户端发送广播包寻找DHCP服务器
DHCP-server:DHCP OFFER 服务器端收到客户端的广播包后说我能提供IP地址
DHCP-client:DHCP REQUEST 客户端选择一个IP地址
DHCP-server:DHCP ACK 服务器端确认租约等
安装前环境准备:
[root@dhcp_server ~]# cat/etc/redhat-release CentOS release 6.6 (Final) [root@dhcp_server ~]# uname -r 2.6.32-504.el6.x86_64 [root@dhcp_server ~]# uname -m x86_64
#生产环境中需要我们去安装配置dhcp服务的场景不多所以使用yum安装足以。
[root@dhcp_server ~]# yum -y installdhcp [root@dhcp_server ~]# rpm -q dhcp dhcp-4.1.1-43.P1.el6.centos.x86_64
#使用yum安装的dhcp的配置文件路径在/etc/dhcp/dhcpd.conf
dhcpd.conf大致可以分为四个区域:
定义dhcpd自身的工作属性:
log-facilify:日志facilify
全局地址分配属性:option打头
optionroute
子网配置:
通常每个作用域通过一个subnet定义
subnetNETWORK_ADDR mask NETMASK {
range起始地址 结束地址;
optionroute 网关;
optiondomain-name-servers DNS1,DNS2;
}
主机配置:主机配置段host id可以名称自定义
通常为某特定MAC地址固定的分配一个地址
host'host id' {
hardwareethernet 0:0:c0:5d:bd:95;
fixed-address IP address;
}
#默认dhcpd.conf中是没有内容的我们可以复制模板作为配置文件
[root@dhcp_server ~]# cat/etc/dhcp/dhcpd.conf # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # see 'man 5 dhcpd.conf' #
#复制模板配置文件
[root@dhcp_server ~]# cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf cp: overwrite `/etc/dhcp/dhcpd.conf'? y
#将注释及不需要的配置段删除只保留常用的段自己修改即可
# dhcpd.conf option domain-name"example.org"; //配置DNS域名 option domain-name-serversns1.example.org, ns2.example.org; #配置DNS服务器地址 default-lease-time 600; #默认租约时间 max-lease-time 7200; #最大租约时间 log-facility local7; #日志管理交给local7这个设备 #subnet端定义分配给客户端的地址池 subnet 10.152.187.0 netmask255.255.255.0 { } #host端定义为某个mac地址分配一个固定的地址 host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address fantasia.fugue.com; }
#假设局域网是192.168.0.0/23的网段。现在需要使用dhcp自动为客户端分配IP地址,起始分配地址从192.168.0.166到192.168.0.188结束。分配的网关地址是192.168.1.1,DNS地址为192.168.1.1和8.8.8.8.
[root@dhcp_server ~]# vi/etc/dhcp/dhcpd.conf # dhcpd.conf option domain-name"enzhi.org"; option domain-name-servers 192.168.1.1,8.8.8.8; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 192.168.0.0 netmask 255.255.254.0{ range 192.168.0.166 192.168.0.188; option routers 192.168.1.1; } host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address fantasia.fugue.com; }
#启动dhcp服务
[root@dhcp_server ~]# /etc/init.d/dhcpdstart
#如果启动dhcp服务失败可以通过/var/log/boot.log日志查看故障原因
[root@dhcp_server ~]# tail -100/var/log/boot.log
#配置协议为使用dhcp自动获取IP地址
#重启网络服务
/etc/init.d/network restart