DHCP(Dynamic Host Configuration Protocol)动态主机设置协议是企业日常网络通信中一个必不可少的协议,它允许服务器向客户端动态分配 IP 地址和配置信息。
在Linux平台,最流行应用最广泛的DHCP服务器是ISC(www.isc.org)发布的。我们熟的BIND也是ISC发布的。DHCP使用比较简单,下面我们看看如何使用它。
DHCP的工作原理
整个DHCP通信过程如下:
1、客户机发出IP租用请求的报文DHCPDISCOVER
DHCP客户计算机初始化网络协议,使用UDP协议的67端口向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。这个包的源地址为0.0.0.0目标IP地址为255.255.255.255的那个包,包中同时保存有DHCP客户计算机网卡的物理地址。
2、DHCP服务器返回IP租用提供响应DHCPOFFER
本地网络中的所有DHCP服务器,凡是接收到这个DHCPDISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP协议68端口给此客户计算机返回一个DHCPOFFER数据包,提供一个IP地址。此数据包的源IP地址为DHCP服务器的IP地址,目标IP地址为255.255.255.255,包中同时还保存了将要提供的IP地址、子网掩码、默认路由和租用时间等信息。
3、客户机选择租用响应DHCPREQUEST
客户机从不止一台DHCP服务器接收到提供之后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。多有其它的DHCP服务器撤销它们的提供以便将IP地址提供给下一次IP租用请求。
4、DHCP服务器发出IP租用确认报文DHCPACK
被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明本DHCP服务器已经接受客户机的选择,并将这一IP地址的合法租用以及其它配置的信息都放入该广播包发给客户机。
5、客户机配置成功后发出的公告报文
客户机在收到DHCPACP包,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。
6、客户IP租用更新报文
在当前租期已过去50%时,DHCP客户机直接向为其提供IP地址的DHCP服务器发送DHCPREQUEST消息包。如果客户机收到该服务器回应的DHCPACK消息包,客户机就根据包中所提供的新的租期以及其它已经更新的TCP/IP参数,更新自己的配置,IP租用更新完成。如果没有收到该服务器的回应,则客户机继续使用现有的IP地址。
编译安装DHCP
# wget ftp://ftp.isc.org/isc/dhcp/dhcp-4.2.3/dhcp-4.2.3.tar.gz   下载源码包
# tar zxvf dhcp-4.2.3.tar.gz   解压缩
# cd dhcp-4.2.3   进入解压目录
# ./configure --prefix=/usr/local/dhcp    指定安装路径
# make && make install    编译并安装
# route add -host 255.255.255.255 dev eth0   添加一条路由
配置DHCP
# vi /usr/local/dhcp/etc/dhcpd.conf   编辑DHCP配置文件
写如下语句
subnet 192.168.100.0 netmask 255.255.255.0 {
   range 192.168.100.100 192.168.100.200;
}
完成配置文件之后,启动DHCP服务
# /usr/local/dhcp/sbin/dhcpd -cf /usr/local/dhcp/etc/dhcpd.conf
如果看到如下提示:
Internet Systems Consortium DHCP Server 4.2.3
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Can't open lease database /var/db/dhcpd.leases: No such file or directory --
  check for failed database rewrite attempt!
