DHCP
DHCP 动态地址分配协议
工作过程:
- Client 发送 Dhcp discover(广播)包,请求IP地址
- Dhcp服务器发送 Dhcp offer,分配给Client一个有效的IP地址
- Client 发送 Dhcp request(广播),接收Dhcp服务器发送的IP地址
- Dhcp服务器发送Dhcp ack/nack,进行确定/失效
注意:
当Client租约期到了50%时,Client会发送Dhcp request单播续租
当Client租约期过了87.5%时,Client会发送Dhcp request广播续租
当Client租约期到了100%时,Client会发送Dhcp discover广播,重新获取IP地址.
DHCP discover第一个包如果没有收到回应,会以1秒、2秒、4秒、8秒作为间隔再次发送四次,如果还没有回应。Windows会分配169.254的特殊IP地址,之后每5分钟广播一次DHCP discover
实验拓扑
DHCP配置命令
# 接口地址池
dhcp enable
int gig 0/0/0
ip add 192.168.1.254 24
dhcp select interface
dhcp server dns-list 192.168.1.254
dhcp server excluded-ip-address 192.168.1.100 192.168.1.200 // 不参与自动分配的IP地址
dhcp server lease [day day [hour hour [minute minute]] | unlimited]
dhcp server static-bind ip-address 192.168.1.254 mac-address aabb.ccdd.eeff [description description] //为指定Client分配固定IP地址
quit
# 全局地址池
dhcp enable
ip pool test
network 192.168.1.0 mask 255.255.255.0
gateway-list 192.168.1.254
dns-list 192.168.1.254
lease [day day [hour hour [minute minute]] | unlimited]
static-bind ip-address 192.168.1.254 mac-address aabb.ccdd.eeff [option-template template-name | description description]
quit
int gig 0/0/1
dhcp select global
ip add 192.168.1.254 24
抓包查看
DHCP Relay
简介
DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端。
DHCP Relay主要负责转发DHCP客户端与DHCP服务器之间的DHCP报文,所以DHCP Relay的报文格式只是把DHCP的报文部分字段做了相应的修改,报文格式没有发生变化。
DHCP Relay 两个主要字段
- Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段由客户端或服务器设置为0,每经过一个DHCP中继时,该字段加1。
- Giaddr(Gateway ip address):该字段表示第一个DHCP中继的IP地址(注意:不是地址池中定义的网关)。当客户端发出DHCP请求时,如果服务器和客户端不在同一个网络中,那么第一个DHCP中继在转发这个DHCP请求报文时会把自己的IP地址填入此字段。服务器会根据此字段来判断出网段地址,从而选择为用户分配地址的地址池。服务器还会根据此地址将响应报文发送给此DHCP中继,再由DHCP中继将此报文转发给客户端。若在到达DHCP服务器前经过了不止一个DHCP中继,那么第一个DHCP中继后的中继不会改变此字段,只是把Hops的数目加1。
实验拓扑
DHCP Relay配置命令
# 指定DHCP服务器IP地址
dhcp enable
int gig 0/0/1
ip add 192.168.2.2 24
dhcp select relay // 开启接口的DHCP中继功能
dhcp relay server-ip 192.168.2.1 // 配置DHCP服务器的IP地址
quit
# 创建DHCP服务器组
dhcp server group test
dhcp-server 192.168.2.1 [ip-address-index] // 配置DHCP服务器成员
quit
int gig 0/0/1
dhcp select relay
dhcp relay server-select test
quit
抓包查看信息
R2查看信息
DHCP 报文格式
DHCP报文中个字段的含义:
本文来自博客园,作者:未来的你!,转载请注明原文链接:https://www.cnblogs.com/frost-descent/articles/16746911.html