我见过最好的Linux教程——送你一台属于你自己的DHCP服务器

山有木兮木有枝,心悦君兮君不知。

目录

1. DHCP服务的概述
2. DHCP服务简介
3. DHCP的工作流程
4. IP地址的租约和更新
5. DHCP服务器分配给客户端的ip地址类型
6.Dhcp服务器的安装与维护

本节内容比较多,请大家耐心看完,或者直接跳过看如何搭建服务器,制作不易,转载请注明出处。

我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第1张图片
好了,进入正文

DHCP 服务的概述

DHCP指的是由服务器控制一段IP地址范围,客户机在登陆服务器时就可以自动获取IP地址和子网掩码,当DHCP客户端启动时 它会自动与服务器通讯,要求提供自动分配ip地址的服务,而安装dhcp服务软件的服务器则会响应。

DHCP服务简介

DHCP (Dynamic Host Configuration Protocol 动态主机配置协议) 是一个简化主机的IP地址分配管理的TCP/IP标准协议在dhcp机制中可以分为服务器和客户端两个部分,服务器使用固定的IP地址,在局域网中扮演者给客户端提供动态IP地址,DNS配置和网关配置的角色。客户端与ip地址相关的配置都在启动时由服务器自动分配。
结构图如下:
我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第2张图片

DHCP的工作流程

DHCP客户端想服务器申请IP地址、获得IP地址的大致的过程可以分为四部分。

1. dhcp客户端发现

dhcp客户端在局域网中发送广播信息包,搜索局域网中的全部dhcp服务器。

2. dhcp服务器提供

当本地子网中服务器接收到客户端发送的信息包是,就会检查自身是否有给请求客户的空闲ip地址,如果有再以广播信息包作为回响,信息包中就含有有效的ip地址,子网掩码,租用期限等。

3. dhcp客户端请求

客户端通常会对第一个提议产生想赢,并以广播方式发送信息包最为回应,意思告诉服务器“我想让你给我提供服务”。而且一旦信息包以广播的方式发送以后,网络中其他所有的服务器可以看到该信息包,那些没有被客户端同意的服务器将收回他们发出的ip地址并且返回地址池。

4. dhcp服务器确认

最后就是服务器返回一个确认的信息,告诉客户端“一切准备好,记住你只能在有限的时间内使用该地址,而不能永久占据!”

IP地址的地址租约和更新

客户端从DHCP服务器取得ip地址后,这次的租约行为就会被记录到主机的租赁
信息文件中,并且开始计时。

(1) IP地址租约

Dhcp服务器是以地址租约的方式为dhcp客户端提供服务的,它主要提供两种方式的地址租约

限定租约

当dhcp服务器租用到IP地址后,dhcp客户端只是暂时是使用这个ip地址一段时间,如果客户端在租约到期时没有更新租约,dhcp服务器则会收回该IP地址,并且讲该ip地址分配给其他的客户端使用,如果原有的dhcp客户端又要使用ip地址,它可以向dhcp服务器重新租用另一个ip地址。

永久租约
当dhcp客户端向服务器租用到ip地址后,这个ip地址就会永远分配给这个dhcp客户端使用,只要有足够的ip地址使用,就没有必要使用限定租约,可以采取永久租约的方式给客户端自动分配ip地址。

(2)租约更新

前面咱们说在限定租约中客户端如果租约到期没有更新租约,服务器则会收回该ip地址,但其实客户端在获取到ip地址之后,也并不是一直等到租约到期才向服务端请求租约更新的,实际上在租约到期之前的时间内,dhcp客户端会与dhcp服务器取得两次联系,从而确定下一步的使用计划。

第一次更新
当客户端发现它的租用期限用到百分之五十以上时,就会向客户端发送一个udp信息包第一次的更新请求,这个信息报的内容就是用来询问服务器能否保持tcp/ip配置信息并且更新它的租赁请求,如果服务器时可用的,则会回复客户端一个信息包,同意客户端的请求。

第二次更新(重新捆绑)
第一次的更新时当时间使用百分之五十以上时发送更新请求,如果客户端端在第一次的请求中没能更新租赁,他会在使用时间近百分之八十五(具体时间可能是87.5%)以上时他会再一次尝试更新租赁,如果这次更新失败,客户端则会尝试与任何一个dhcp服务器联系以获得一个有效的ip地址。如果其他dhcp服务器能够分配一个新的ip地址,则客户端会再次进入捆绑状态如果客户端当前的ip地址租用期满,则客户端必须放弃该ip地址,并且诚信进入初始化状态,然后重复整个过程。

(3)解约条件

