DHCP作用
DHCP(Dynamic Host Configure Protocol,动态主机配置协议)自动分配IP地址(详情请参考计算机网络)
DHCP相关概念
- 作用池/作用域:IP、子网掩码、网关、DNS、租期
DHCP优点
减少工作量、避免IP冲突、提高地址利用率
DHCP原理
也叫DHCP租约过程,分为四个部分:
- 客户机发送DHCP Discovery广播包:客户机广播请求IP地址(包含客户机的MAC地址)
- 服务器响应DHCP Offer广播包:服务器响应提供的IP地址(但无子网掩码、网关等参数)
- 客户机发送DHCP Request广播包:客户机选择IP(也可以确认使用哪个IP)
- 服务器发送DHCP ACK广播包:服务器确认租约,并提供网卡详细参数IP、掩码、网关、DNS、租期等
DHCP续约步骤
- 在租期50%的时候,客户机发送DHCP Request包进行续约
- 如果服务器没有响应,则在租期87.5%再一次发送DHCP Request包续约
- 若仍然无响应,则释放IP地址,重新发送DHCP Discovery广播包来获取IP地址。
- 当无任何服务器响应时,计算机给自己分配一个169.254.x.x/16的IP地址,此地址属于全球统一无效地址,用于临时内网通信。
部署DHCP服务器
部署环境
客户机:Windows XP
服务器:Windows Server 2003
注:Windows/Linux/三层交换机/路由器均可用来做DHCP服务器
部署步骤
设置客户机及服务器的网络适配器改在同一个网络下(空),此时客户机的本地链接状态为无效IP
为服务器设置静态IP地址:
①点击打开本地连接属性
②点击Telnet协议
③手动配置静态IP
上图手动配置的IP意思:该网段为10.1.1.0,服务器IP地址为10.1.1.1,默认客户机IP地址从10.1.1.2开始分配在服务器中安装DHCP组件:
①点击我的电脑
②点击光驱(可移动设备)
③选择安装可选的Windows组件
④点击网络服务
⑤点击DHCP
⑥确定使用netstat -an查看所有和服务器建立连接的IP.DHCP服务器使用UDP67端口作为源端口,使用UDP68端口作为目的端口来广播信息
创建作用域(地址池):
①点击->开始->管理工具->DHCP
②新建作用域
③配置作用域->添加排除(可选)->设置租约期限->设置DHCP选项(DHCP选项指网关及DNS,可选)->指定网关(要与真实网关一样)->添加服务器IP地址->WINS服务器(已被淘汰,忽略)->激活作用域客户机连接服务器获得IP地址:
①右键点击本地连接选择启用
注:如果客户机的IP地址不是由我们搭建的DHCP服务器分配的,可能是每个虚拟交换机有一个DHCP服务器。解决方法是点击编辑->虚拟网络编辑器->更改设置->取消使用本地DHCP服务器将IP地址分配给虚拟机的对勾
DHCP命令
查看MAC地址
客户机:
ipconfig /all
客户端:
释放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包