DHCP服务的简介和配置详解

1DHCP服务简介

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是用来做"双机热备"的。

2DHCP服务作用

Ø 为大量客户机自动分配地址,提供集中管理

Ø 减轻管理和维护成本、提高网络配置效率

 

3DHCP服务可分配的地址信息主要包括

Ø 网卡的IP地址、子网掩码

Ø 对应的网络地址、广播地址

Ø 默认网关地址

Ø DNS服务器地址

Ø 引导文件、TFTP服务器地址

 

4DHCP的原理

blob.png

1、客户端寻×××器进行IP请求

2、服务器提供地址信息

3、接受并广播(客户机选择IP

4、服务器确认租约(DHCPACK

   服务器确认租约(DHCPNACK

   如果DHCP客户机无法找到DHCP服务器将从TCP/IPB类网段169.254.0.016中挑选一个IP作为自己的IP地址,每隔5分钟继续尝试与DHCP服务器通信。

5、客户端重新登录

6、服务器确认

blob.png

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分钟再进行尝试。

 

5DHCP的相关配置文件

端口号:ipv4  udp 67(源端口:接收客户端请求的)、

   udp 68(目的端口:向客户端发送请求成功或失败的回应)

       ipv6  udp 546udp 547

服务名:dhcpddhcrelay

主配置文件:/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

===========================================================================

 

 

6DHCP服务配置步骤

本次操作是在VMware虚拟机中进行的。

1)操作前的准备

防火墙临时关闭:iptables F       

防火墙永久关闭:/etc/init.d/iptables stop

查看防火墙状态:iptables -L

selinux临时关闭:setenforce 0

selinux永久关闭:sed i7s/enforcing/disabled/g/etc/selinux/config

 

 

2)客户端配置

1关闭防火墙和selinux

2、自己在虚拟网络编辑器创建一个局域网的网卡,并设置好网段,取消虚拟网络编辑器的DHCP自动分配功能

blob.png

3、进入客户机设置IP地址为自动获取(就是让DHCP选项生效),然后用service network restart 重启客户机网卡到这里客户端就设置完成。

blob.png


3)服务端配置

1进入服务机设置IP地址、网关和虚拟网络编辑器那个网卡的网段一致,然后重启网卡

2配置yum源,挂载光盘,然后用yum -y install dhcp安装dhcp软件

3、进入dhcp配置文件/etc/dhcp/dhcpd.conf发现里面是空的,然后把dhcp模板文件中的内容导入dhcp 配置文件,如下

blob.png
blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

4将配置文件的前几个subnet声明注释掉,修改最后一个subnet的声明

blob.png

5修改完成后保存退出,用service dhcpd configtest测试文件是否有错误

6然后用service dhcpd start 重启dhcp服务

 

7重启客户机网卡,看能不能获取到服务机地址池的IP地址

8为某台主机设置IP地址保留,把要保留IPMAC地址和要保留的IP地址写入dhcpd.conf的配置文件即可,然后设置客户机为自动获取IP

blob.png

9ifdown eth0停止服务机网卡,再用ifup eth0开启网卡,然后用service dhcpd start 重启dhcp服务,看客户机能不能获取到指定IP

---------------------------------------------------------------------------------------------------------------------------------

 

7超级作用域配置

1)当电脑很多一个网段不够用时,我们要让一个DHCP服务器可以分配两个网段,这时,我们需要把之前设置的dhcpd.conf里面的网段声明和主机声明全部都注释掉,重新进行配置。

2)这里我们实验需要用到三台同一局域网的虚拟机,其中一台作为DHCP服务器,另外两台作为客户机并且都设置为自动获取IP的状态,为了实验方便,配置文件里面我们设置两个网段,每个网段只有一个IP地址可以分配,观察两台客户机能不能获取到两个网段的IP地址。

blob.png

3)用service dhcpd start 重启dhcp服务,同时重启两个客户机的网卡,看客户机能不能获取到两个网段的IP地址

===============================================================================

8DHCP中继配置

   1)准备一台连接内网eth0(192.168.116.10)vmnet5DHCP服务器,网关设置成中继的vmnet5IP地址

        准备一台两个网卡的DHCP中继,eth0(192.168.116.20)网卡连接内网vmnet5

eth1(100.100.100.1)网卡连接外网vmnet6

准备一台外网客户机eth0连接到vmnet6,并设置为自动获取IP方式

关闭虚拟网络编辑器的DHCP分配功能

2)配置yum源,挂载光盘,在服务机和中继分别安装dhcp软件

3)修改dhcp配置文件

blob.png

blob.png

blob.png

blob.png

4)修改中继器相关配置文件

blob.png

blob.png

blob.png

blob.png

blob.png

(5)修改客户机网卡为自动获取IP地址,并注释掉原有的IP,然后重启客户端网卡即可获取DHCP服务器分配的IP地址