http://blog.sina.com.cn/guqiren
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP):是一个局域网的网络协议,使用UDP协议工作,主要是给内部网络或网络服务供应商自动分配IP地址给用户和给内部网络管理员作为对所有电脑作中央管理的手段。达到减小工作量,自动化管理的目的。
两台连接到互联网上的电脑相互之间通信,必须有各自的IP地址,由于IP地址资源有限,宽带接入运营商不能做到给每个报装宽带的用户都能分配一个固定的IP地址(所谓固定IP就是即使在你不上网的时候,别人也不能用这个IP地址,这个资源一直被你所独占),所以要采用DHCP方式对上网的用户进行临时的地址分配。也就是你的电脑连上网,DHCP服务器才从地址池里临时分配一个IP地址给你,每次上网分配的IP地址可能会不一样,这跟当时IP地址资源有关。当你下线的时候,DHCP服务器可能就会把这个地址分配给之后上线的其他电脑。这样就可以有效节约IP地址,既保证了你的通信,又提高IP地址的使用率。
在一个使用TCP/IP协议的网络中,每一台计算机都必须至少有一个IP地址,才能与其他计算机连接通信。为了便于统一规划和管理网络中的IP地址,DHCP(Dynamic Host Configure Protocol,动态主机配置协议)应运而生了。这种网络服务有利于对校园网络中的客户机IP地址进行有效管理,而不需要一个一个手动指定IP地址。
DHCP用一台或一组DHCP服务器来管理网络参数的分配,这种方案具有容错性。即使在一个仅拥有少量机器的网络中,DHCP仍然是有用的,因为一台机器可以几乎不造成任何影响地被增加到本地网络中。
甚至对于那些很少改变地址的服务器来说,DHCP仍然被建议用来设置它们的地址。如果服务器需要被重新分配地址(RFC2071)的时候,就可以在尽可能少的地方去做这些改动。对于一些设备,如路由器和防火墙,则不应使用DHCP。把TFTP或SSH服务器放在同一台运行DHCP的机器上也是有用的,目的是为了集中管理。
DHCP也可用于直接为服务器和桌面计算机分配地址,并且通过一个PPP代理,也可为拨号及宽带主机,以及住宅NAT网关和路由器分配地址。DHCP一般不适用于使用在无边际路由器和DNS服务器上。
DHCP(Dynamic Host Configuration protocol,动态主机配置协议)是由IETF(internet 工作任务小组)开发设计的,于1993年10月成为标准协议,其前身是BOOTP协议。当前的DHCP定义可以在RFC 2131中找到,而基于IPv6的建议标准(DHCPv6)可以在RFC 3315中找到。
-----------------------------------------------------------------------------------------------------------------------
DHCP的分配方式
在DHCP的工作原理中,DHCP服务器提供了三种IP分配方式:自动分配(Automatic allocation)、手动分配和动态分配(Dynamic Allocation)。
自动分配是当DHCP客户机第一次成功的从DHCP服务器获取一个IP地址后,就永久的使用这个IP地址。
手动分配是由DHCP服务器管理员专门指定的IP地址
动态分配是当客户机第一次从DHCP服务器获取到IP地址后,并非永久使用该地址,每次使用完后,DHCP客户机就需要释放这个IP,供其他客户机使用。
DHCP的租约过程
客户机从DHCP服务器获得IP地址的过程叫做DHCP的租约过程。
租约过程分为四个步骤,分别为:客户机请求IP(客户机发 DHCP Discover 广播包)、服务器响应(服务器发DHCP Offer广播包)、客户机选择IP(客户机发DHCP Request 广播包)、服务器确定租约(服务器发DHCP ACK广播包)。
--------------下面我们来示范如何在Linux服务器中搭建DHCP服务-------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.安装 DHCP服务器软件
先执行“rpm -q dhcp”命令查看系统中是否已经安装DHCP软件
如果还没安装插入挂载带有DHCP软件的光盘 安装该软件
安装完成,DHCP软件安装之后系统将自动复制相关程序,并添加名为dhcpd的系统服务。
2.建立主配置文件dhcpd.conf
dhcpd服务的主配置文件位于/etc/dhcpd.conf,但是该文件中默认并不包含任何有效配置,需要
管理员手动建立。这时管理员可以根据文件中的提示,参考配置文件范本建立新的dhcpd.conf文件
执行该复制命令后询问是否覆盖
![Linux网络服务-搭建DHCP服务器 Linux网络服务-搭建DHCP服务器_网络管理员_05](http://s12.sinaimg.cn/mw690/ce682c6etx6Bm3NlxKbbb&690)
输入y,确认覆盖。
1) /etc/dhcpd.conf文件的配置构成
在主配置文件/etc/dhcpd.conf 中,可以使用声明 参数 选项这三种类型的配置,各自的作用和表现形式如下所述。
》声明:用来描述DHCPD服务器中对网络布局的划分,是网络设置的逻辑范围。较常见的声明是subnet host ,其中subnet声明用来约束一个网段,host声明用来约束一台特定的主机。
》参数:由配置关键字和对应的值组成,总是以分号“;”结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性(默认租约时间最大租约时间等)。
》选项:由option引导,后面跟具体的配置关键字和对应的值,也是以分号结束,用于指定分配给客户机的各种地址参数(如默认网关子网掩码 DNS服务器地址等)。
2)确定dhcpd服务的全局配置
为了使配置文件的结构更加清晰,全局配置通常会放在配置文件/etc/dhcpd.conf的开头部分,可以是配置参数,也可以是配置选项。
ddns-update-style 动态DNS更新模式用来设置与DHCP服务相关联的DNS数据动态更新模
式。实际很少用到该参数,将值设为“none”即可。
dsfault-lease-time:默认租约时间,单位为秒,表示客户端可以从DHCP服务器租用某
个IP地址的默认时间。
max-lease-time:最大租约时间,单位为秒,表示允许DHCP客户端请求的最大租约时间,
当客户端为请求明确的租约时间时,服务器将采用默认租约时间。
option domain-name:默认搜索区域,为客户机指定解析主机名时的默认搜索域。该配
置选项将体现在客户机的“/etc/resolv.conf”配置文件中。
option domain-name-servers:DNS服务器地址,为客户机指定解析域名时使用的DNS服
务器地址。若需要设置多个DNS服务器地址时,可以使用“,”进行分隔。该配置选项同样体现在
客户机的“/etc/resolv.conf”配置文件中。
vim /etc/dhcpd.conf
执行
3)确定subnet网段声明
subnet:指定子网网络地址。
netmask:指定子网掩码。
range:指定用于动态分配的IP地址范围,可以有多个range参数行。必须与subnet所设置的子网相对应。
option routers:指定客户机分配的默认网关地址。
option subnet-mask:指定客户机分配的子网掩码。
4)确定host主机声明(可选)
host:指定分配保留地址的DHCP客户机别名。
hareware ethernet:指定匹配主机的MAC地址。
fixed-address:指定对应保留主机的IP地址。
在网段声明内添加host主机声明
host prtsvr{
hardware etherent MAC地址;
fixed-address IP地址;
}
配置文件
删除带#号的注释,防止配置执行失败。
:wq 保存并退出3.启动dhcpd服务
在启动dhcpd服务之前,应确认提供DHCP服务器的网络接口具有指定的固定IP地址,并且至少有一个网络接口的IP地址与DHCP服务器中的一个subnet网段相对应,否则无法正常启动dhcpd服务。
配置服务器IP
输入setup 执行
上下移动至 network configuration 回车进入
再次回车![Linux网络服务-搭建DHCP服务器 Linux网络服务-搭建DHCP服务器_网络服务_11](http://s2.sinaimg.cn/mw690/ce682c6etx6Bm8nqziVc1&690)
空格一下 去掉Use DHCP中的*(相当于去掉勾) 再为DHCP设置固定IP 子网掩码 默认网关
OK 回车
然后TAB键至quit
同上。。。。。
安装DHCP软件包之后,对应的系统服务脚本位于/etc/rc.d/init.d/dhcp,可以使用标准的系统服务进行控制。
例如,执行以下操作可以启动dhcpd服务,并检查UDP协议的67端口是否在监听,以确认DHCP服务器是否正常。
将一台XP客户机加入,与装有DHCP服务的LINUX服务器置于同一个网段,让其用DHCP自行给XP分配一个IP;
![Linux网络服务-搭建DHCP服务器 Linux网络服务-搭建DHCP服务器_LinuxDHCP搭建_16](http://s5.sinaimg.cn/mw690/ce682c6etx6BmaADIkA74&690)
因为设置的地址池是 192.168.2.128-192.168.2.255 所以XP获得了192.168.2.254的IP(LINUX的DHCP服务器IP是由后往前分配的)DHCP服务器运行后,管理员可以通过查看租约文件/var/lib/dhcpd/dhcpd.leases来了解服务器的Ip地址分配情况。
该租约文件记录了分配出去的每个Ip地址信息,包括Ip地址 客户端的MAC地址 租用的起始时间和结束时间等。