目录
一、技术背景
在大型企业网络中 会有大量的主机或设备需要获取IP地址等网络参数
如果采用手工配置 工作量大且不好管理
如果有用户擅自修改网络参数 还有可能会造成IP地址冲突等问题
使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)
来分配IP地址等网络参数 可以减少管理员的工作量
避免用户手工配置网络参数时造成地址冲突
查看地址池:dis ip pool
查看VLAN接口地址池:dis ip pool interface vlanif100 all
static-bind used静态绑定-专有地址 自动分配
二、DHCP概述
DHCP Dynamic Host Configuration Protocol 动态主机配置协议
从BOOTP(Bootstrap Protocol)协议发展而来
UDP封装 服务器=67 客户端=68
动态分配TCP/IP信息(IP地址 子网掩码 默认网关 DNS服务器等)
分配出去的信息是有租约(Lease)的 1天-86400s
WireShark抓包 过滤只能写BOOTP 没有DHCP
客户端->服务器 S68 D67
服务器->客户端 S67 D68
配置一台主机 IP地址和掩码是必须的
网关 DNS可以没有
cmd在主机中查看租约等详细信息:ipconfig/all
或控制面板-网络和共享中心-查看基本网络信息并设置连接-WLAN状态-详细信息
三、DHCP系统组成
DHCP发送的请求是广播的 如果划分了VLAN 服务器就接收不到来自客户端的请求
开启DHCP服务
[SW2]dhcp enable
[SW2]int vlanif 10
[SW2-Vlanif10]dhcp select interface
进入三层接口才能开启DHCP
因为DHCP的安全特性
int vlanif 10
ip add 192.168.10.254 24
接口关联 网关没有配 就是输入的三层地址
四、DHCP报文结构
五、DHCP报文类型
!!DHCP Discover 广播
IP地址: S:0.0.0.0 D:255.255.255.255
MAC地址:S:有 D:ff:ff:ff:ff:ff:ff
DHCP Offer 单播
DHCP Request 广播 Offer先到先得 谁先提供Offer就先要谁
另外 Request 广播的原因是如果有众多服务器向该客户端提供地址
广播告知 本客户端要的是哪个服务器的地址 其它的服务器地址不要
由此引申出DHCP的两种攻击模式-DHCP伪造和DHCP饿死
DHCP Ack 单播
六、DHCP工作流程
cmd在主机中释放IP地址命令:ipconfig /release
可以把服务器理解为握有众多房产(地址)的房东 房客(客户端)看房(Discover)
房东提供房子(Offer)让房客看 房客回复“要房子”(Request) 房东确认(Ack)
房东回复“房子已经被租啦”(Nak)房客退房(Release)
当实在没有房东提供房子住 即Discover申请IP失败 Window有一个机制
为网卡临时分配一个地址-即自动保留IP地址169.254.0.0/16 后面两位随机分配
如果有续租 客户端会记住之前使用过的地址 (即在DHCP Discover报文中添加
(Requested IP Address+曾使用过的IP)字段 重新申请
设想一个情境 当去肯德基连WIFI 由于租期时间较长 该地址并没有在回家后释放
此时回家后 客户端(手机)会向DHCP服务器申请该地址
由于和肯德基的地址不在同一个网段 故DHCP服务器会拒绝该地址
并为客户端(手机)重新分配属于“家” 这个网段的IP
七、DHCP租期更新 50%
租期 50% 单播请求续租
修改租期天数:[Huawei-Vlanif10]dhcp server lease day 1
//这里的day范围为0-999天
修改租期小时数:[Huawei-Vlanif10]dhcp server lease day 0 hour 12
//意为12h 半天
修改租期分钟数:[Huawei-Vlanif10]dhcp server lease day 0 hour 0 minute 1
//这里minute范围为0-59
如果day hour minute全部 = 0 则表示永不超时
等价于
修改租期为永不超时:[Huawei-Vlanif10]dhcp server lease unlimited
//此时的时间其实为232=4294967296 - 1 = 4294967295 大概139年
八、DHCP重绑定 87.5% = 7/8
50%申请续租 但服务器没有响应
一直到87.5% 此时租期已剩不多 着急 申请广播
此时遇到Ack则续租 Nak或仍没有收到Ack
则重新申请绑定IP 即再次发送Discover申请IP
即“房子”(地址)不能再住啦
租期100%时地址被释放Release
九、自动保留IP
当实在没有房东提供房子住 即Discover申请IP失败 Windows有一个机制
为网卡临时分配一个地址-即自动保留IP地址169.254.0.0/16
供临时通讯
为什么会分配自动保留IP地址?
1.DHCP服务器地址池分配完 没有剩余地址
2.客户端与DHCP服务器的通信是否正常 确保广播能被服务器收到
3.Windows服务中DHCP服务停止
十、租期设置建议-根据场所决定租期长短
设置较短:
增加网络负担
适合客户端较多
适用场所:流动场所(机场 火车站 酒店 KTV 购物中心)
设置较长:
减轻网络负担
等待较长
适用场所:固定场所(家庭 企业)
十一、IP地址释放
如果租约到期前都没有收到DHCP服务器的响应 客户端停止使用该IP地址
如果DHCP客户端不再使用分配的IP地址
也可以主动向DHCP服务器发送DHCP Release报文 释放该IP地址
十二、DHCP地址池(Pool) 所分配的地址集合
int vlanif 10 //确保先进入三层 否则无法修改DHCP地址池
dis ip pool interface vlanif10 all //查看全部地址池
dis ip pool interface vlanif10 used//查看已使用的地址池
dis ip pool interface vlanif10 expired//查看已过期的地址池
DHCP地址池的分类:
接口地址池 与三层口关联
全局地址池
接口地址池的优先级比全局地址池高
十三、DHCP配置
重启DHCP服务
undo dhcp enable
dhcp enable
1 DHCP接口地址池配置
[Huawei] dhcp enable
[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] dhcp select interface
[Huawei-GigabitEthernet0/0/0] dhcp server dns-list 10.1.1.2
[Huawei-GigabitEthernet0/0/0] dhcp server excluded-ip-address 10.1.1.2
[Huawei-GigabitEthernet0/0/0] dhcp server lease day 3
[Huawei-GigabitEthernet0/0/0]
dhcp server excluded-ip-address 10.1.1.2 10.1.1.20 表示排除10.1.1.2到10.1.1.20
华为地址的分配方式:逆序
思科地址的分配方式:顺序
为什么要设置排除地址?
控制分配的地址范围
防止和重要的设备冲突
2 DHCP全局地址池配置
[Huawei] dhcp enable
[Huawei] ip pool pool2
[Huawei-ip-pool-pool2] network 1.1.1.0 mask 24
[Huawei-ip-pool-pool2]gateway-list 1.1.1.1
[Huawei-ip-pool-pool2]lease day 10
[Huawei-ip-pool-pool2] quit
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] dhcp select global
十四、DHCP中继:DHCP Relay背景
DHCP信息以广播为主 路由器默认不转发广播
如果跨网段 服务器无法收到客户端的请求
使用需要一个中间人协助
这个中间人即中继
十五、DHCP Relay基本工作原理
十六、DHCP Relay配置