DHCP服务器 应用
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。
DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是服务器端,而另一个是客户端。所有的 IP 网络设定数据都由 DHCP服务器集中管理,并负责处理客户端的 DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。使用DHCP,整个计算机的配置文件都可以在一条信息中获得(除了IP地址,服务器可以同时发送子网掩码、缺省网关、DNS服务器和其他的TCP/IP配置)。
原理
dhcp client ——>tcp/ip 【自动获得】
dhcp应用层协议:
udp 端口 67 server 68 client
dhcp 工作模式:
1、Manual Allocation
人工分配,获得的IP也叫静态地址,网络管理员为某些少数特定的在网计算机或者网络设备绑定固定IP地址,且地址不会过期。
同一个路由器一般可以通过设置来划分静态地址和动态地址的IP段,比如一般家用TP-LINK路由器,常见的是从192.168.1.100~192.168.1.254,这样如果你的电脑是自动获得IP的话,一般就是192.168.1.100,下一台电脑就会由DHCP自动分到为192.168.1.101。而192.168.1.2~192.168.1.99为手动配置IP段。
manual server: mac ——>ip 1111-2222-3333 1.1.1.1
dhcpclient 1111-2222-3333
特点:地址动态分配 地址利用率 低
2、Automatic Allocation
自动分配,其情形是:一旦 DHCP客户端第一次成功的从 DHCP服务器端租用到 IP 地址之后,就永远使用这个地址。
automatic server:地址池 {起始地址 结束地址}
dhcpclient mac ——>ip 记录 1111-2222-3333 ——>1.1.1.1 【永久】
特点:动态分配 地址利用率 低 简化了管理员工作量
3、Dynamic Allocation
动态分配,当 DHCP客户端第一次从 DHCP服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。DHCP 除了能动态的设定 IP 地址之外,还可以将一些 IP 保留下来给一些特殊用途的机器使用,它可以按照硬件地址来固定的分配 IP 地址,这样可以留下更大的设计空间。
dynamic server:地址池 {起始地址 结束地址}
dhcpclient mac ——>ip 记录 1111-2222-3333 ——>1.1.1.1 【租期】
特点:动态分配 地址利用率 高 简化了管理员工作量
dhcp client ——获得地址过程:
1.dhcpdiscover 发送请求地址广播
2.dhcpoffer 供应方提供地址
3.dhcprequest 发送让其他供应方收回地址,并发送配置请求
4.dhcpack 供应方提供配置信息
续租过程 (自动):
1.使用租期不到50%时,重启 ——> 重新发送dhcprequest 请求
2.使用租期到50%时,系统发送dhcprequest 请求并等待回应,若到租期的87.5%时仍未收到回应,a方案:到租期的100%时,自动终止合同,地址自动切换为 169.254.x.y ; b方案:直接向其他供应方重新发送 dhcpdiscover 请求
客户端向server服务器请求地址:
当 DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何 IP 数据设定,它会向网络发出一个 DHCP DISCOVER封包(广播包)。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为 255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。在 Windows 的预设情形下,DHCP discover 的等待时间预设为 1 秒,也就是当客户端将第一个 DHCP discover封包送出去之后,在 1 秒之内没有得到响应的话,就会进行第二次 DHCP discover 广播。若一直得不到响应的情况下,客户端一共会有四次 DHCP discover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是 9、13、16 秒。如果都没有得到 D HCP服务器的响应,客户端则会显示错误信息,宣告 DHCP discover 的失败。之后,基于使用者的选择,系统会继续在 5 分钟之后再重复一次 DHCP discover 的过程。
Server服务器提供 IP 租用地址
当 DHCP服务器监听到客户端发出的 DHCP discover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER封包。由于客户端在开始的时候还没有 IP 地址,所以在其 DHCP discover封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP服务器响应的 DHCP offer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer封包会包含一个租约期限的信息。
客户端接受 IP 租约
如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个 DHCP offer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的 IP 地址。同时,客户端还会向网络发送一个 ARP封包,查询网络上面有没有其它机器使用该 IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个 DHCPDECLINE 封包给 DHCP服务器,拒绝接受其 DHCP offer ,并重新发送 DHCP discover 信息。事实上,并不是所有 DHCP客户端都会无条件接受 DHCP服务器的 offer ,尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择,而这些选择会以不同的号码填写在 DHCP Option Field 里面。
租约确认
当 DHCP服务器接收到客户端的 DHCP request 之后,会向客户端发出一个DHCPACK 响应,以确认 IP 租约的正式生效,也就结束了一个完整的 DHCP 工作过程。
linux 操作系统实现dhcp
subnet { 作用域 作用的范围
包括 地址池
选项 {默认网关 dns指向 wins 域名……}
租约}
wins windows lan
\\机器名 ——>ip地址 主机名——>fqdn www.tyedus.com
wins server {机器名----ip地址}如:zhangsan 1.1.1.1
绑定:
host 名称 {被绑定机器 mac
被绑定 ip地址}
例子1 :单个作用域 地址池
选项
绑定
排除
例子 2:lan 大 500台机器 超级作用域
shared-network name { [ parameters ]
[ declarations ]}
其中最常用的分配方式是动态分配方式
案例展示:
案例一:DHCP单作用域(只能包含一个固定子网的作用域)
拓扑图:
实验环境rhel5.4 redhat linux 系统
dhcp-3.0.5-21.el5.i386.rpm
一台windows server 2003主机
步骤
创建cdrom目录,挂载光盘
安装DHCP服务器
配置DHCP服务器配置文件
检测语法,重启服务
测试:
案例二:DHCP超级作用域(由多个DHCP作用域组成的作用域)
拓扑图:
实验环境rhel5.4 redhat linux 系统
dhcp-3.0.5-21.el5.i386.rpm
两台windows server 2003 主机
步骤:步骤
创建cdrom目录,挂载光盘
安装DHCP服务器
配置DHCP服务器配置文件
检测语法,重启服务
测试:
案例三:DHCP中继
拓扑图:
实验环境 rhel5.4 redhat linux 系统
dhcp-3.0.5-21.el5.i386.rpm
两台windows server 2003 主机
一台防火墙:H3C SecPath F100-C
一台交换机:Quidway S2403H-HI
步骤
Dhcp服务器的配置:
创建cdrom目录,挂载光盘
安装DHCP服务器
配置DHCP服务器配置文件
检测语法,重启服务
防火墙的配置:
拆分子接口,配置ip地址
把端口加入区域
在端口上启用中继功能
交换机配置:
划分vlan 并加入端口
设置trunk口
验证: