dhcp服务器

你在学校或者公司时,你会不会感觉到你配ip地址时,经常很麻烦,什么地址啊、掩码啊、网关啊、dns啊、好不容易配好了,又发现系统告诉你ip地址冲突,真是无语啊!还有,如果你拿个笔记本,不断地在要到处跑,连个internet还得问别人网络参数怎么配,真是麻烦啊!所以呢,你就会觉得要是能动态获取ip就好了,不用费事了。

不用愁了,动态主机设定协议(dhcp)就可以帮你解决这个×××烦滴。DHCP 这个服务可以自动的分配 IP 与相关的网络参数给客户端,来提供客户端自动以服务器提供的参数来设定他们的网络。你只要把自己的电脑设定成经过dhcp获取网络参数就好了,方便快捷。

现在就让我们来看一下dhcp协议吧!

1.dhcp简介

动态主机设置协定(Dynamic Host Configuration Protocol, DHCP)是一个局网网络协议,其前身是BOOTP协议,使用UDP协议工作,主要有两个用途:

l 给内部网络或网络服务供应商自动分配IP地址给用户

l 给内部网络管理员作为对所有电脑作中央管理的手段

2.适用性

DHCP用一台或一组DHCP服务器来管理网络参数的分配,这种方案具有容错性。即使在一个仅拥有少量机器的网络中,DHCP仍然是有用的,因为一台机器可以几乎不造成任何影响地被增加到本地网络中。

甚至对于那些很少改变地址的服务器来说,DHCP仍然被建议用来设置它们的地址。如果服务器需要被重新分配地址(RFC2071)的时候,就可以在尽可能少的地方去做这些改动。对于一些设备,如路由器防火墙,则不应使用DHCP。把TFTPSSH服务器放在同一台运行DHCP的机器上也是有用的,目的是为了集中管理。

DHCP也可用于直接为服务器和桌面计算机分配地址,并且通过一个PPP代理,也可为拨号及宽带主机,以及住宅NAT网关和路由器分配地址。DHCP一般不适用于使用在无边际路由器和DNS服务器上。

3.原理

DHCP统一使用两个IANA分配的端口作为BOOTP服务器端使用67/udp,客户端使用68/udp。

DHCP运行分为四个基本过程,分别为请求IP租约、提供IP租约、选择IP租约和确认IP租约。

客户在获得了一个IP地址以后,就可以发送一个ARP请求来避免由于DHCP服务器地址池重叠而引发的IP冲突。

  四个阶段

wps_clip_image-30965

1.DHCPDISCOVER

客户在物理子网上发送广播来寻找可用的服务器。网络管理员可以配置一个本地路由来转发DHCP包给另一个子网上的DHCP服务器。该客户实现生成一个目的地址为255.255.255.255或者一个子网广播地址的UDP包。

客户也可以申请它使用的最后一个IP地址。如果该客户所在的网络中此IP仍然可用,服务器就可以准许该申请。否则,就要看该服务器是授权的还是非授权的。 授权服务器会拒绝请求,使得客户立刻申请一个新的IP。非授权服务器仅仅忽略掉请求,导致一个客户端请求的超时,于是客户端就会放弃此请求而去申请一个新的IP地址。

2.DHCPOFFER

当DHCP服务器收到一个来自客户的IP租约请求时,它会提供一个IP租约。DHCP为客户保留一个IP地址,然后通过网络广播一个DHCPOFFER消息给客户。该消息包含客户的MAC地址、服务器提供的IP地址、子网掩码、租期以及提供IP的DHCP服务器的IP。

服务器基于在CHADDR字段指定的客户硬件地址来检查配置。这里的服务器,192.168.1.1,将IP地址指定于YIADDR字段。

3.DHCPREQUEST

当客户PC收到一个IP租约提供时,它必须告诉所有其他的DHCP服务器它已经接受了一个租约提供。因此,该客户会发送一个DHCPREQUEST消息,其中包含提供租约的服务器的IP。当其他DHCP服务器收到了该消息后,它们会收回所有可能已提供给客户的租约。然后它们把曾经给客户保留的那个地址重新放回到可用地址池中,这样,它们就可以为其他计算机分配这个地址。任意数量的DHCP服务器都可以响应同一个IP租约请求,但是每一个客户网卡只能接受一个租约提供。

4.DHCPACK

当DHCP服务器收到来自客户的REQUEST消息后,它就开始了配置过程的最后阶段。这个响应阶段包括发送一个DHCPACK包给客户。这个包包含租期和客户可能请求的其他所有配置信息。这时候,TCP/IP配置过程就完成了。

该服务器响应请求并发送响应给客户。整个系统期望客户来根据选项来配置其网卡。

DHCP释放

