dhcp服务器(一)
DHCP服务概述:
名称:DHCP -Dynamic Host Configuration Protocol动态主机配置协议。
功能:DHCP(Dynamic Host Configuration Protocol)是一个局域网的网络协议。
使用UDP协议工作,主要有两个用途:
1、给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名。
2、配合其他服务,实现集成化管理功能。如:无人值守安装服务器。
特点:C/S模式 客户端/服务端
自动分配IP地址,方便管理
DHCP 不会同时租借相同的IP地址给两台主机;
DHCP管理员可以约束特定的计算机使用特定的IP地址;
可以为每个DHCP作用域设置很多选项;
客户机在不通子网间移动时不需要重新设置IP地址。每次自动获取IP地址。
DHCP的缺点:
当网络上存在多服务器时,一个DHCP服务器不能查出已被其他服务器租出去的ip地址;
DHCP 服务器不能跨路由器和客户机通信,除非路由允许BOOTP协议转发。
DHCP协议由bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口,bootpc代表客户端端口。
bootp协议:引导程序协议(bootp)。它可以让无盘工作站从一个中心服务器上获取IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。
bootp有一个缺点:在设定前必须实现获得客户端的硬件地址,而且,mac地址与ip地址对应是静态的。换言之,bootp非常缺乏‘动态性’,若在有限的ip资源环境中,bootp一对一的会造成很大的浪费。
DHCP 可以说是BOOTP的增强版,它分为两个部分:一个是服务器端,另一个是客户端。所有的ip网络设定数据都有DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的ip环境数据。比较BOOTP,DHCP透过“租约”的概念,有效且动态的分配给客户端TCP/IP设定,而且,作为兼容考虑,DHCP也完全照顾了BOOTP Client的需求。

------DHCPDISCOVER-----------> udp 目标67 源IP 0.0.0.0 目的IP:255.255.255.255
即DHCP 客户机寻找DHCP 服务器的阶段。DHCP 客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover 发现信息来寻找DHCP 服务器,即向地址255.255.255.255 发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP 服务器才会做出响应。
------DHCPOFFER--------------> udp 目标68 源IP 是DHCP的服务器IP,目的IP:255.255.255.255
即DHCP 服务器提供IP 地址的阶段。在网络中收到DHCPdiscover 发现信息的DHCP 服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP 客户机, 向DHCP 客户机发送一个包含出租IP 地址和其他设置的DHCPoffer提供信息。
------DHCPREQUEST-----------> udp 67 源IP0.0.0.0 目的IP:255.255.255.255
即DHCP 客户机选择某台DHCP 服务器提供的IP 地址的阶段。如果有多台DHCP服务器向DHCP 客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后他就以广播的方式回答一个DHCPrequest 请求信息,该信息中包含向他所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有DHCP 服务器,他将选择某台DHCP服务器所提供的IP地址。
------DHCPACK ---------------> udp 68 源IP是服务器的IP 目的IP:255.255.255.255
即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便想DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,出DHCP客户机选中的服务器外,其它的DHCP服务器都将回收曾提供的IP地址。
注意:客户端执行DHCP DISCOVER后,如果么有DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段的一个IP地址,配置本机地址。
169.254.0.0/16 是windows的自动专有IP寻址范围,也就是在无法公国DHCP获取IP地址时,由系统自动分配的IP地址段。
二、安装DHCP
1、所需rpm包
- dhcp-common-4.1.1-25.P1.el6.x86_64.rpm // 包括了DHCP 客户端和服务器端共同需要的一些文件
- dhclient-4.1.1-25.P1.el6.x86_64.rpm //dhcpclient
- dhcp-4.1.1-25.P1.el6.x86_64.rpm // dhcp 服务包
2、或者使用yum 安装
[root@111 etc]# yum install dhcp
3、当DHCP 住程序包安装好后会自动生成主配置文件的范本文件dhcpd.conf.examle,版本较老的可能是dhcpd.conf.sample。
[root@111 dhcp-4.2.5]# ls /usr/share/doc/dhcp-4.2.5
dhcpd6.conf.example dhcpd.conf.example ldap
4、而在/etc/dhcp/下会创建一个空白的dhcpd.conf 主配置文件。需要将范本文件复制到/etc/dhcp/下替换掉空白的dhcpd.conf
[root@111 etc]# find / -name dhcpd.conf
/etc/dhcp/dhcpd.conf
[root@111 dhcp-4.2.5]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@111 dhcp-4.2.5]#
5、修改配置文件
可以看出配置文件分为全局和局部两个部分。
概念与协议:
- 作用域:可以分配IP的范围 subnet
- 地址池:可以分配给客户端的IP, range 包括的IP
- 保留地址:指定某个客户端使用的一个特定IP, 通过host配置。
- 租约(时间):客户端可以使用这个IP地址的时间
部分配置文件解释
# option definitions common to all supported networks... 全局配置
option domain-name "example.org"; //为客户端指定所属的域
option domain-name-servers ns1.example.org, ns2.example.org; //为客户端指定DNS服务器地址 default-lease-time 600; # 作用:定义默认IP租约时间,以S为单位的租约时间。
# 50%:续约。(续不上继续使用) 87.5%:再次续约,续不上找别人。
DHCP 工作站除了在开机的时候发出 DHCPrequest 请求之外, 在租约期限一半的时候也会发出DHCPrequest,如果此时得不到 DHCP 服务器的确认的话,工作站还可以继续使用该IP;当租约期过了87.5%时,如果客户机仍然无法与当初的DHCP 服务器联系上,它将与其它 DHCP 服务器通信。如果网络上在没有任何DHCP 协议拂去其在运行时,该客户机必须停止使用该 IP 地址,并从发从一个Dhcpdiscover 数据包开始, 再一次重复整个过程。要是想退组,可以随时DHCPRELEASE命令解约、
max-lease-time 7200;
作用:定义客户端IP租约时间的最大值,当客户端超过租约时间,却尚未更新IP时,最长可以使用该IP的时间。
log-facility local7; // 定义日志类型为 local7
声明一般用来指定IP 作用域、定义为客户端分配的IP 地址池
声明格式:
subnet 网络号 netmask 子网掩码{
选项或参数
}
注意:网络号必须与DHCP服务器的网络号相同。

