目录
DHCP
定义:动态主机配置协议,是一个应用在局域网的网络协议,它使用 UDP 协议工作
DHCP 服务器 67 端口号
DHCP 客户端 68 端口号
作用:动态分配 IP 地址,过程自动化,终端不需要每个都手动配置,配置信息统一管理(DNS,网关)
分配 IP 地址方式:
- 手工配置方式
- 自动配置方式
- 动态配置方式
DHCP 协议报文的种类
一共有 8 种报文,包括:DHCPDISCOVER,DHCPOFFER,DHCPREQUEST,DHCPACK,DHCPNAK,DHCPRELEASE,DHCPDECLINE,DHCPINFORM
- DHCP-DISCOVER 报文:0x01 客户端请求包
- DHCP-OFFER 报文:0x02 服务器响应包
- DHCP-REQUEST 报文:0x03 客户端选择包
- DHCP-ACK 报文:0x05 服务器确认包
- DHCP-NAK 报文:0x06 服务器拒绝包
- DHCP-RELEASE 报文:0x07 客户端释放包
- DHCP-DECLINE 报文:0x04
- DHCP-INFORM 报文:0x08
DHCP 协议工作过程
动态获取 IP 过程:
- 客户机向服务器发送 DHCP-DISCOVER 报文,申请 IP
- 服务器向客户机返回 DHCP-OFFER 报文,制定一个将要分配的 IP
- 客户机向服务器发送 DHCP-REQUEST 报文,请求这个 IP
- 服务器 ping 几次这个 IP(一般是三次),如果没有响应的话,就说明这个 IP 现在是空闲的,可以分配给客户机,所以向客户机发送 DHCP-ACK 报文,确认可以分配。如果没有响应,则发送 DHCP-NAK 报文,拒绝分配
- 如果客户端收到 DHCP-ACK,则发送一次免费 ARP,判断这个 IP 是否已经被使用。没有使用则绑定这个服务器分配来的 IP,否则向服务器发送 DHCP-DECLINE 报文,拒绝这次分配,并重新执行第一步。如果收到的是 DHCP-NAK,则直接重新执行第一步
续约租期
- 当 clientIP 地址已经用到 50%的时间,续租一下,client 端就会以单播形式向服务端发送一个 DHCP-REQUEST 包,当 server 响应时就会回应一个 ACK 包,会重新约定一个时间
- 当 clientIP 地址已经用到 50%的时间,续租一下,client 端就会以单播形式向服务端发送一个 DHCP-REQUEST 包,server 没有响应,client 会继续使用,当使用到 87.5%时,会再续租一次,同时就以广播的形式发送一个 REQUEST 包,server 这时收到响应以后,就会回应一个 ACK 包,重新约定一个时间
- 当 clientIP 地址已经用到 50%的时间,续租一下,client 端就会以单播形式向服务端发送一个 DHCP-REQUEST 包,server 没有响应,client 会继续使用,当使用到 87.5%时,会再续租一次,同时就以广播的形式发送一个 REQUEST 包,如果 server 还是没有响应,client 那就直接使用到过期
Client 主动释放 IP 地址
ipconfig -release
ipconfig -renew
DHCP 安全性
DHCP 攻击包括:
- 恶意 DHCP 服务器(无法上网;引导到外网,抓明文流量)
- DHCP 饥饿攻击
防范措施:
- 设置适当的租约时间
- 使用 MAC 地址过滤
- 限制每个客户端的 IP 分配
- DHCP Snooping
- 监控与警报
- VLAN 和网络隔离
- 安全强化