DHCP Relay配置与抓包

前言:DHCP请求报文是以广播包方式发送的,当DHCP服务器与DHCP客户端不在同一网段时,就需要在三层网关设备配置DHCP中继功能 。

为能更好理解DHCP Relay功能,建议先看看DHCP Server的内容 

https://blog.csdn.net/weixin_58574637/article/details/137583174?spm=1001.2014.3001.5502

工作原理:

  

1、 DHCP中继收到DHCP DISCOVER报文后,处理规则为:

▫ 检查DHCP报文中的Giaddr字段。如果是0,将Giaddr字段设置为接收DHCP DISCOVER报文的接口IP地址。如果不是0,则不修改该字段,继续下面的操作。

▫ 将DHCP报文的目的IP地址改为DHCP服务器或下一跳中继的IP地址,源地址改为中继连接客户端的接口地址,通过路由转发将DHCP报文单播发送到DHCP服务器或下一跳中继。

2、DHCP服务器接收到DHCP DISCOVER报文后,处理规则为:

▫选择与报文中Giaddr字段为同一网段的地址池,并为客户端分配IP地址等参数。

▫向Giaddr字段标识的DHCP中继单播发送DHCP OFFER报文。

3、DHCP中继收到DHCP OFFER报文后,处理规则为: 

▫ 检查报文中的Giaddr字段,如果不是接口的地址,则丢弃该报文;否则,继续下面的操作。 

▫ DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP OFFER报文广播发送给DHCP客户端;否则将DHCP OFFER报文单播发送给DHCP客户端。 

实验拓扑:

配置命令:

路由器做DHCP服务器,配置如下:

#
dhcp enable
#
ip pool if10
 gateway-list 192.168.10.254 
 network 192.168.10.0 mask 255.255.255.0 
 dns-list 192.168.10.254 

#
interface GigabitEthernet0/0/0
 ip address 192.168.0.1 255.255.255.0 
 dhcp select global
#
ip route-static 192.168.10.0 255.255.255.0 192.168.0.254
ip route-static 192.168.20.0 255.255.255.0 192.168.0.254
#

交换机做DHCP中继,配置如下:

#
vlan batch 10 20 100
#
dhcp enable

#
interface Vlanif10
 ip address 192.168.10.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.0.1

#
interface Vlanif20
 ip address 192.168.20.254 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.0.1
#
interface Vlanif100
 ip address 192.168.0.254 255.255.255.0
#
interface GigabitEthernet0/0/1
 port link-type access
 port default vlan 10

#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/24
 port link-type access
 port default vlan 100
#

PC连接到交换机G0/0/1时自动获取192.168.10.X段的IP,当PC连接到交换机的G0/0/2时自动获取192.168.20.X段。

数据抓包:     

交换机连接电脑的端口抓包信息如下:

交换机连接路由器的端口抓包如下:

       

PC发出的DHCP Discover包:以广播的方式发送, Bootp flags里明确要求服务器以单播的方式回复消息,并在Client MAC address字段写入自身MAC,在Option字段53里明确发送的是Discover包。

 

服务器收到客户的DHCP Discover包后,以单播的方式把Discover包发给DHCP服务器,同时Hops字段加1,而Relay Agent IP(Giaddr)字段加入收到DHCP Discover包的三层接口IP地址。

DHCP服务器收到Discover包后,回复给DHCP中继的Offer包。

 DHCP中继设备收到服务器的Offer包后,检查Relay Agent IP(Giaddr)是否为本接口IP,若不是丢掉,若是再根据Bootp flags字段判断是单播还是组播方式发与客户端。

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值