Please read the dhcpd.leases manual page if you
don't know what to do about this.
看到该提示说明DHCP服务器没找到记录文件,创建记录文件
# mkdir –p /var/db
# touch /var/db/dhcpd.leases
完成后再次启动DHCP服务,如果你见到如下信息,说明启动成功。
Internet Systems Consortium DHCP Server 4.2.3
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Wrote 0 leases to leases file.
Listening on LPF/eth0/00:0c:29:a6:18:a4/192.168.100.0/24
Sending on   LPF/eth0/00:0c:29:a6:18:a4/192.168.100.0/24
验证DHCP服务器进程是否在监听UDP67端口
[root@localhost local]# netstat -lpn |grep dh
udp     0      0 0.0.0.0:67               0.0.0.0:*                   25378/dhcpd        
udp     0      0 0.0.0.0:68               0.0.0.0:*                   2433/dhclient      
udp     0      0 0.0.0.0:31055          0.0.0.0:*                   25378/dhcpd        
udp     0      0 :::9947                   :::*                           25378/dhcpd        
raw     0      0 0.0.0.0:1                 0.0.0.0:*         7        25378/dhcpd
在客户机中使用DHCP客户端dhclient验证一下能否获取IP
由上图可看出客户机获取IP成功。
DHCP服务器与客户端命令参数详解
DHCP服务端有如下参数:
-4/-6    指定使用IPv4或IPv6,两者启动时只能支持其中一种,不能同时支持。
-d        让服务器把错误输出到终端,方便排除故障。
-f         让服务在前端运行。
-p        指定服务器进程监听的端口号,默认是UDP67,指定端口号之后,DHCP客户端也需要指定对应的端口号。
-s        将广播包发送到指定的地址,而不是255.255.255.255的时候用。
-cf、-lf、-pf      指定DHCP服务器的配置文件(-cf)、记录文件(-lf)和PID文件(-pf)
DHCP客户端有如下参数:
-1         注意是1234的1,意思是让DHCP客户端只尝试与网络中的DHCP服务器连接一次,失败则退出。
-4/-6    指定客户端使用IPv4或IPv6,也是启动时只能支持其中一种,不能同时使用。
-d        让客户端把运行时的信息输出到终端,便于排除错误。
-p        指定和服务器通信的端口号,默认是UDP67
-s        指定广播包发送到指定的地址,而不是255.255.255.255的时候用。
DHCP配置文件详解
DHCP服务器配置dhcpd.conf包括全局配置、子网配置和特殊客户配置三个部分。
全局配置:
option domain-name “xiaocui.com”;      指定域
option domain-name-server 202.106.0.20,202.106.46.151;   指定DNS
default-lease-time 600;     默认租期
max-lease-time 7200;      最大租期
ddns-update-style ad-hoc|draft|none;    动态DNS更新方式,ad-hoc、draft、none三个不能同时使用。
authoritative;    指定为权威DHCP服务器
log-facility 7;    系统日志级别
子网配置:
subnet 192.168.100.0 255.255.255.0 {      定义一个子网,一个配置文件中可以定义多个子网。
range 192.168.100.100 192.168.100.200;        可用IP地址范围
option domain-name-server 202.106.0.20,202.106.46.151;    指定DNS
option domain-name “xiaocui.com”;      指定默认域
option routers 192.168.100.1;      指定默认路由地址
option broadcast-address 192.168.100.255;     指定默认广播地址
default-lease-time 600;     默认租期
max-lease-time 7200;      最长租期
}
特殊客户配置:
host host1 {      定义一个特殊客户
hardware ethernet 00:0c:29:be:52:2f;    指定客户机的MAC地址
fixed-address 192.168.100.5;      给这台客户机的IP
option domain-name-server 202.106.0.20,202.106.46.151;    指定DNS
option domain-name “xiaocui.com”;      指定默认域
option routers 192.168.100.1;      指定默认路由地址
option broadcast-address 192.168.100.255;     指定默认广播地址
default-lease-time 600;     默认租期
max-lease-time 7200;      最长租期
}
以上内容要是全部掌握了,我想配置一台DHCP服务器应该是没有什么问题了。。

转载于:https://blog.51cto.com/cyr520/708962

