DHCP 服务器

DHCP 服务器

  1. DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用 UDP 协议工作;

  2. DHCP 的功能是:集中管理、分配 IP 地址;

  3. DHCP 协议工作的端口是UDP:67/68

  4. DHCP 可以减少工作量,避免 IP 冲突,提高地址利用率;

  5. DHCP 的工作原理,也叫 DHCP 的租约过程:

    1. 客户机发广播寻找 DHCP 服务器;
      客户机发送包含 MAC 地址的 DHCP Discover 广播包,表明我是谁;
    2. 服务器单播响应客户端;
      当 DHCP 服务器收到 Discover 包时,会单播回复客户机一个 DHCP Offer 包,里面包含一个 IP 地址,但不包含子网掩码、网关、DNS、租约等信息;
    3. 客户机广播发送 Request 请求;
      客户机收到 Offer 包,并确认使用此 IP 时,广播发送 DCHP Request 请求,请求该 IP 地址的详细信息,并通知其他 DHCP 服务器,自己已经有 IP 了;
    4. 服务器单播发送 ACK;
      在 DHCP 服务器收到 Request 请求后, 会向客户机发送 DHCP ACK 包,表明服务器已经确定了租约,并提供 IP 地址的详细信息,子网掩码、网关、DNS、租约等信息,客户机在收到 ACK 包后,就可以愉快的使用这个 IP 地址了;
  6. DHCP 续约:DHCP 服务器分配给客户机的 IP 地址有默认的租期,也就是说,过了这个租期,DHCP 服务器就会收回该 IP,客户机无法再通过此 IP 上网,所以,在租期内,客户机通过计时器来实现续租和释放 IP:

    1. 当租期到达 50% 时,客户机会单播发送 DHCP Request 包,来申请延长 IP 地址的租期,服务器会响应 DHCP ACK 包,并给客户机一个新的租期,客户机更新计时器并继续使用,如果服务器没有响应,则继续使用,并等待响应;
    2. 当租期到达 87.5% 时,客户机会再次发送 DHCP Request 包,如果收到 DCHP ACK 响应,则更新计时器,继续使用,如果收到 DHCP NAK,则立即停用现有 IP,并重新申请 IP;
    3. 当租约到期后,仍然没有收到服务器的响应,客户机会发送 DHCP Release 包,表示释放当前 IP,并重新发送 DHCP Discover 广播包来获取 IP 地址;
  7. 当客户机发送 DHCP Discover 广播包后,如果没有任何服务器响应,客户机会自动给自己分配一个169.254.0.0/16的 IP 地址,该地址属于全球统一的无效地址,用于局域网内部临时通讯;

  8. 当客户机和 DHCP 服务器不在同一网段,但又想从服务器获取 IP 时,可以使用 DHCP 中继功能,让路由器转发服务器的数据报文,从而获取 IP 地址;

  9. DHCP 服务器自身的 IP 地址必须是静态的;

  10. 可以在服务器中动态保留 IP(绑定 MAC 地址),针对固定的 MAC 地址动态分配固定的 IP 地址;

  11. 作用域的相同配置,可以在服务器选项中设置(如 DNS),作用域会继承服务器的配置;

  12. 相同配置,作用域的配置优先级高于服务器的配置,也就是本地配置高于继承的配置;(就近原则?)

  13. ipconfig:查看本机网络配置信息;

  14. ipconfig /all:查看本机网络配置详细信息;

  15. ipconfig /release:手动释放 IP(只是释放,不会重新获取),取消租约(改为手动配置 IP 也可以取消租约);

  16. ipconfig /renew:如果没有 IP,则发送 DHCP Discover 包,获取 IP 地址,如果有 IP,则发送 DHCP Request 包续约;

攻击与防御

  1. 服务器攻击:向服务器频繁发送伪装的 DHCP 请求,直到将地址池的资源耗尽,其他客户机则无法获取 IP 地址;
    防御:在管理型交换机上配置动态绑定 MAC 地址;
  2. 客户机攻击:将自己部署为 DHCP 服务器,为客户机提供非法的 IP 地址;
    防御:在管理型交换机上配置除合法的 DHCP 服务器外的所有端口全部禁止发送 DHCP Offer 包;