DHCP

DHCP作用

DHCP(Dynamic Host Configure Protocol,动态主机配置协议)自动分配IP地址(详情请参考计算机网络)

DHCP相关概念

  1. 作用池/作用域:IP、子网掩码、网关、DNS、租期

DHCP优点

减少工作量、避免IP冲突、提高地址利用率

DHCP原理

也叫DHCP租约过程,分为四个部分:

  1. 客户机发送DHCP Discovery广播包:客户机广播请求IP地址(包含客户机的MAC地址)
  2. 服务器响应DHCP Offer广播包:服务器响应提供的IP地址(但无子网掩码、网关等参数)
  3. 客户机发送DHCP Request广播包:客户机选择IP(也可以确认使用哪个IP)
  4. 服务器发送DHCP ACK广播包:服务器确认租约,并提供网卡详细参数IP、掩码、网关、DNS、租期等

DHCP续约步骤

  1. 在租期50%的时候,客户机发送DHCP Request包进行续约
  2. 如果服务器没有响应,则在租期87.5%再一次发送DHCP Request包续约
  3. 若仍然无响应,则释放IP地址,重新发送DHCP Discovery广播包来获取IP地址。
  4. 当无任何服务器响应时,计算机给自己分配一个169.254.x.x/16的IP地址,此地址属于全球统一无效地址,用于临时内网通信。

部署DHCP服务器

部署环境

客户机:Windows XP
服务器:Windows Server 2003

注:Windows/Linux/三层交换机/路由器均可用来做DHCP服务器

部署步骤

  1. 设置客户机及服务器的网络适配器改在同一个网络下(空),此时客户机的本地链接状态为无效IP

  2. 为服务器设置静态IP地址:
    ①点击打开本地连接属性
    ②点击Telnet协议

    ③手动配置静态IP

    上图手动配置的IP意思:该网段为10.1.1.0,服务器IP地址为10.1.1.1,默认客户机IP地址从10.1.1.2开始分配

  3. 在服务器中安装DHCP组件:
    ①点击我的电脑
    ②点击光驱(可移动设备)
    ③选择安装可选的Windows组件
    ④点击网络服务
    ⑤点击DHCP

    ⑥确定

  4. 使用netstat -an查看所有和服务器建立连接的IP.DHCP服务器使用UDP67端口作为源端口,使用UDP68端口作为目的端口来广播信息

  5. 创建作用域(地址池):
    ①点击->开始->管理工具->DHCP
    ②新建作用域

    ③配置作用域->添加排除(可选)->设置租约期限->设置DHCP选项(DHCP选项指网关及DNS,可选)->指定网关(要与真实网关一样)->添加服务器IP地址->WINS服务器(已被淘汰,忽略)->激活作用域

  6. 客户机连接服务器获得IP地址:
    ①右键点击本地连接选择启用

注:如果客户机的IP地址不是由我们搭建的DHCP服务器分配的,可能是每个虚拟交换机有一个DHCP服务器。解决方法是点击编辑->虚拟网络编辑器->更改设置->取消使用本地DHCP服务器将IP地址分配给虚拟机的对勾

DHCP命令

查看MAC地址

  1. 客户机:

    ipconfig /all

  2. 客户端:

释放IP地址

正常关机不会释放IP地址

ipconfig /release

重新获取IP地址

此命令也可以手动续约

ipconfig /renew

如果计算机当前无IP则此命令向服务器发送DHCP Discovery包,如果计算机已经有IP地址则此命令向服务器发送DHCP Request包

保留地址

每次都从地址池里拿出同样的IP地址给同一个人(通过MAC地址唯一标识)

DHCP攻击与防御

攻击DHCP服务器

方法:频繁发送伪造的DHCP请求,直到将DHCP地址池资源耗尽
防御:在交换机端口上(管理型)的端口上做动态MAC地址绑定(静态绑定用于银行、证券公司)

攻击客户机

方法:伪装DHCP服务器攻击,攻击者将自己部署为DHCP服务器,为用户提供非法IP地址
防御:在交换机上,除合法的服务器所在接口外,其他全部设置为禁止发送DHCP offer包


   转载规则


《DHCP》 fightingtree 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录