既然服务器与客户端建立了一个有效的租约,那么这个租约什么时候能够解除呢?我为大家整理了两种情况进行解释。

客户端租约到期

当dhcp服务器向客户端的ip地址是有使用期限的,如果客户端使用ip地址的期限结束,并且没有向服务器请求租约更新,dhcp服务器则会将这个ip地址回收,客户端就会造成短线。

客户端离线
除了客户端的租约到期会解除以外,当客户端离线(关闭网络接口、重新开机、关机),dhcp服务器都会将ip地址收回并放入自己的ip地址池中等待下一个客户端的请求。

DHCP服务器分配给客户端的ip地址类型

在客户端向服务器申请ip地址时,服务器并不是总给他一个动态的ip地址,而是根据实际情况来决定的。

(1) 动态ip地址

客户端从dhcp服务器取得的ip地址一般都不是固定的,而是每次都可能不一样,在ip地址有限的单位内,动态ip地址可以最大化的达到资源的有效利用,他利用每个员工并不是同时上线的原理,而是为优先上线的员工提供ip地址,而离线之后在进行收回。

(2) 固定IP地址

客户端从dhcp服务器取得ip地址也并总是动态的,比如有的单位除了人员使用计算机外,还有一些其他一些服务器,这些服务器如果也使用动态的ip地址,不但非常的不利于管理,而且客户端访问起来也不方便,这时候就可以对dhcp服务器进行记录特定客户端计算机的mac地址,然后为每个mac地址分配一个固定的ip地址。
至于如何查询网卡的mac地址,根据网卡是本机还是远程的计算机采用的方法也有些许不同。
我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第3张图片
第一行HWaddr 00:0c:29:06:EA:c5 就是linux客户端 查询的网卡的mac地址
Ps:网络中每台设备都有一个唯一的网络标识,这个地址叫MAC地址或网卡地址,由网络设备制造商生产时写在硬件内部,只要不去更改自己的MAC地址,那么MAC地址在世界上就是唯一的。

Dhcp服务器的安装与维护

下面我就教大家如何搭建一个dhcp简单服务器

Dhcp主配置文件详解

[root@Demo ~]# vim /etc/dhcp/dhcpd.conf 主配置文件目录
我们以Centos6.5为例 当dhcp安装完成之后,他会出现dhcp.conf 这个主配置文件,但开始里面除了注释是没有内容的。为了方便我们可以把/usr/share/doc/dhcp*/dhcpd.conf.sample文件下的例子配置文件导过来来查看该文件的内容。
如图:
我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第4张图片
我们留下48-56行内容。
我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第5张图片

48 subnet 10.5.5.0 netmask 255.255.255.224 {	   	##定义了一个子网,本机网段相同时;不同时需要添加一个空的子网。
 49   range 10.5.5.26 10.5.5.30;					##定义地址池的范围
 50   option domain-name-servers ns1.internal.example.org;	##域名服务器地址
 51   option domain-name "internal.example.org";	##域名选项
 52   option routers 10.5.5.1;						##网关地址
 53   option broadcast-address 10.5.5.31;			##广播地址
 54   default-lease-time 600;						##默认租约时间
 55   max-lease-time 7200;							##最大祖约时间
 56 }

知道什么意思之后我们就可以进行dhcp服务器的配置了
更改内容如下:

 48 subnet 192.168.0.0  netmask 255.255.255.0 {		##定义一个子网
 49   range 192.168.0.150 192.168.0.160;			##定义地址池
 50   option domain-name-servers ns1.internal.example.org;	
 51   option domain-name "internal.example.org";
 52   option routers 192.168.0.254;					##网关
 53   option broadcast-address 192.168.0.255;		##广播地址
 54   default-lease-time 7200; 						##祖约时间
 55   max-lease-time 64000;							##祖约时间
 56 }		

重启服务

[root@Demo ~]# service dhcpd restart
Starting dhcpd:                                            [  OK  ]
[root@Demo ~]# 

设置开机自启动

[root@Demo ~]# chkconfig dhcpd on

服务器搭建完成,找一个客户端将网卡配置修改为dhcp自动获取。
我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第6张图片
重启网卡 我们查看一下ip地址

我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第7张图片
成功获取。
我见过最好的Linux教程——送你一台属于你自己的DHCP服务器_第8张图片

好了一个简单的DHCP服务器就搭建完成了,后面我会对大家将dhcp的其他配置,例如超级域,对特定主机分配特定的ip地址等,还有一些其他DHCP配置文件的解释,以及一些其他dhcp的命令等。

你可能感兴趣的:(Linux服务器建设篇)