目录

  • DHCP实现原理

    • DHCP定义
    • DHCP分配方式
    • DHCP工作过程
      • 初次登录
      • 重新登录
      • 更新租约
  • 搭建DHCP服务器
    • 实验目的
    • 实验环境
    • 实验步骤
    • 实验结果

DHCP实现原理

DHCP定义

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。它是一种流行的Client/Server协议,一般用于为主机或者为路由器等指定相关的配置信息。DHCP服务在企业和家庭中得到了大量的应用,它能够自动分配ip地址以及一些其他的相关信息,整个过程对客户透明。

DHCP分配方式

  • 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
  • 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
  • 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

DHCP工作过程

DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。 如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。

初次登录


初次登录时DHCP工作包括四个步骤
1、寻找DHCP服务器
当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。
2、分配IP地址
在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。
3、接受IP地址
DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。
4、IP地址分配确认
当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

重新登录

以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

1、如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP。
2、如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用。
3、回复NACK后,重新开始DHCP初次登录时的流程

更新租约

DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限到达租约的50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

搭建DHCP服务器

实验目的

手动搭建一台DHCP服务器,使其达到该网段内的所有主机,都能通过该服务器自动获取ip地址,并且获取到的ip地址是自己在DHCP服务器上所指定的网段

实验环境

操作系统:CentOs7
工具:VMvare软件

实验步骤

1、在CentOS7上安装DHCP软件包

[root@CentOs7 ~]# yum -y install dhcp     

2、修改DHCP的配置文件

[root@CentOs7 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
将样板拷贝到并替换配置文件。
在配置文件中加入这么一段
subnet 172.25.0.0 netmask 255.255.0.0{range 172.25.0.50 172.25.0.253;
}
其中subnet 和netmask分别代表网段号和子网掩码号。可以按需求选择三种private ip中的任意一种。
range代表你要划分的ip池的范围。


3、关闭VMvare自带的dhcp服务器,如下所示,然后所有需要分配ip的主机都使用这一张网卡。
例如,我们图中所示的例子。我使用的是VMNET网卡2来进行相关的配置。

我们取消掉该网卡的DHCP服务,并且让所有主机都接入这张网卡。
4、服务机上启动DHCP服务器

[root@CentOs7 ~]# systemctl start dhcpd.service  

5、Client上重新启动网卡

[root@CentOs7 ~]# systemctl restart network

实验结果

每台主机都得到了指定范围的ip地址,我们使用pssh命令查询我所开的四台客户端的情况,如图所示:

这四台客户机的ip刚好是我们在配置文件中分配的ip!0

手把手教你搭建DHCP服务器相关推荐

  1. 手把手教你搭建OA服务器

    手把手教你搭建OA服务器 AnyOffice.Net 3.3 安装与配置说明 AnyOffice.Net在平台准备充分的情况下可以通过一次点击安装.配置IIS站点就能完成.所以在安装AnyOffice ...

  2. 手把手教你搭建gitlab服务器

    gitlab是什么?他有什么作用呢? gitlab是一个开源的git仓库管理软件,并提供web界面,方便管理git仓库.和github很相似,不过github暂时没有开源版本,项目必须托管到githu ...

  3. 【手把手教你搭建MQTT服务器 + 域名备案 + 申请与部署SSL证书】

    文章目录 购买云服务器实现远程登录 搭建emqx服务器 模拟数据交互测试 购买.解析域名 域名备案 申请SSL证书 emqx配置SSL证书 结语 购买云服务器实现远程登录 购买云服务器 可以按照自己情 ...

  4. 手把手教你搭建CSGO服务器+插件(Centos7)

    目录 1 准备 1.1 云服务器 1.2 Xshell 1.3 FileZilla 1.4 API密钥 & 服务器登录令牌 2 部署 2.1 连接服务器 2.2 部署 2.3 更新脚本 2.4 ...

  5. 还在用内网穿透?手把手教你搭建pptp服务器

    前言 说到内网穿透,想必很多人都会想到花生壳.natapp等等穿透工具,优点就是简单方便,缺点就是有端口数量限制,不交钱的话,还限制带宽.限制协议等等 pptp能做什么? 1.连上pptp的主机都会有 ...

  6. 手把手教你搭建数据库服务器平台 | DBA VS 自动化运维,究竟谁与争锋?

    现代化的程度越高,对数据库的依赖性越大.数据安全性和系统的安全性也就越大,比如公司业务系统.数据库是直接的存储地方,宕机带来的损失可能是按分钟或者秒算的.而谁对这些数据库负责--DBA.所以很多公司, ...

  7. 手把手教你搭建 Git 服务器

    https://gitbook.cn/books/5e81adf58d6af944d1f26356/index.html 1. 服务器端安装 Git 切换至 root 账户: su root 看一下服 ...

  8. 手把手教你搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流

    手把手教你搭建Nginx-rtmp流媒体服务器+使用ffmpeg推流 转载自:https://www.jianshu.com/p/06c2025edcd3 by – paperfish 最近尝试着搭建 ...

  9. 报名 | NVIDIA线下交流会:手把手教你搭建TensorFlow Caffe深度学习服务器

    7月21日(周六)下午14:30,量子位与NVIDIA英伟达开发者社区联合举办线下交流会,拥有丰富一线开发经验的NVIDIA开发者社区经理Ken He,将手把手教你搭建TensorFlow & ...

  10. 云服务器架设网站教程_手把手教你搭建腾讯云服务器入门(图文教程)

    本文由博主 威威喵 原创 博客主页:https://blog.csdn.net/smile_running 背景 暑假期间,愁着无聊但也不能荒废学业吧,毕竟以后想靠技术混口饭吃!为了实施自己的计划,特 ...

最新文章

  1. BIND9配置文件详解模板
  2. 树莓派(Raspberry Pi)修改时区
  3. 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)
  4. pythontuple数据类型_Python数据类型之元组的详细介绍
  5. ARP***绑定 linux/windows 下解决方案
  6. dsc linux 软件安装_linux – 安装dsc21时出错:“dsc21:取决于:cassandra(= 2.1.8),但要安装2.2.0”...
  7. MySQL数据类型--与MySQL零距离接触2-6数据表
  8. Android -- 带你从源码角度领悟Dagger2入门到放弃(一)
  9. 我的世界java 内存_我的世界如何分配内存
  10. opencv16-Sobel算子
  11. win7 vs2015配置qt5.11
  12. 图表如何又酷又实用?这个功能,能让大屏做出专家级效果
  13. 无浮动IP的虚机出公网流量路径
  14. qt project settings被禁用解决方案
  15. 凤凰系统(Phoenix OS)PC版安装,电脑上体验功能丰富的安卓系统
  16. novatel中DGPS和RTK以及ppp的terrraStar-x的记录
  17. Codeforces Round #554 (Div. 2) 1152B. Neko Performs Cat Furrier Transform
  18. OpenCV中的模糊处理(python)
  19. Espresso Idling Resource 使用
  20. #优质代码# Map按Value降序排序,Value相同时按Key排序

热门文章

  1. 基于 CentOS 7 配置 NIS 主从实现集中化认证
  2. SSH项目整合基本步骤
  3. 算法复杂度和合并果子题解
  4. 浅显易懂的经济学常识
  5. 老瞎眼 pk 小鲜肉-线段树+区间离线
  6. g++编译so里调用外部so
  7. 【vbers】ibv_post_send|IBV_SEND_SOLICITED|RDMA
  8. 【Alpha】第四次Daily Scrum Meeting
  9. windows Server 2008 安装360随身wifi驱动
  10. zkPorter:Layer-2 的可组合可扩展性