《linux下DHCP服务原理总结.docx》由会员分享,可在线阅读,更多相关《linux下DHCP服务原理总结.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、DHCP (全称 Dynamic host configuration protocol):动态主机配置协议DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议。(主要包括:ip地址,子网掩码,网关和dns等)。DHCP的运作方式:客户端传输广播包给整个物理网络段内的所有主句,如局 域网内有DHCP服务器时,才会响应客户端的IP参数要求,所以DHCP服务 器与客户端应该在同一个物理网段内。客户端与DHCP服务器之间连接的过 程如下列图:.DHCPDISCOVER BroadcastBroadcastBroadcastDCHPACKunicast1)客户端:利用广
2、播包发送搜索DNCP服务器的包2 )服务器端:提供客户端网络相关的租约选择3 )客户端:决定选择的DHCP服务器提供的网络参数租约并汇报给服务器4)服务器端:记录这次租约并回报给客户端相关的封包 信息简单来说下DHCP工作原理:(1)客户机寻找服务器:广播发送discover包, 寻找dhcp服务器(2)服务器响应请求:单播发送offer包,对客户机做出响 应。提供客户端网络相关的租约以供选择其中服务器在收到客户端的请求后, 会针对客户端的mac地址与本身的设定数据进行一下工作:a)到服务器的登录文件中寻找该用户之前曾经使用过的ip ,假设有且该ip目前没有人使用,这 提供此ip为客户机b)假
3、设配置文件中有针对该mac提供额外的固定ip ,且该iP没有被使用,那么提供此ip给客户机c)如果没有符合以上两个条件,那么随机取用目前没有被使用的ip参数给客户机并记录到leases文件中。(3)客 户机发送ip请求:广播request包,选择一个服务器提供的网络参数租约回报 服务器。此外,客户机会发送一个广播封包给局域网内的所有主机,告知自己 已经接受服务器的租约。(4)服务器确认租约:单播Ack包,服务器与客户机 确认租约关系并记录到服务器的leases文件中。接着说下DHCP几个概念:DHCP Client : DHCP客户端,通过DHCP协议 请求IP地址的客户端。DHCP客户端是接
4、口级的概念,如果一个主机有多个以 太接口,那么该主机上的每个接口都可以配置成一个DHCP客户端。交换机上每 个Vian接口也可以配置成一个DHCP客户端。DHCP Server: DHCP服务 端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。DHCP Relay : DHCP中继器,DHCP客户端跨网段申请IP地址的时候,实现DHCP 报文的转发功能。DHCP Security : DHCP平安特性,实现合法用户IP地址 表的管理功能DHCP Snooping : DHCP监听,记录通过二层设备申请到IP地址的用户信息DHCP工作大致可以分为一下几个阶段:DHCP Clien
5、tDHCP ClientgDHCP ClientgDHCP Client一、发现阶段:即DHCP客户端寻找DHCP服务端的过程,对应于客户端发 送DHCP Discovery ,因为DHCP Server对应于DHCP客户端是未知的,所 以DHCP客户端发出的DHCP Discovery报文是广播包,源地址为0.000目 的地址为。网络上的所有支持TCP/IP的主机都会收到该 DHCP Discovery报文,但是只有DHCP Server会响应该报文。如果网络中 存在多个DHCP Server,贝!多个DHCP Server均会回复该DHCP Discovery 报文。如果同一个vlan内没
6、有DHCP Server,而该Vlanlf配置了 DHCP Relay功能,贝I该Vlanif即为DHCP中继,DHCP中继会将该DHCP报文的 源IP地址修改为该Vlanif的IP地址,而目的地址那么为DHCP Relay配置的 DHCP Server的IP地址。同时修改DHCP报文中,giaddress为Vlanif的IP 地址。并以单播将DHCP Discovery发送至IDHCP Server端。二、DHCP Server 提供阶段:DHCP Server提供阶段,即为 DHCP Server 响应 DHCP Discovery 所发的 DHCP Offer 阶段 DHCP Serve
7、r 收至IDHCP Discovery报文后,解析该报文请求IP地址所属的Subnet并从dhcpd.conf 文件中与之匹配的subnet中取出一个可用的IP地址(从可用地址段选择一个 IP地址后,首先发送ICMP报文来ping该IP地址,如果收到该IP地址的 ICMP报文,那么抛弃该IP地址,重新选择IP地址继续进行ICMP报文测试, 直到找到一个网络中没有人使用的IP地址,用以到达防治动态分配的IP地址 与网络中其他设备IP地址冲突,这个IP地址冲突检测机制,可配置),设置在 DHCP Discovery报文中yiaddress字段中,表示为该客户端分配的IP地址, 并且为该Lease设
8、置该Subnet配置的Option ,例如默认leases租期,最大 租期,router等信息。DHCP从地址池中选择IP地址,以如下优先级进行选 择: 1)当前已经存在的Ip Mac的对应关系2) Client以前的IP地址 3 )读取 Discovery 报文中的 Requested Ip Address Option 的值,如 果存在并且IP地址可用4)从配置的Subnet中选择IP地址:DHCPServer解析DHCP Discovery请求的IP所属的Subnet,首先看该DHCP Discovery 报文中 giaddress 是否有 DHCP Relay ,如果有,贝U从 gia
9、ddress 所述的subnet中可用IP地址段中获取,并分配IP。如果giaddress没有IP 地址,那么从该DHCP Server绑定的接口的IP地址所属的网段分配IP地址。三、DHCP Client选择阶段:DHCP Client收至I假设干个DHCP Server响应的 DHCP Offer报文后,选择其中一个DHCP Server作为目标DHCP Servero选择策略通常为选择第一个响应的DHCP Offer报文所属的DHCP Server0然后以广播方式回答一个DHCP Request报文,该报文中包含向目标DHCP 请求的IP地址等信息。之所以是以广播方式发出的,是为了通知其
10、他DHCPServer自己将选择该DHCP Server所提供的IP地址。四、DHCP Server确认阶段:当DHCP Server收到DHCP Client发送的 DHCP Request后,确认要为该DHCP Client提供的IP地址后,便想该 DHCP Client响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client可以使用该IP地址了。然后DHCP Client即可以将该IP地址与网卡绑 定。另外其他DHCP Server都将收回自己之前为DHCP Client提供的IP地 址。五、DHCP Client重新登录网络:当DHCP Client重新登录后,发
11、送一个以 包含之前DHCP Server分配的IP地址信息的DHCP Request报文,当DHCP Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答一 个ACK报文。但是如果该IP地址无法再次分配给该DHCP Client后,DHCP 回复一个NAK报文,当DHCP Client收至I该NAK报文后,会重新发送 DHCP Discovery报文来重新获取IP地址。六、DHCP Client更新租约:DHCP获取到的IP地址都有一个租约,租约过 期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使 用该IP地址,那么必须更新器租约。
12、更新的方式就是,当当前租约期限过了一半 后,DHCP Client都会发送DHCP Renew报文来续约租期。linux下DHCP配置:配置文件都放在/etc/dhcp目录下;主配置文件为 dhcpd.conf 将/usr/share/doc/dhcp-4.Ll/dhcpd.conf.sample 文件复制到 配置文件目录下,并覆盖dhcpd.conf文件,即可获得主配置文件。主配置文件的主要内容介绍:option domain-name example.org指定网域的域名 option domain-name- servers , ;指定域名解析服务器(DNS )的 ip 地址。defau
13、lt-lease-time 600;默认租约时间,单位为s max-lease-time 7200;最大租约时间,单位为so过期续约,续约直接发送request包即可。log-facility local7;日志设备类型为locaE一般日志设备类型包括mail、crontabe通过此选项可以找到该服 务的日志记录路径 subnet 10.5.5.0 netmask 255.255.255.224 指定分配网段的ip地址以及子网掩码,括号内部为局部配置。range 10.5.5.26 10.5.5.30;可使用的地址池范围 option domain-name-servers ;该网段的域名,可
14、以省略option domain-name ;网段 DNSoption routers 10.5.5.1;指定网关 option broadcastaddress 10.5.5.31;指定广播地址 default-lease-time600;租约时间 max-lease-time7200;最大租约时间。 host passacaglia主机名称 hardware ethernet0:0:c0:5d:bd:95;主机的 MAC 地址 filenamevmunix.passacaglia; server-name;文件名和服务器名,不太需要。fixed-address ;/固定的 ip 地址保存主
15、机,此选项用于指定内部存在的MAC地址的主机在请求ip时固定分配指定的地址。如果该指定ip已经被分配使用的话, 保存主机的指定ip将不能使用。一个局域网内最好只有一个dhep服务器,当一个局域网内存在多个服务器 时,客户机只选择最先到达的offere搞清楚下面几个问题:1)如何知道客户机从哪个DNS Server获得ip地址? windows中直接查看网络链接详细信息,有个dhep服务器,可以看到服务器 的 ip 地址。linux 下查看/var/lib/dhclient/dhclientleases ,这是个租约文 件,服务器端的租约文件在/var/lib/dhcpd/dhcpd.leases。2 )服务器分配 ip的顺序?从小的ip开始分配3 )为何客户机在获得一个ip后,释放再获得 ip时会获得以前使用的ip ?客户机内有一个租约文件存放自己曾经获得的ip 地址,服务器端也有一个租约文件存放了自己已经分配的ip以及其对应的主机 maco 4)服务器会在哪些端口提供dhep服务?默认在任何端口提供dhep 服务。实际上只是在与dhep同一网段的网卡上提供dhep服务。5 )如果租 约到期,而服务器并没有续约,该如何处理?会向其他服务器寻找dhep服务