您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

DHCP服务原理与搭建

时间:2019-07-15 10:56:04  来源:  作者:

大家都知道上网的最基本前提是要在终端上设置IP、子网掩码、网关、DNS等地址信息,在家里或者在办公室很多时候打开电脑后发现就可以上网,并没有手动设置IP、掩码、DNS地址也能上网,这是什么原因呢?其实这个原因很简单,说明你的内网有"DHCP"服务器,通过它给你的终端自动分配了IP掩码和网关等地址,省去了你手动配置过程,从而给网管人员和办公人员都带来了方便,简化了管理过程。

今天就以本篇文章内容给大家详细介绍一下"DHCP"实现的基本原理以及常见的几种搭建DHCP服务器的方法!

一、DHCP实现原理

1. DHCP是什么

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

2. 部署DHCP服务的好处

减少管理员的工作量

避免输入错误的可能

避免ip地址冲突

当网络更改ip地址段时,不需要再重新配置每一个用户的ip地址

提高了ip地址的利用率

方便客户端的配置

3. DHCP分配方式

自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。

动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。

手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

4. 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地址。

如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP。

如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用。

回复NACK后,重新开始DHCP初次登录时的流程

更新租约:

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

二、常见的几种搭建DHCP服务器的方法

1. 利用TPLinK等宽带路由器内置的DHCP功能模块提供服务

这种方法很简单,首先就是登录路由器,找到DHCP功能设置的位置,直接设置即可。

设置好保存重启后,网内的计算机就可以自动获取iP地址等信息了。

2. 办公网环境利用三层交换机搭建DHCP服务

华为交换机举例:

在三层交换机配置DHCP服务过程:

system-view (进入全局模式)

[Huawei]sysname SW1 ( 设备命名)

[SW1]dhcp enable (使用DHCP功能)

[SW1]ip pool 10 (创建全局地址池,同时进入全局地址池视图)

[SW1-ip-pool-10]network 192.168.10.0 mask 24 (配置全局地址池可动态分配的IP地址范围)

[SW1-ip-pool-10]dns-list 8.8.8.8 (配置DNS )

[SW1-ip-pool-10]gateway-list 192.168.10.1 (配置网关)

[SW1-ip-pool-10]excluded-ip-address 192.168.10.201 192.168.10.254 (保留不被分配的地址)

[SW1-ip-pool-10]lease day 7 (IP租约期限)

[SW1-ip-pool-10]dis this (查询当前模式的配置)

# ip pool 10

gateway-list 192.168.10.1 (网关)

network 192.168.10.0 mask 255.255.255.0 (IP地址范围)

excluded-ip-address 192.168.10.201 192.168.10.254 (保留IP地址范围)

lease day 7 hour 0 minute 0 (IP租约周期)

dns-list 8.8.8.8

