1.4.1 dhcp relay简介
随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的ip地址的情况。伴随这种需求,dhcp协议(dynamic host configuration protocol)即动态主机配置协议逐渐发展起来。dhcp协议以客户端/服务器(client/server)方式工作,dhcp client向dhcp server动态地请求配置信息,dhcp server根据策略返回相应的配置信息。
早期的dhcp协议只适用于dhcp客户端和服务器处于同一个子网内的情况,不可以跨网段工作。因此,为实现动态主机配置,需要为每一个子网设置一个dhcp 服务器,这显然是不经济的。
为此引入了dhcp relay:局域网内的dhcp客户端可以通过dhcp relay与其他子网的dhcp服务器通信,最终取得合法的ip地址。这样,多个网络上的dhcp客户端可以使用同一个dhcp服务器,既节省了成本,又便于进行集中管理。dhcp relay的典型应用示意图如下:
dhcp relay工作原理如下:
当dhcp client启动并进行配置初始化时,它会在本地网络广播配置请求报文;
如果本地网络存在dhcp server,则可以直接进行dhcp配置,不需要dhcp relay;
如果本地网络没有dhcp server,则与本地网络相连的具有dhcp relay功能的网络设备收到该广播报文后,将进行适当处理并转发给指定的其它网络上的dhcp server;
dhcp server根据dhcp client提供的信息进行相应的配置,并通过dhcp relay将配置信息发送给dhcp client,完成对dhcp client的动态配置;
从开始配置到最终完成配置,可能存在多次这样的交互过程。
1.4.2 dhcp relay配置
dhcp relay配置包括:
配置vlan接口对应的dhcp server
配置dhcp relay的用户地址表项
使能vlan接口上的dhcp安全特性
开启dhcp relay握手特性
配置dhcp中继动态用户地址表项定时刷新功能
1.4.3 配置vlan接口指向的dhcp server
可以通过下面的命令配置vlan接口处理dhcp报文模式为relay模式,配置vlan接口所指向的server地址。请在vlan接口视图下进行下列配置。
缺省情况下,vlan接口不对应任何dhcp server。
配置vlan接口对应到新的dhcp server时,不需要先删除原来的对应关系,只需配置新的对应关系即可,重复配置的ip地址都有效,都是对应的server地址,一共可以配置20个server ip地址。
指定dhcp relay 特性所指向的dhcp服务器的ip地址不能是该dhcp relay所对应的vlan虚接口的ip地址,否则系统会给出如下举例提示:can't set ip relay address as interface address on interface vlan-interface 100!
1.4.4 配置dhcp relay的用户地址表项
为了使配置了dhcp relay的vlan内的合法固定ip地址用户能够通过dhcp安全特性的地址合法性检查,需要使用此命令为固定ip地址用户添加一条ip地址和mac地址对应关系的静态地址表项。
请在系统视图下进行下列配置。
dhcp client通过dhcp relay申请ip地址。dhcp client的报文经过relay时,relay在报文中填上自己的主ip地址,转发给dhcp server。server收到relay转发过来的报文后,就按照relay所填的ip地址,分配相同网段的地址。
如果本地存在dhcp server,dhcp client申请ip地址时,只能分配到与该client相连的server的接口主ip地址相同网段的地址,不能分配与该client相连的server接口的从ip地址相同网段的地址。
如果本地没有dhcp server ,dhcp client通过relay申请ip地址时,dhcp server只能分配到与relay主ip地址相同网段的地址,不能分配到与relay从ip地址相同网段的地址。
1.4.5 使能/禁止vlan接口上的dhcp安全特性
当客户端通过dhcp中继从dhcp服务器获取到ip地址时,dhcp中继会记录ip地址与mac地址的绑定关系。用户也可以手工配置用户地址表项,即ip地址与mac地址的静态绑定。
为了防止非法用户静态配置一个ip地址,并访问其他网络,设备支持dhcp中继安全特性。使能vlan接口上的dhcp安全特性将启动vlan接口下用户地址合法性的检查,如果用户配置的ip地址与用户的mac地址的对应关系没有在dhcp中继的用户地址表中(包括dhcp中继动态记录的表项以及手工配置的用户地址表项),则dhcp中继将不允许该用户访问外部网络。
请在vlan接口视图下进行下列配置。
缺省情况下,vlan接口上的dhcp安全特性为关闭状态。
使能了vlan接口上的dhcp安全特性后,将导致已经申请到ip地址的客户端无法获得访问权限,需要客户端重新申请ip地址,建议管理员在没有用户获得ip地址前进行该配置!
1.4.6 开启dhcp relay握手功能
当dhcp客户端通过dhcp中继从dhcp服务器获取到ip地址时,dhcp中继会记录ip地址与mac地址的绑定关系。当交换机上使能了dhcp relay握手功能后,dhcp relay将根据绑定关系中的ip地址和自己的mac地址,定时向dhcp server端发送握手报文(dhcp-request报文)。
如果dhcp服务器响应dhcp-ack报文,则表明这个ip地址已经可以进行分配,dhcp中继会将动态用户地址表中对应的表项老化掉;
如果dhcp服务器响应dhcp-nak报文,则表示该ip地址的租约仍然存在,dhcp中继不会老化该ip地址对应的表项;
如果dhcp服务器没有响应dhcp中继的握手报文,dhcp 中继会继续给这个绑定关系握手,当3次不能收到回应时,认为这个ip地址已经可以进行分配,dhcp中继将动态用户地址表中对应的表项老化掉;
当交换机上禁止了dhcp relay握手功能后,dhcp relay不会定时向dhcp server端发送握手报文(dhcp-request报文),导致用户安全表项不断增加,将占用大量系统资源,请慎重使用!
当dhcp客户端释放该ip地址时,会发送单播dhcp-release报文给dhcp服务器;而dhcp中继不会处理该报文,造成dhcp中继的用户地址项不能被实时刷新。
1.4.7 配置dhcp中继动态用户地址表项定时刷新功能
当dhcp客户端通过dhcp中继从dhcp服务器获取到ip地址时,dhcp中继会记录ip地址与mac地址的绑定关系。由于dhcp客户端释放该ip地址时,会给dhcp服务器发送单播dhcp-release报文,dhcp中继不会处理该dhcp报文的内容,造成dhcp中继的用户地址项不能被实时刷新。为了解决这个问题,系统支持dhcp中继动态用户地址表项的定时刷新功能。
每隔指定时间,dhcp中继以客户端分配到的ip地址和自己的桥mac地址向dhcp服务器发送dhcp-request报文,如果dhcp服务器响应dhcp-ack报文,则表明这个ip地址已经可以进行分配,dhcp中继会将动态用户地址表中对应的表项老化掉;如果dhcp服务器响应dhcp-nak报文,则表示该ip地址的租约仍然存在,dhcp中继不会老化该ip地址对应的表项。
1.4.8 dhcp relay显示和调试
在完成上述配置后,在任意视图下执行display命令可以显示配置后dhcp relay的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行debugging命令对dhcp relay进行调试。
1.4.9 dhcp relay配置示例
1. 组网需求
dhcp client所在的网段地址为10.110.0.0,连接到交换机的vlan2中的端口。dhcp server的ip地址为202.38.1.2。需要通过具有dhcp relay功能的交换机中继dhcp报文,使得dhcp client可以从dhcp server上申请到ip地址等相关配置信息。
2. 组网图
3. 配置步骤
# 进入系统视图。
[h3c]system-view
# 创建vlan2。
[h3c]vlan 2
# 进入vlan接口视图,创建vlan-interface 2。
[h3c]interface vlan-interface 2
# 为vlan-interface 2配置ip地址。
[h3c-vlan-interface2] ip address 10.110.1.1 255.255.0.0
# vlan-interface 2选择从远程dhcp服务器上分配地址。
[h3c-vlan-interface2]dhcp select relay
# 配置dhcp relay的vlan 2 所指向的服务器的ip地址。
[h3c-vlan-interface2]ip relay address 202.38.1.2
此配置是dhcp relay的配置,dhcp server上需配置能够为客户机分配地址的地址池,此外要保证dhcp server和dhcp relay上客户机接入的接口路由畅通。
请不要更改、删除dhcp relay对应接口的ip地址,否则会导致用户申请不到地址,不能正常上网。