客户端向DHCP服务器发送一个请求以释放DHCP资源,并注销其IP地址。鉴于客户端更多的时候并不清楚何时用户会将其从网络中移除,此协议不会托管“DHCP释放的发送”。

下面几个实验实例来向大家阐述dhcp服务器的3个方面

1. 单作用域的dhcp服务

实验需求:一台linux系统的主机作为dhcp服务器   一台winxp系统的主机作为dhcp客户端

wps_clip_image-27683

具体配置如下:

dhcp服务器:

在linux上安装dhcp服务

wps_clip_image-28538

安装后产生的文件

wps_clip_image-20867

wps_clip_image-7984

配置dhcp服务器

wps_clip_image-29438

启动dhcp服务器

wps_clip_image-14463

打开winxp 设置为dhcp动态获取ip

wps_clip_image-32493

看一下日志监听情况

wps_clip_image-6595

假设我们想让它获得固定的地址,我们可以用mac和ip绑定来完成

步骤如下:

修改dhcpd.conf  进行mac与ip的绑定

wps_clip_image-9745

重启dhcp服务器

查看winxp的ip信息

wps_clip_image-13607

获得了我们给他指定的ip

看一下日志

wps_clip_image-19605

2. 多作用域的dhcp服务

实验需求:假如工作单位有500台主机,只允许使用c类地址,大家知道。C类地址最多有250个ip可用,所以说我们需要2个c类地址一起 

一个linux系统的dhcp服务器   2个winxp的主机客户端

拓扑图:

wps_clip_image-22062

实验配置:

以liunx为系统的dhcp服务器

修改dhcpd.conf文件

wps_clip_image-12263

重启dhcp服务器

查看winxp1的ip信息

wps_clip_image-19615

查看winxp2的ip信息

wps_clip_image-4225

超级作用域  要用shared-network name {}  来声明

3. dhcp服务器中继

简介:

DHCPRelay(DHCPR)DHCP中继 也叫做DHCP中继代理

如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DHCP Relay Agent(中继代理)。用DHCP Relay代理可以去掉在每个物理的网段都要有DHCP服务器的必要,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。

原理:

wps_clip_image-28589

1 当dhcp client 启动并进行dhcp 初始化时,它会在本地网络广播配置请求报文。

2 如果本地网络存在dhcp server,则可以直接进行dhcp 配置,不需要dhcp relay。

3 如果本地网络没有dhcp server,则与本地网络相连的具有dhcprelay 功能的网络设备收到该广播报文后,将进行适当处理并转发给指定的其它网络上的dhcp server。

4 dhcp server 根据dhcp client 提供的信息进行相应的配置,并通过dhcp relay 将配置信息发送给dhcp client,完成对dhcp client 的动态配置。

事实上,从开始到最终完成配置,需要多个这样的交互

1 dhcp relay设备修改dhcp消息中的相应字段,把dhcp的广播包改成单播包,并负责在服务器与客户机之间转换。

2 netcore路由器(2x05)可以作为dhcp relay 代理。

dhcp中继的实质是将dhcp的广播包中继为dhcp单播包发出

实验需求:现有100个局域网,每个局域网里都有一个自己的dhcp,可是这么多dhcp服务器在一起要怎么管理呢?这是我们只需要一个dhcp服务器,将3层设备作为dhcp中继

实验题目:在windows主机上实现dhcp中继,在linux主机上实现dhcp服务器‘

拓扑图:

wps_clip_image-9951

首先在windows上设置3个ip地址

wps_clip_image-17304

服务器:

wps_clip_image-9519

Vm2:

wps_clip_image-7447

Vm3:

wps_clip_image-21378

1.windows主机上的dhcp中继的配置:

   1.开始----》设置-----》控制面板------》管理工具-----》路由与远程访问

wps_clip_image-14666

wps_clip_image-647

选择自定义配置

wps_clip_image-13830

选择lan路由

在ip路由选择----》右键 常规----》新增路由协议-----》选择 dhcp中继代理程序

wps_clip_image-12564

在ip路由选择---》右键 dhcp中继代理程序----》属性

wps_clip_image-30136

在ip路由选择---》右键 dhcp中继代理程序----》新增接口

wps_clip_image-25358

Dhcp中继服务配置完成

2.linux下的dhcp服务器配置

挂载光盘 安装dhcp软件包

wps_clip_image-4920

配置dhcp服务器的信息

wps_clip_image-23657

重启dhcp服务

好了,dhcp服务器完成

测试:将winxp端口放到vm2上

wps_clip_image-27958

Dhcp服务器的日志信息

wps_clip_image-18780

将端口放在端口vm3

wps_clip_image-20021

同样日志信息

wps_clip_image-25851