[SW1-ip-pool-10]quit (退出

[SW1]ip pool 20

[SW1-ip-pool-20]network 192.168.20.0 mask 24

[SW1-ip-pool-20]dns-list 8.8.8.8

[SW1-ip-pool-20]gateway-list 192.168.20.1

[SW1-ip-pool-20]excluded-ip-address 192.168.20.201 192.168.20.254

[SW1-ip-pool-20]lease day 7

[SW1-ip-pool-20]q

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

[SW1]vlan batch 10 20 (批量创建vlan)

[SW1]interface GigabitEthernet 0/0/1 (进入port 1)

[SW1-GigabitEthernet0/0/1]port link-type access (配置port 1 类型)

[SW1-GigabitEthernet0/0/1]port default vlan 10 (配置port 1 vlan)

[SW1-GigabitEthernet0/0/1]quit (退出)

[SW1]interface GigabitEthernet 0/0/2

[SW1-GigabitEthernet0/0/2]port link-type access

[SW1-GigabitEthernet0/0/2]port default vlan 20

[SW1-GigabitEthernet0/0/2]quit

( 配置VLANIF10接口下的客户端从全局地址池中获取IP地址)

[SW1]interface Vlanif 10 (创建vlanif 10)

[SW1-Vlanif10]ip address 192.168.10.1 24 (配置IP地址)

[SW1-Vlanif10]dhcp select global (在vlanif 10模式下调用全局地址池)

[SW1-Vlanif10]display this (查询当前配置参数)

#

interface Vlanif10

ip address 192.168.10.1 255.255.255.0

dhcp select global

#

Return

[SW1-Vlanif10]quit

[SW1]interface Vlanif 20

[SW1-Vlanif20]ip address 192.168.20.1 24

[SW1-Vlanif20]dhcp select global

[SW1-Vlanif20]quit

[SW1]display ip pool (查看IP地址池配置情况)

[SW1]quit

save (保存配置,写入设备)

3. 在windows 系统里搭建DHCP服务

以2008server为例:

2008ser搭建DHCP服务器步骤:

第一步:安装Windows Server 2008系统作为服务器端;客户端可安装其他Windows系统。

第二步:进入2008ser系统,手动设置IP(未设置静态IP,后面无法继续)

第三步:打开服务器管理器:系统中点击 "开始菜单程序"——> 管理工具 ——>服务器管理器

第四步:进入服务器管理器,点击左侧的"角色"然后点击右侧"添加角色"

第五步:进入添加角色向导默认下一步,

第六步:服务器角色界面,勾选DHCP服务器;

第七步:勾选DHCP服务器后,单击"下一步"按钮,屏幕上将会弹出DHCP服务器简介窗口,默认下一步;

第八步: 进入选择网络连接绑定,勾选IP地址;安装程序将自动检查你的服务器是否具有一个静态IP地址,第2步设置了则会被检测显示出来。

第九步:接下来到"IPv4DNS设置",需要输入你的父域名和DNS服务器的IP地址,这个域将用于我们在这台DHCP服务器上创建的所有作用域; 当DHCP更新IP地址信息的时候,相应的DNS更新会将计算机的名称到IP地址的关联进行同步。

第十步:是否要设置WINS服务器地址参数,默认"此网络上的应用程序不需要WINS"选项; (若需要则正确设置好目标WINS服务器的IP地址。)

第十一步:接下来的"DHCP作用域"窗口中,点击右侧"添加"我们可以根据本地局域网的IP地址分配情况,设置好DHCP服务器的适用范围,同时选中"激活此作用域"选项,并单击"确定"添加完成。

第十二步: DHCPv6无状态模式,选择禁用模式;在Windows Server 2008中默认增加了对下一代IP地址规范IPv6的支持,不过就目前的网络现状来说很少用到IPv6,因此可以选择对此服务器禁用DHCPv6无状态模式。

第十三步: 在"确认"界面,确认后点击安装,开始自动安装。进度条完成,DHCP也安装完成。

最后同局域网中的客户端设置为自动获得IP地址,即可获得DHCP自动分配的IP;

4. linux系统下搭建DHCP服务

以ubuntu系统为例:

网络拓扑结构图如下:

配置步骤如下:

第一步:安装isc-dhcp-server

采用命令:apt-get install isc-dhcp-server:

第一步:配置isc-dhcp-server

首先对作为DHCP服务器的"ubuntu 副本"进行设置:

第三步:进入超级用户,编辑文件/etc/default/isc-dhcp-server文件:

在INTERFACES=""处填入网卡名enp0s3:

第四步:将文件打开发现有很多例子,都是被注释掉了的,选用一个例子,修改后的结果如下:

修改本机的IP地址,子网掩码,默认网关,DNS等:

对该网卡进行重启,对网络进行重新启动,将DHCP服务开启:

第五步:Linux客户机配置(虚拟机从虚拟机获得IP):

网络连接设置为自动获取IP地址:

在命令行中输入dhclient命令重新分配IP地址,我们发现IP地址成功被分配到了,其中图一是未得到分配的IP地址,图二是重分配后得到的由DHCP服务器192.168.137.2分配而来的IP地址192.168.137.101:

通过wireshark抓包进行分析,可看到IP地址192.168.137.101的确是由DHCP服务器192.168.137.2提供的,并且可以看到它们之间的request-ack过程:



Tags:DHCP   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
使用的方法是采用DHCP方式为用户分配IP,然后限定这些用户只能使用动态IP的方式,如果改成静态IP的方式则不能连接上网络;也就是使用了DHCP SNOOPING功能。  例子:  version 1...【详细内容】
2021-09-06  Tags: DHCP  点击:(63)  评论:(0)  加入收藏
1. 实验说明:在前面的文章中我们已经学会了如何在windows server2019上搭建dhcp服务器了,但是其中客户端会根据服务器端地址池依次获取地址。比如dhcp服务器的地址池范围是 19...【详细内容】
2021-08-25  Tags: DHCP  点击:(257)  评论:(0)  加入收藏
很多朋友在使用光猫和路由器连接时,只知道将光猫与路由器正常连接,然后选择宽带拨号的方式进行联网,就可以正常使用了。但如果是在这台路由器的基础上,额外再连接一台路由器,就不...【详细内容】
2021-07-22  Tags: DHCP  点击:(99)  评论:(0)  加入收藏
说到DHCP服务器,就一定会和IP有关系,我们一起首先看DHCP服务器帮助,如下:DHCP服务器能够自动给局域网当中的设备分配IP、子网掩码等TCP/IP协议参数。 地址池开始/结束地址 DHCP...【详细内容】
2021-02-24  Tags: DHCP  点击:(242)  评论:(0)  加入收藏
今天,没事干,安装了一个服务器的操作系统来玩一下,服务器的操作系统是Windows server 2012 R2。给大家讲解一下如何在服务器上搭建DHCP服务器。1.安装服务器操作系统的过程忽略...【详细内容】
2021-01-25  Tags: DHCP  点击:(357)  评论:(0)  加入收藏
大家好,我是老盖,感谢观看本篇文章,本文做的也有视频,也可以看我发布的视频。今天给大家讲一下,自己出门在外,远程连接家中的路由器,可以看一下有没有人连接自己的路由器。我们首先...【详细内容】
2020-11-19  Tags: DHCP  点击:(141)  评论:(0)  加入收藏
什么是网关、DNS、子网掩码,它有什么作用,确实,我们平时在网络中总是在不断的提到网关,却很少真正的去了解它。一、什么是网关1、什么是网关网关是一种充当转换重任的计算机系统...【详细内容】
2020-10-10  Tags: DHCP  点击:(83)  评论:(0)  加入收藏
今天给大家带来日常工作中经常用到的一个技术,那就是DHCP技术,细节类型请转战其他地方即可,理论一大把,不具体细说了。不做同质化内容。拓扑 看过我的视频的同学都应该知道这个...【详细内容】
2020-09-07  Tags: DHCP  点击:(238)  评论:(0)  加入收藏
一、配置拓扑 二、 关键配置1、配置VLAN、Trunk1)、SW1的配置SW1#show vlan briefVLAN Name Status Ports---- -------------------------------- --------- ---------------...【详细内容】
2020-08-31  Tags: DHCP  点击:(85)  评论:(0)  加入收藏
========== 实验环境 ==========Windows Server 2003Windows XPKali Linux 2020.2========== 实验环境 ==========DHCP地址池耗尽攻击:频繁的发送伪装DHCP请求,直到将DHCP地址...【详细内容】
2020-08-21  Tags: DHCP  点击:(249)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条