DHCP企业应用指南相关推荐

  1. 报告发布|天猫联合瓴羊和贝恩咨询重磅推出《天猫DTC企业经营指南 —— 快速响应,产品致胜》

    淘宝天猫商家品牌策略团队和淘宝天猫服饰时尚行业一起,携手瓴羊.贝恩公司等组织,于贝恩公司联合发布<天猫DTC企业经营指南 -- 快速响应,产品致胜>,揭晓了DTC能力建设自"品牌 ...

  2. 报告发布|“双轮驱动”重磅升级,天猫联合瓴羊、罗兰贝格发布《天猫DTC企业经营指南 :以人为本,品牌致胜》

    去年双11前夕,天猫发布DTC新战略以及<天猫企业经营方法论>,引入货品驱动增长视角,助力企业"双轮驱动".转眼又到双11.在过去的一年,越来越多的企业由"粗 ...

  3. 国家高新技术企业认定国家高新技术企业复审指南

    国家高新技术企业认定国家高新技术企业复审指南 首先要更新一下大家对复审的认知,高新技术企业认定中现在并无复审概念,三年期满后需要重新认定,因此所谓的复审,就是相当于重新做一次新的认定,其手续和要求也都 ...

  4. 企业信息安全指南 — 您必须了解的十大安全问题

    企业信息安全指南 - 您必须了解的十大安全问题 http://www.zhenssl.com/basic/bestpractise.htm .. 在今天的全球经济一体化背景下,各种商业活动已经越来越依 ...

  5. 2019年全国计算机信息高新技术考试时间,2019年国家高新技术企业申报指南

    原标题:2019年国家高新技术企业申报指南 至勤小编为大家整理了一份国家高新技术企业申报指南,助力各位企业2019年顺利认定. 1.时间节点 国家高新技术企业申报大概涉及这么几个时间节点: (1)成立 ...

  6. 高并发编程_高并发编程系列:7大并发容器详解(附面试题和企业编程指南)...

    不知道从什么时候起,在Java编程中,经常听到Java集合类,同步容器.并发容器,高并发编程成为当下程序员需要去了解掌握的技术之一,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理 ...

  7. 技术硬核还不够?互联网企业出海指南来了!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 李小雅 5G 时代来临,中国移动互联网发展速度 ...

  8. 企业云计算指南:在安全前提下获得利益

    云计算可以提供多种好处,其中包括快速扩展和缩小以满足用户需求.但由于对云计算安全性的担忧,金融服务等高度监管的行业领域中的组织在采用云计算技术方面的进展很慢. 企业如何在保持安全的同时从云计算中获得最 ...

  9. DevOps企业实践指南(1):DevOps能为我们带来什么

    帮助盈利/提升文化/加速效率是DevOps实践的三大目标,上世纪八十年代在制造业领域展开的那场如火如荼的精益实践的变革还历历在目,而DevOps在软件领域将要或者已经掀起的风浪也是如出一辙. Dev+ ...

最新文章

  1. ubuntu多版本python和pip切换
  2. Iterator迭代器原理
  3. halcon学习笔记——(4)HDevelop language(结构语句)
  4. java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架
  5. kitti百度网盘分享 kitti百度云盘,全套kitti分享 自动驾驶
  6. 闭合导线计算软件excel_测量坐标计算程序 V6
  7. 洛谷——P2077 红绿灯
  8. 《OpenGL编程指南》一3.2 OpenGL缓存数据
  9. python中‘configparser’的使用方法---ini文件读取方法
  10. 全网首发:修改完善FreeSwitch的Banner功能
  11. 常用工具软件使用【1】
  12. JavaScript高级程序设计学习笔记(二)
  13. hr面试十大经典提问
  14. 什么是OneData?阿里数据中台实施方法论解读
  15. 语音助手——评测指标
  16. Keil MDK使用编译器AC5与AC6生成浏览信息的差异
  17. Android O 自定义通知实例及一个自定义自动适配缩放图片至特定大小的田字格ImageView
  18. 蒙特卡罗算法是什么?
  19. 前端实现excel数据下载功能
  20. 计算机基础,了解服务器的硬件组成

热门文章

  1. hdu1.3.4 排序
  2. LeetCode Reverse Vowels of a String(字符串中元音字符反转)
  3. [Swift通天遁地]七、数据与安全-(1)XML文档的创建和解析
  4. cnblog博客CSS定制
  5. javaMail发邮件
  6. Ember.js系列文章
  7. JavaScript 之 特殊运算符
  8. The Internet Communications Engine (Ice) 跨平台异构通讯方案 第一弹-ICE简介
  9. java调用存储过程
  10. USACO 3.2 Stringsobits(DP)