DHCP笔记1

DHCP
C/S模式,基于UDP协议,
端口号:
DHCP Server :67
DHCP Client:68

DHCP Client首次入网过程:

image.png
1.client 广播 discover报文
2.其中一个dhcp server收到后 单播或多播 dhcp offer报文(分配ip前会ping一下ip查看是否在用)
3.收到第一个dhcp offer报文后,广播dhcp request 报文
4.server单播dhcp ack报文给client
client会向网段广播免费arp报文(免费arp报文会通告自己的ip和mac地址)

discover报文
如果第一次发送没有回应,则间隔1s,3s,7s,13s再发送,如果没有回应,则给自己获得一个169开头的ip(ipconfig发现ip时这个就表示dhcp有问题)

报文

image.png
OP:1 client ,2 server
seconds:获得ip后的存在时间(默认3600秒)1hour小时
flags:最高位0单播,为1广播
**yiaddr:**分配到地址
siaddr:dhcp server地址
**chaddr:**client 的mac地址
**options:**配置信息
image.png
tlv :注意58是50%时间续租,59是87.5%时间续租
options 53标识了dhcp报文类型:
1=**discover **,
2=dhcpoffer ,
3=dhcpRequest ,
4=dhcpDecline , client发现ip地址冲突发给server的
5=dhcp ACK ,
6=dhcp NAK, server拒绝clinet ip请求所发送的报文
7=dhcp release , client 告诉server不用这个ip了所发的报文
8=dhcp inform client向server获取dns ,gateway所发送的报文

option自定义字段
82(中继代理信息)
dhcp中继和dhcp snooping用的,携带了client的端口号,vlan id,中继的mac等
(目前对我没用帮助,不过多了解)
43(厂商特定信息)
wlan中组dhcp时,如果ap和ac不在一个网段,则ap无法通过广播获得ac的ip地址,capwap隧道无法建立
通过option42的dhcp报文可以帮助建立(不懂,目前了解即可)

dhcp续租

client 在租期达到50%时,单播dhcp request报文,收到dhcp server的dhcp ack时,刷新时间
client在租期达到87.5%时,还没收到ack报文,则会广播dhcp request报文,收到ack则刷新时间
如果直到到期都未收到,则停止使用该ip,重新发送discover报文

client会记录曾获取到ip地址,再次请求时,dhcprequest广播报文中options50字段会包含之前的ip地址。(client:有人能把这个ip地址发给我吗…是我之前用的…)
dhcp server根据client的报文mac地址来查看续约记录,如果有则返回对应的ip地址。否则不响应
image.png

命令

view全局视图


在view视图下配:
1.配置ip池的名称,类似表名
[]ip pool ip池的名称
/[里面就不写了]
2.dhcp client的gateway网关地址
[ -ip-pool-池子的名称]gatway-list ip地址

3.全局 可供分配的ip地址
[ -ip-pool-池子的名称]network ip地址 掩码或掩码长度

4.不参与自动分配的ip地址
[ -ip-pool-池子的名称]excluded-ip-address 开始的ip地址 结尾的ip地址(可不配)

5.地址池的租期
[ -ip-pool-池子的名称]lease {day 天 [hour 小时 [minute 分钟]] unlimited(长期)}

6.为指定的client分配固定地址
[ -ip-pool-池子的名称]static-bind ip-address ip地址 mac-address mac地址

接口视图

在接口上配置
1.在接口上配置地址池
[]interface  接口类型 接口号
[ -gixxx]ip add ip地址 掩码或掩码长度
接口所属ip网段就是地址池,接口地址掩码不能是31(不然失效)

2.配置接口的gateway地址
[ -gixxx]DHCP	server gateway-list 网关地址

3.给指定DHCP Client分配地址
[ -gixxx]DHCP server static-bind ip add ip地址 mac地址

4.配置不参与分配的ip地址
[ -gixxx]DHCP server excluded-ip-address 开始地址 [结尾地址]

5.配置地址池的租期
[ -gixxx]DHCP server {lease {day 天 [hour 小时 [minute 分钟]] unlimited(长期)}

配置举例

image.png
1.设置网关地址,网关地址是网段中的
2.配置地址池的网段,dhcp从这个网段分配地址
3.设置保留的地址
4.进入接口,设置接口使用的地址池

查看地址池

[]display ip pool
image.png
image.png

DHCP Relay DHCP中继

因为报文无法跨网段,所以当dhcp client 和server不在同一网段,discover报文无法到达server,ip无法分配。
dhcp中继接受client的报文转发给对应的server
报文对应字段:
giaddr:第一个中继的地址(根据第一个中继的网段分配地址)
hops:经过的中继的个数(上限16)

dhcp relay下client首次接入网络

image.png
dhcp relay 收到discover后:
检查hops ,如果hops >16 则丢弃 ,否则加1
检查giaddr,如果=0,改为relay接收该报文的接口地址,不是则跳过
将目的地址改为dhcp server或下一个relay 的ip,源地址是relay的接口地址,然后单播出去

dhcp server收到offer后,检查giaddr字段值是否是自己的ip,不是就丢弃。
是的话,看报文的广播标志位,为1就广播所有客户端,不是就单播

relay 命令

1.使能relay
[接口号]DHCP select relay

2.接口下配置dhcp的ip
[接口号]DHCP relay server-ip ip地址

3.创建dhcp服务器组
[接口号]DHCP server group 组名

4.配置组成员
[组名]DHCP-server ip地址

5.配置接口要用的的dhcp服务器组
[组名]Dhcp relay server-select 组名

6.开启接口的dhcp client功能
[接口号]ip add dhcp-alloc


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值