在终端发送DHCP request请求时,在交换机的接口处添加option82属性,报文携带字段发送到DHCP服务器上。DHCP服务器处理并识别option82字段,通过与DHCP地址池范围关联的class做匹配,从而实现从DHCP获取固定地址的需求。
option82配置:
dhcp server relay information enable 设备默认情况下开启处理option82
#
dhcp enable
#
dhcp snooping enable
#
interface Vlan-interface10
ip address 192.168.1.1 255.255.255.0
#
dhcp class port1
if-match rule 1 option 82 hex 706f727431 partial
#
dhcp server ip-pool test
gateway-list 192.168.1.1
network 192.168.1.0 mask 255.255.255.0
class port1 range 192.168.1.123 192.168.1.123
#
interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 10
dhcp snooping information enable
dhcp snooping information circuit-id string port1
#
以上DHCP服务器在本地交换机,如果外置DHCP服务器继需要开启中继:
interface Vlan-interface10
dhcp select relay
dhcp relay server-address 1.1.1.1
DHCP和class配置在DHCP服务器所在交换机,端口内circuit-id配置在用户侧交换机,并在与DHCP服务器相连的端口内添加信任服务器
dhcp snooping trust
需要注意的是,DHCP服务器处理识别option82字段校验有两种:
方法一:使用partial进行模糊匹配,使用class中配置的hex字段和端口中配置的ciruit-id对比,只要包含即视为匹配
if-match rule 1 option 82 hex 706f727431 partial
方法二:使用偏移量精确匹配,对接不通厂家设备时需要明确option82匹配项,对比一致视为匹配,总长度需要抓包明确
if-match rule 1 option 82 hex 706f727431 offset 2 length 5 //偏移两个字符,总长度5个字符
下图片展示了在二进制找到了option82中的3-9字符(共7个)
原图片配置的class命令:if-match rule 1 option 82 hex 36706f72743339 offset 2 length 7
文章内容和图片来自知了社区:DHCP option82属性实现固定接口获取固定地址 - 知了社区 (h3c.com)