DHCP企业应用指南

简介:
DHCP(Dynamic Host Configuration Protocol)动态主机设置协议是企业日常网络通信中一个必不可少的协议,它允许服务器向客户端动态分配 IP 地址和配置信息。
在Linux平台,最流行应用最广泛的DHCP服务器是ISC( www.isc.org)发布的。我们熟的BIND也是ISC发布的。DHCP使用比较简单,下面我们看看如何使用它。
DHCP的工作原理
QQ截图20111107161658
整个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
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
QQ截图20111107175925
由上图可看出客户机获取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服务器应该是没有什么问题了。。


本文转自 cyr520 51CTO博客,原文链接:http://blog.51cto.com/cyr520/708962
相关文章
|
1月前
|
缓存 网络协议 网络虚拟化
网络技术基础(15)——DHCP简介与配置
【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记。
|
9月前
|
网络协议
虚拟网络的搭建
虚拟网络的搭建
39 0
|
网络协议 网络安全 云计算
|
网络协议 测试技术 Linux
搭建dhcp服务器
DHCP快速搭建 名词解释DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。
2515 0
|
网络协议 网络架构 Linux