选项含义:
1、range 起始IP 地址 结束IP 地址
作用:指定动态IP 地址范围,可以在subnet(子网)声明中指定多个range,但多个range所定义IP,范围不能重复。
dhcp服务器(一)的更多相关文章
- 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)
环境如下: (参考之前,保证二个子网可以互相ping通) 虚拟机vm1 192.168.170.3 VMnet8 (NAT模式) 虚拟 ...
- DHCP服务器原理
DHCP服务器 port:67 DHCP 这个服务可以自动的分配 IP 与相关的网络参数给客户端, 来提供客户端自动以服务器提供的参数来设定他们的网络 12.1 DHCP 运作的原理 ...
- DHCP服务器的开始方式
方法一:采用DHCP服务器接口开启的方式 [Huawei]dhcp enable [Huawei]int g0/0/0[Huawei-GigabitEthernet0/0/0]ip add 192.1 ...
- 搭建DHCP服务器以及DHCP中继服务器
一.DHCP服务器 1.首先配置DHCP服务器的IP地址(DHCP服务器网卡桥接在VMnet1) .配置好IP后重启DHCP服务 3.安装DHCP服务器,在这里我用的是YUM安装的(关于YUM ...
- 使用Dhcpstarv解决DHCP服务器冲突问题
场景: 内网环境需要开启多个DHCP服务器,分别给不同的设备进行PXE安装. 存在的问题: 多个DHCP的情况下,设备在启动时随机从一个DHCP服务器获取IP(哪个DHCP服务器先响应就从哪个获取)并 ...
- 烂泥:centos安装及配置DHCP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...
- redhat enterprixe 5.0 下DHCP服务器rpm安装配置及其测试
一.了解DHCP DHCP服务提供动态指定IP地址和配置参数的机制.有动态和静态两种方式. 二.rpm安装 因为配过Samba,所以感觉挺简单. 首先找到主程序和几个附属程序的rpm的安装包.应该都是 ...
- Windows Tftpd32 DHCP服务器 使用
/********************************************************************* * Windows Tftpd32 DHCP服务器 使用 ...
- [转]详述DHCP服务器的三种IP分配方式
DHCP就是动态主机配置协议(Dynamic Host Configuration Protocol),它的目的就是为了减轻TCP/IP网络的规划.管理和维护的负担,解决IP地址空间缺乏问题.这种网络 ...
- DHCP 服务器
简介: DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要用途:给内部网络或网络服务供应商自动分配 I ...
随机推荐
- Task Parallelism
The Task Parallel Library (TPL) is based on the concept of a task, which represents an asynchronous ...
- 第81讲:Scala中List的构造和类型约束逆变、协变、下界详解
今天来学习一下scala中List的构造和类型约束等内容. 让我们来看一下代码 package scala.learn /** * @author zhang */abstract class Big ...
- poj 2192 Zipper
题目 刚开始本来觉得可以用队列来写,但是 例如 ta te teta,ta的t先出队列那就不行了,所以还得用dp dp[i][j] 表示A前i个字符与B前j个字符是否能构成C前i+j个字符 要使 dp ...
- Python自动化开发 - 进程、线程(一)
本节内容 1.操作系统发展史 2.进程和线程 3.Python threading 模块 一.操系统发展史 手工操作(无操作系统) 1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统 ...
- [转载]DevOps建立全生命周期管理
全生命周期管理(ALM)领域作为企业DevOps实践的总体支撑,应该说是DevOps领域中最为重要的实践领域,也是所有其他实践的基础设施.现在很多企业都非常重视CI/CD自动化工具的引入和推广,但是对 ...
- Kali Linux渗透测试实战 1.3 渗透测试的一般化流程
1.3 渗透测试的一般化流程 凡事预则立,不预则废,做任何事情都要有一个预先的计划.渗透测试作为测试学科的一个分支,早已形成了完整的方法论.在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali ...
- MacOS统计TCP/UDP端口号与对应服务
1.TCP端口 echo "### TCP LISTEN ###" lsof -nP -iTCP -sTCP:LISTEN 2.UDP端口 echo "### UDP L ...
- vs2017常用快捷键
项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示 Solution Explorer(解决方案资源管理器) Ctrl + Shift + A = ...
- 大脸猫讲逆向之ARM汇编中PC寄存器详解
i春秋作家:v4ever 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中.当然,文中许多介绍 ...
- C#6.0语言规范(十七) 特性
许多C#语言使程序员能够指定有关程序中定义的实体的声明性信息.例如,在一个类中的方法的可访问性由与装饰它指定method_modifier小号public,protected,internal,和pr ...