DHCP服务
- 动态主机配置协议,Dynamic Host configuration Protocol
- 是一个局域网的网络协议,用于统一分发管理IP地址
CSC模式 :一个服务器加多个终端
- 网络中大部分设备都可以成为DHCP服务器,为了上网的稳定,网关的稳定,服务器IP必须固定。
DHCP的意义
- 不需要手动的去配置ip地址以及其他的网络参数,避免了手动 配置参数时出现的错误率和冲突率。
成为DHCP SERVER 的条件
- 该设备必须存在接口或网卡连接到所需要投放IP地址的广播域内
- 该接口或网卡必须以用有合法IP
DHCP需求 :手机热点
DHCP有三种机制分配IP地址
自动分配方式(Automatic Allocation)
- DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址
手工分配方式(Manual Allocation)
- 客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机
动态分配方式(Dynamic Allocation)
- DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用
DHCP攻击
DHCP耗尽攻击
- 攻击者跟换MAC对交换机发起DHCP请求,使的服务器地址池资源全部耗尽,无法正常提供地址分配服务
DHCP假冒攻击
- 攻击者再启用假冒的DHCP服务器在网络中提供地址分配服务。在假冒DHCP服务器所提供的网络配置信息中,默认网关被设置为自己的IP地址,主机在获取了假冒DHCP服务器所提供的网络配置信息后,就会将所有的上网数据全部发送给攻击者。此时只要在假冒DHCP服务器上启用路由转发功能,就可以将被攻击主机的上网流量全部正常转发出去,因而并不影响其正常通信,但是所有数据都会被攻击者截取到
DHCP欺骗
- 如果我们的伪DHCP服务器能比原始DHCP服务器先发送Offer数据包,就能达到欺骗的目的,从而劫持目标用户的流量
DHCP共有八种报文
DHCP的工作过程
- DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给主机的68号端口
DHCP Discover
- 首先DHCP客户端以广播的方式向广播域中发送一个发现discover报文,用来寻找dhcp服务器。所有收到Discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
- discover报文 :会以0.0.0.0作为源地址(代表没有),以255.255.255.255(受限广播)为目标地址
DHCP Offer
-
若地址池中还有未分配的IP地址,服务器会先进行一次正向ARP,确保该地址没人使用
- 然后服务器会以广播的方式发送给客户端一个回应DHCP Offer 报文,这个报文里面已经放入了dhcp服务器从地址池里拿出未分配的ip地址及网络参数(如租约期限、网关、DNS服务器等)。
- DHCP Offer :原IP服务器,目标IP 255.255.255.255;原MAC自己,目标MAC大部分全F
DHCP NAK(否定应答)
- 如果DHCP服务器收到Request报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则发送NAK报文作为回应,通知用户无法分配合适的IP地址。
DHCP Request
- 其次客户端收到offer报文时还并没有获得网络参数,因为网络中可能不止一个dhcp服务器向它发送报文,所以它会以广播的方式向服务器发送一个请求获取参数的DHCP Request报文。客户端通常选择第一个收到的DHCP Offer 报文。
- 客户端获取IP地址后,在租期过去1/2时,会以单播的形式向DHCP服务器发送Request报文续延租期,如果没有收到服务器的DHCP ACK报文,在租期过去3/4时,会再次以广播发送Request报文续延租期。
DHCP ACK
- DHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK报文作为回应,通知用户可以使用分配的IP地址
- 客户端收到ack后,会向网络发送一个ARP,查询网络上面有没有其他机器使用该IP地址;
DHCP Release(释放)
- 当用户不再需要使用分配IP地址时,就会"主动"向DHCP服务器发送Release报文,告知服务器用户不再需要分配IP地址,DHCP服务器会释放被绑定的租约(在数据库中清除某个MAC对某个IP的租约记录,这样,这个IP就可以分配给下一个请求租约的MAC)
DHCP Decline(拒绝)
- DHCP客户端收到DHCP服务器回应的ACK报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送Decline报文,通知服务器所分配的IP地址不可用
DHCP Inform
- DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则发送Inform报文向服务器进行请求,服务器收到该报文后,将根据租约进行查找,找到相应的配置信息后,发送ACK报文回应DHCP客户端。
服务器
- 客户端脱机:关闭网络接口、重新启动、关机等行为,都算是脱机状态,这个时候server端就会将该IP地址收回,并放到server的备用区中,以便日后使用。
- 客户端租约到期:dhcp server端发放的IP有使用的期限,客户端使用这个IP到达期限规定的时间,而且没有重新提出DHCP的申请时,server端就会将该IP收回,这个时候就会断线。但用户也可以向DHCP服务器再次要求分配IP。
配置
<Huawei>system-view \\进入上层模式
[Huawei]dhcp enable \\开启DHCP服务
[Huawei]ip pool a \\建立IP池塘
[Huawei-ip-pool-a]network 192.168.1.0 mask 24 \\分配IP
[Huawei-ip-pool-a]gateway-list 192.168.1.1 \\确定网关
[Huawei-ip-pool-a]dns-list 114.114.114.114 8.8.8.8 \\确定DNS
[Huawei]interface GigabitEthernet 0/0/0 \\进入接口
[Huawei-GigabitEthernet0/0/0]dhcp select global \\在接口处开启DHCP