DHCP服务的简介和配置详解
1、DHCP服务简介
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做"双机热备"的。
2、DHCP服务作用
Ø 为大量客户机自动分配地址,提供集中管理
Ø 减轻管理和维护成本、提高网络配置效率
3、DHCP服务可分配的地址信息主要包括
Ø 网卡的IP地址、子网掩码
Ø 对应的网络地址、广播地址
Ø 默认网关地址
Ø DNS服务器地址
Ø 引导文件、TFTP服务器地址
4、DHCP的原理
1、客户端寻×××器进行IP请求
2、服务器提供地址信息
3、接受并广播(客户机选择IP)
4、服务器确认租约(DHCPACK)
服务器确认租约(DHCPNACK)
如果DHCP客户机无法找到DHCP服务器,将从TCP/IP的B类网段169.254.0.0、16中挑选一个IP作为自己的IP地址,每隔5分钟继续尝试与DHCP服务器通信。
5、客户端重新登录
6、服务器确认
DHCP客户机续租:
DHCP客户机会在租期过去50%的时候,直接向为其提供IP地址的DHCP服务器发送DHCPREQUEST消息包。如果客户机接收到该服务器回应的DHCPPACK消息包,客户机就根据包中所提供的新的租期以及其他已经更新的TCP/IP参数更新自己的配置,IP租用更新完成。如果没有收到该服务器的回复,则客户机继续使用现有的ip地址,因为当前租期还有50%。
如果在租期过去50%的时候没有更新,则DHCP客户机在租期过去87.5%的时候再次向为其提供IP地址的DHCP服务器联系,如果还不成功,到租约的100%的时候,DHCP客户机必须放弃这个IP地址,重新申请。如果此时无DHCP服务器可用,DHCP客户机会使用169.254.0.0/16中随机的一个地址,并且每隔5分钟再进行尝试。
5、DHCP的相关配置文件
端口号:ipv4 udp 67(源端口:接收客户端请求的)、
udp 68(目的端口:向客户端发送请求成功或失败的回应)
ipv6 udp 546、udp 547
服务名:dhcpd、dhcrelay
主配置文件:/etc/dhcp/dhcpd.conf
模板文件:/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
中继配置文件:/etc/sysconfig/dhcrelay
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
查看租约文件:/var/lib/dhcpd/dhcpd.lease
很多网络服务的排错日志:/var/log/messages
===========================================================================
6、DHCP服务配置步骤
本次操作是在VMware虚拟机中进行的。
(1)操作前的准备
防火墙临时关闭:iptables –F
防火墙永久关闭:/etc/init.d/iptables stop
查看防火墙状态:iptables -L
selinux临时关闭:setenforce 0
selinux永久关闭:sed –i“7s/enforcing/disabled/g”/etc/selinux/config
(2)客户端配置
1、关闭防火墙和selinux
2、自己在虚拟网络编辑器创建一个局域网的网卡,并设置好网段,取消虚拟网络编辑器的DHCP自动分配功能
3、进入客户机设置IP地址为自动获取(就是让DHCP选项生效),然后用service network restart 重启客户机网卡,到这里客户端就设置完成。
(3)服务端配置
1、进入服务机设置IP地址、网关和虚拟网络编辑器那个网卡的网段一致,然后重启网卡
2、配置yum源,挂载光盘,然后用yum -y install dhcp安装dhcp软件
3、进入dhcp配置文件/etc/dhcp/dhcpd.conf发现里面是空的,然后把dhcp模板文件中的内容导入dhcp 配置文件,如下:
4、将配置文件的前几个subnet声明注释掉,修改最后一个subnet的声明
5、修改完成后保存退出,用service dhcpd configtest测试文件是否有错误
6、然后用service dhcpd start 重启dhcp服务
7、重启客户机网卡,看能不能获取到服务机地址池的IP地址
8、为某台主机设置IP地址保留,把要保留IP的MAC地址和要保留的IP地址写入dhcpd.conf的配置文件即可,然后设置客户机为自动获取IP
9、用ifdown eth0停止服务机网卡,再用ifup eth0开启网卡,然后用service dhcpd start 重启dhcp服务,看客户机能不能获取到指定IP
---------------------------------------------------------------------------------------------------------------------------------
7、超级作用域配置
(1)当电脑很多一个网段不够用时,我们要让一个DHCP服务器可以分配两个网段,这时,我们需要把之前设置的dhcpd.conf里面的网段声明和主机声明全部都注释掉,重新进行配置。
(2)这里我们实验需要用到三台同一局域网的虚拟机,其中一台作为DHCP服务器,另外两台作为客户机并且都设置为自动获取IP的状态,为了实验方便,配置文件里面我们设置两个网段,每个网段只有一个IP地址可以分配,观察两台客户机能不能获取到两个网段的IP地址。
(3)用service dhcpd start 重启dhcp服务,同时重启两个客户机的网卡,看客户机能不能获取到两个网段的IP地址
===============================================================================
8、DHCP中继配置
(1)准备一台连接内网eth0(192.168.116.10)vmnet5的DHCP服务器,网关设置成中继的vmnet5的IP地址
准备一台两个网卡的DHCP中继,eth0(192.168.116.20)网卡连接内网vmnet5,
eth1(100.100.100.1)网卡连接外网vmnet6
准备一台外网客户机eth0连接到vmnet6,并设置为自动获取IP方式
关闭虚拟网络编辑器的DHCP分配功能
(2)配置yum源,挂载光盘,在服务机和中继分别安装dhcp软件
(3)修改dhcp配置文件
(4)修改中继器相关配置文件
(5)修改客户机网卡为自动获取IP地址,并注释掉原有的IP,然后重启客户端网卡即可获取DHCP服务器分配的IP地址