DHCP Relay配置
18.1 理解DHCP
DHCP协议被广泛用来动态分配可重用的网络资源,如IP地址。DHCP客户端发出DISCOVER广播报文给DHCP服务器。DHCP服务器收到后DISCOVER报文后,根据一定的策略来给客户端分配资源,如IP地址,发出OFFER报文。DHCP客户端收到OFFER报文后,验证资源是否可用。如果资源可用发送REQUEST报文;如果不可用,重新发送DISCOVER报文。服务器收到REQUEST报文,验证IP地址资源(或其他有限资源)是否可以分配,如果可以分配,则发送ACK报文;如果不可分配,则发送NAK报文。DHCP 客户端收到ACK报文,就开始使用服务器分配的资源;如果收到NAK报文,则可能重新发送DISCOVER报文。
18.2 理解DHCP中继(DHCP Relay) 18.2.1 DHCP中继概述
DHCP中继(DHCP Relay)是为了解决DHCP客户端与DHCP服务器不在同一网段时DHCP客户端与在其他网段的DHCP服务器通讯问题。当DHCP客户端与服务器不在同一个子网上,就必须有DHCP中继代理来转发DHCP请求和应答消息。DHCP中继代理的数据转发,与通常路由转发是不同的,通常的路由转发相对来说是透明传输的,设备一般不会修改IP包内容。而DHCP中继代理接收到DHCP消息后,重新生成一个DHCP消息,然后转发出去。
18.2.2 DHCP Relay功能特性
18.2.2.1DHCP Relay 功能
DHCP请求报文的目的IP地址为255.255.255.255,这种类型报文的转发局限于子网内。为了实现跨网段的动态IP地址分配,DHCP中继就产生了。DHCP中继将收到的DHCP请求报文以单播方式转发给DHCP服务器,同时将收到的DHCP响应报文转发给DHCP客户端。DHCP中继相当于一个转发站,负责沟通位于不同网段的DHCP客户端和DHCP服务器。这样就实现了只要安装一个DHCP服务器,就可以实现对多个网段的动态IP管理,即Client—Relay—Server模式的DHCP动态IP管理。如图1所示:
图 1. DHCP Relay应用环境
VLAN 10和VLAN 20分别对应10.0.0.1/16和20.0.0.1/16的网络,而DHCP 服务器在30.0.0.1/16的网络上,30.0.0.2的DHCP 服务器要对10.0.0.1/16和20.0.0.1/16的网络进行动态IP管理,只要在作为网关的设备上打开DHCP中继功能,并配置30.0.0.2为DHCP服务器的IP地址。
18.2.2.2DHCP Relay Agent Information(option 82)
根据RFC3046的定义,中继设备进行DHCP relay时,可以通过添加option的方式来详细的标明DHCP客户端的一些网络信息,从而使服务器可以根据更精确的信息给用户分配不同权限的IP,根据RFC3046的定义,所使用option选项的选项号为82,故也被称作option 82。锐捷实现的relay agent information目前存在二种应用方案,下面分别对二种应用方案进行说明:
1、 relay agent information option dot1x:此种应用方案需要结合802.1x认证以及锐捷网络产品RG-SAM。DHCP中继根据RG-SAM在802.1x认证过程中下发的IP权限,以及DHCP客户端所属vid,组合构成Circuit ID子选项。选项格式如图2所示:
图 2. dot1x选项格式
2、 relay agent information option82:此种option的应用不需要结合其他协议模块的运行。DHCP中继根据接收DHCP请求报文的实体端口,以及设备自身的物理地址等信息,组合构成option82选项。选项格式如图3、图4所示: Agent Circuit ID
图 3. circuit ID选项格式
Agent Remote ID
图 4. remote ID选项格式
18.2.2.3DHCP relay Check Server-id功能
在DHCP应用环境中,通常会为每一个网络配备多个DHCP服务器,从而进行备份,防止因为一台服务器的工作不正常影响网络的正常使用。在DHCP获取的四个交互过程中,当DHCP 客户端在发送DHCP REQUEST时已经选定了服务器,此时会在请求的报文中携带一个server-id的option选项,在某些特定的应用环境中为了减轻网络服务器压力,需要我们relay能够使能此选项,只把请求报文发给此选项里的DHCP服务器,而不是发送给每一个配置的DHCP 服务器,上述就是DHCP relay check server-id功能。
18.2.3 工作原理
DHCP Relay典型应用拓扑如下图:
图 5. DHCP应用环境
工作原理如下:
a) 当DHCP客户端启动并进行DHCP初始化时,它在本地网络广播DISCOVER
报文。
b) 如果本地网络存在 DHCP 服务器,则可以直接进行DHCP配置,不需要
DHCP中继。 c) 如果本地网络没有 DHCP 服务器,则与本网络相连的、带DHCP中继功能
的网络设备收到该广播DISCOVER报文后,进行适当处理并转发给指定的、其它网络上的DHCP服务器。 d) DHCP服务器根据客户端提供的信息进行相应的配置,并通过 DHCP 中继
将配置信息发送给客户端,完成对客户端的动态配置。从开始配置到最终完成配置,可能存在多次这样的交互过程。
18.2.4 协议规范
RFC 2312、RFC3046.
18.3 缺省配置
下表用来描述DHCP Relay的缺省配置。
DHCP Relay功能 DHCP Relay Agent Information DHCP relay Check Server-id 功能特性 关闭 关闭 关闭 缺省值 18.4 配置DHCP Relay功能
< href=\"Cap3.htm#_配置项1\" target=\"b\">(必选)配置DHCP Relay功能开
启/关闭
< href=\"Cap1.htm#_配置DHCP_服务器的IP地址\" target=\"b\">(必选)配置
DHCP服务器的IP地址
< href=\"Cap3.htm#_查看配置信息1\" target=\"b\">查看配置
18.4.1 配置DHCP Relay功能开启/关闭
在全局配置模式下,如下命令配置启用或关闭DHCP中继代理:
命令 Ruijie (config)# service dhcp Ruijie(config)# no service dhcp 启用DHCP中继。 关闭DHCP中继。 作用 配置举例:
#在开启DHCP Relay功能。 Ruijie# configure terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Ruijie(config)# service dhcp #在关闭DHCP Relay功能。 Ruijie(config-if)# no service dhcp
DHCP Relay与DHCP Server功能使用同一个配置开关,service dhcp开启DHCP
说明 服务后,如果继续配置了dhcp pool,则是启用DHCP Server功能,如果没有配置
dhcp pool,则是开启DHCP Relay功能。
18.4.2 配置DHCP服务器的IP地址
在配置DHCP服务器的IP地址后,设备将收到的DHCP请求报文将转发给它;同
时,将收到的DHCP 服务器响应报文转发给DHCP客户端。
DHCP服务器地址可以全局配置,也可以在三层接口上配置。全局或者每个三层接口上最多可以配置20个DHCP 服务器地址。在接口上收到DHCP请求报文时,首先使用接口上的DHCP服务器列表;如果接口上面没有配置DHCP服务器列表,则使用全局配置的DHCP服务器列表。
DHCP中继支持基于vrf的中继功能,配置方法就是在对应的服务器地址前面添加vrf参数。
命令 Ruijie(config)# ip helper-address a.b.b.d Ruijie(config-if)# ip helper-address a.b.b.d Ruijie(config)# no ip helper-address a.b.b.d Ruijie(config-if)# no ip helper-address a.b.b.d 作用 添加一个全局的DHCP服务器地址。 添加一个接口的DHCP服务器地址。此命令必须在三层接口下配置。 删除一个全局的DHCP服务器地址 删除一个接口的DHCP服务器地址 配置DHCP服务器地址请按如下方式进行: 配置举例:
# 在intterface vlan 1上配置一个DHCP服务器的IP地址192.168.11.1 Ruijie# configure terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Ruijie(config)# interface vlan 1
Ruijie(config-if)# ip helper-address 192.168.11.1
# 删除intterface vlan 1上已经配置DHCP服务器的IP地址192.168.11.1 Ruijie(config-if)# no ip helper-address 192.168.11.1 #配置一个全局的DHCP服务器的IP地址192.168.100.1 Ruijie# configure terminal
Enter configuration commands, one per line. End with CNTL/Z. Ruijie(config)# ip helper-address 192.168.100.1
#删除之前配置的全局的DHCP服务器的IP地址192.168.100.1 Ruijie(config)# no ip helper-address 192.168.100.1
18.4.3 查看配置
命令 Ruijie (config)# show running-config 作用 显示系统配置信息,其中包含了DHCP Relay配置信息。 配置举例:
#在特权模式下用show running-config命令显示DHCP Relay配置。
Ruijie# show running-config Building configuration...
Current configuration : 1464 bytes
version RGNOS 10.4.00(2), Release(11758)(Fri Mar 30 12:53:11 CST 2007 -nprd hostname Ruijie vlan 1
interface GigabitEthernet 0/1 interface GigabitEthernet 0/2 interface GigabitEthernet 0/3 no switchport
ip helper-address 192.168.100.1 interface VLAN 1
ip address 192.168.193.91 255.255.255.0 ip helper-address 192.168.11.1 line con 0 exec-timeout 0 0 line vty 0 exec-timeout 0 0 login
password 7 0137 line vty 1 2 login
password 7 0137 line vty 3 4 login end
18.5 配置DHCP Relay Agent Information(option 82)
< href=\"Cap1.htm#_配置DHCP_option_dot1x\" target=\"b\">(可选)配置DHCP option dot1x < href=\"Cap1.htm#_配置DHCP_option_82\" target=\"b\">(可选)配置DHCP option 82 < href=\"Cap1.htm#_查看配置\" target=\"b\">查看配置
18.5.1 配置DHCP option dot1x
通过理解DHCP Relay Agent Information的描述可知,在网络如果需要根据用户权限的不同而给用户分配不同权限IP时,我们就可以通过配置ip dhcp relay information option dot1x来配置打开DHCP中继设备的option dot1x功能。当设备做为DHCP中继转发DHCP请求报文时,结合802.1x,在DHCP请求报文中添option选项信息。该功能和dot1x功能结合使用。
配置DHCP option dot1x功能分为两个功能项配置:
< href=\"Cap1.htm#_配置DHCP_option_dot1x功能启用/关闭\" target=\"b\">(必选)配置DHCP option dot1x功能启用/关闭
< href=\"Cap1.htm#_配置DHCP_option_dot1x_access-group\" target=\"b\">(必选)配置DHCP option dot1x access-group
< href=\"Cap1.htm#_查看配置_1\" target=\"b\">查看配置
18.5.1.1配置DHCP option dot1x功能启用/关闭
在全局配置模式下,如下命令配置启用和关闭DHCP option dot1x功能:
命令 Ruijie(config)# ip dhcp relay information option dot1x Ruijie(config)# no ip dhcp relay information option dot1x 作用 启用DHCP option dot1x功能 关闭DHCP option dot1x功能。 配置举例:
#开启DHCP Relay功能。 Ruijie# configure terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Ruijie(config)# service dhcp #开启DHCP option dot1x功能。
Ruijie(config)# ip dhcp relay information option dot1x #关闭DHCP option dot1x功能。
Ruijie(config-if)# no ip dhcp relay information option dot1x
说明
1 开启DHCP option dot1x功能之前需要确保DHCP Relay功能已经开启; 2 DHCP option dot1x功能需要结合802.1x认证使用。
18.5.1.2配置DHCP option dot1x access-group
在option dot1x的应用方案中,需要设备控制未认证或低权限的IP只有访问特定的一些IP地址的权限,以及限制低权限用户之间的互相访问,此时可以通过配置命令ip dhcp relay information option dot1x access-group acl-name来实现。这里的acl-name所定义的ACL必须预先配置,用以对某些内容进行过滤,主要是用于禁
止未认证用户之间的互相访问,另外,这里所关联的ACL被应用到设备所有端口上,并且该ACL没有缺省的ACE,与其它接口所关联的ACL没有冲突关系。 在全局配置模式下,如下命令配置启用和关闭DHCP option dot1x access-group功能:
命令 Ruijie(config)# ip dhcp relay information option dot1x access-group acl-name Ruijie(config)# no ip dhcp relay information option dot1x access-group acl-name 作用 应用DHCP option dot1x acl 取消DHCP option dot1x acl的应用。 配置举例:
为未认证的所用用户规划一类IP地址,为192.168.3.2-192.168.3.254,192.168.4.2-192.168.4.254,192.168.5.2-192.168.5.254;另外192.168.3.1、192.168.4.1、192.168.5.1作为网关地址,不分配给用户。则用户在未认证之前使用192.168.3.x-5.x的地址到达web portal以下载客户端软件。因此需要在设备上配置如下: #配置access-list
Ruijie# configure terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Ruijie(config)# ip access-list extended DenyAccessEachOtherOfUnauthrize
Ruijie(config-ext-nacl)# permit ip any host 192.168.3.1
//允许发往网关的
报文
Ruijie(config-ext-nacl)# permit ip any host 192.168.4.1 Ruijie(config-ext-nacl)# permit ip any host 192.168.5.1 Ruijie(config-ext-nacl)# permit ip host 192.168.3.1 any
//允许源IP地址为网关的报
文通讯
Ruijie(config-ext-nacl)# permit ip host 192.168.4.1 any Ruijie(config-ext-nacl)# permit ip host 192.168.5.1 any Ruijie(config-ext-nacl)# deny ip 192.168.3.0 0.0.0.255
192.168.3.0 0.0.0.255 //禁止未认证用户相互访问
Ruijie(config-ext-nacl)# deny ip 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255
Ruijie(config-ext-nacl)# deny ip 192.168.3.0 0.0.0.255 192.168.5.0 0.0.0.255
Ruijie(config-ext-nacl)# deny ip 192.168.4.0 0.0.0.255 192.168.4.0 0.0.0.255
Ruijie(config-ext-nacl)# deny ip 192.168.4.0 0.0.0.255 192.168.5.0 0.0.0.255
Ruijie(config-ext-nacl)# deny ip 192.168.5.0 0.0.0.255 192.168.5.0 0.0.0.255
Ruijie(config-ext-nacl)# deny ip 192.168.5.0 0.0.0.255 192.168.3.0 0.0.0.255
Ruijie(config-ext-nacl)# deny ip 192.168.5.0 0.0.0.255 192.168.4.0 0.0.0.255 Ruijie(config-ext-nacl)# exit
#应用DenyAccessEachOtherOfUnauthrize到全局接口上
Ruijie(config-if)# ip dhcp relay information option dot1x access-group DenyAccessEachOtherOfUnauthrize
#删除DenyAccessEachOtherOfUnauthrize在全局接口上的应用
Ruijie(config-if)# no ip dhcp relay information option dot1x access-group DenyAccessEachOtherOfUnauthrize
18.5.1.3查看配置
命令 Ruijie (config)# show running-config 作用 显示系统配置信息,其中包含了DHCP Relay配置信息。 配置举例:
#在特权模式下用show running-config命令显示DHCP Relay配置。
Ruijie# show running-config Building configuration...
Current configuration : 1464 bytes
version RGNOS 10.4.00(2), Release(11758)(Fri Mar 30 12:53:11 CST 2007 -nprd hostname Ruijie vlan 1
ip helper-address 192.18.100.1
ip dhcp relay information option dot1x
ip dhcp relay information option dot1x access-group DenyAccessEachOtherOfUnauthrize interface GigabitEthernet 0/1 interface GigabitEthernet 0/2 interface GigabitEthernet 0/3 no switchport interface VLAN 1
ip address 192.168.193.91 255.255.255.0 line con 0
exec-timeout 0 0 line vty 0 exec-timeout 0 0 login
password 7 0137 line vty 1 2 login
password 7 0137 line vty 3 4 login end
18.5.2 配置DHCP option 82
当配置命令ip dhcp relay information option82命令时,设备做为DHCP中继,在转发DHCP请求报文过程中,在DHCP请求报文中添加option信息。 配置DHCP option 82功能分为两个功能项配置:
< href=\"Cap1.htm#_配置DHCP_option_82功能启用/关闭\" target=\"b\">(必选)配置DHCP option 82功能启用/关闭
< href=\"Cap1.htm#_配置option_82中remote-id的构造方式\" target=\"b\">(可选)配置option 82中remote-id的构造方式
< href=\"Cap1.htm#_查看配置_2\" target=\"b\">查看配置
说明
DHCP option 82 功能于 DHCP option dot1x 功能互斥,不能同时使用,option82功能正常使用还需要 在DHCP Server上设置关于option82的配置
18.5.2.1配置DHCP option 82功能启用/关闭
在全局配置模式下,如下命令配置启用或关闭DHCP option82功能:
命令 Ruijie(config)# ip dhcp relay information option82 Ruijie(config)# no ip dhcp relay information option82 作用 启用DHCP option82功能 关闭DHCP option82功能。 配置举例:
#开启DHCP option82功能。
Ruijie(config)# ip dhcp relay information option82 #关闭DHCP option82功能。
Ruijie(config)# no ip dhcp relay information option82x
18.5.2.2配置option 82中remote-id的构造方式
命令 Ruijie(config)# ip dhcp relay information 作用 以系统MAC地址或AP的MAC或MAC:SSID为remote-id的内容,缺省为系统MAC方式 option82 remote-id { sysmac | apmac | apmac:ssid } 配置举例:
#设置option 82中remote-id构造方式为apmac方式。
Ruijie(config)# ip dhcp relay information option82 remote-id apmac #设置option 82中remote-id构造方式为apmac:ssid方式。
Ruijie(config)# ip dhcp relay information option82 remote-id apmac:ssid #设置option 82中remote-id构造方式为sysmac方式。
Ruijie(config)# ip dhcp relay information option82 remote-id sysmac
说明 该功能只有在打开option82功能的情况下才可以打开。
18.5.2.3查看配置
命令 Ruijie (config)# show running-config 作用 显示系统配置信息,其中包含了DHCP Relay配置信息。 配置举例:
#在特权模式下用show running-config命令显示DHCP Relay配置。
Ruijie# show running-config Building configuration...
Current configuration : 1464 bytes
version RGNOS 10.4.00(2), Release(11758)(Fri Mar 30 12:53:11 CST 2007 -nprd hostname Ruijie vlan 1
ip helper-address 192.18.100.1
ip dhcp relay information option82
ip dhcp relay information opt82 remote-id sysmac interface GigabitEthernet 0/1 interface GigabitEthernet 0/2 interface GigabitEthernet 0/3 no switchport interface VLAN 1
ip address 192.168.193.91 255.255.255.0 line con 0 exec-timeout 0 0 line vty 0 exec-timeout 0 0 login
password 7 0137 line vty 1 2 login
password 7 0137 line vty 3 4 login end
18.6 DHCP Relay Check Server-id功能
当配置命令ip dhcp relay check server-id后,DHCP Relay仅将DHCP请求报文转发到option server-id中指定的服务器。如果没有配置该命令,则向所有配置的DHCP服务器转发DHCP请求报文。
< href=\"Cap1.htm#_配置DHCP_Relay_Check_Server-id功能开启/关闭\" target=\"b\">(必选)配置DHCP Relay Check Server-id功能开启/关闭
< href=\"Cap1.htm#_查看配置_3\" target=\"b\">查看配置
18.6.1.1< href=\"Cap3.htm#_配置项1\" target=\"b\">配置DHCP Relay
Check Server-id功能开启/关闭
在全局配置模式下,如下命令配置启用或关闭DHCP relay check server-id 功能:
命令 Ruijie(config)# ip dhcp relay check server-id Ruijie(config)# no ip dhcp relay check server-id 作用 启用DHCP relay check server-id功能 关闭DHCP relay check server-id功能。 配置举例:
#启用DHCP relay check server-id功能 Ruijie(config)# ip dhcp relay check server-id #关闭DHCP relay check server-id功能 Ruijie(config)# no ip dhcp relay check server-id
18.6.1.2查看配置
命令 Ruijie (config)# show running-config 作用 显示系统配置信息,其中包含了DHCP Relay配置信息。 配置举例:
#在特权模式下用show running-config命令显示DHCP Relay配置。
Ruijie# show running-config Building configuration...
Current configuration : 1464 bytes
version RGNOS 10.4.00(2), Release(11758)(Fri Mar 30 12:53:11 CST 2007 -nprd hostname Ruijie vlan 1
ip helper-address 192.18.100.1 ip dhcp relay check server-id interface GigabitEthernet 0/1 interface GigabitEthernet 0/2 interface GigabitEthernet 0/3 no switchport interface VLAN 1
ip address 192.168.193.91 255.255.255.0 line con 0 exec-timeout 0 0 line vty 0 exec-timeout 0 0 login
password 7 0137 line vty 1 2 login
password 7 0137 line vty 3 4 login end
18.7 DHCP Relay典型配置举例
跨网段的用户申请IP上网时需要启用DHCP Relay功能,下文按照如下章节来给出一个在无线应用中典型的配置案例:
< href=\"Cap18.htm#_组网需求\" target=\"b\">组网需求 < href=\"Cap1.htm#_组网拓扑\" target=\"b\">组网拓扑 < href=\"Cap18.htm#_配置要点\" target=\"b\">配置要点 < href=\"Cap18.htm#_配置步骤\" target=\"b\">配置步骤 < href=\"Cap18.htm#_显示验证\" target=\"b\">显示验证
18.7.1 组网需求
要求无线用户跨网段可以获取IP地址进行正常上网。
18.7.2 组网拓扑
图 6. DHCP Relay组网拓扑图
18.7.3 配置要点
1. 配置无线接入点(AP设备)接入到无线管理设备(AC设备)中; 2. 配置无线管理设备(AC设备)中启动DHCP Relay功能; 3. 配置DHCP Server。
18.7.4 配置步骤
按图 1拓扑图搭建环境,按下述配置步骤进行配置: 1)无线接入点(AP设备):
# 配置与AC设备连接的端口的IP地址
Ruijie(config)#
Ruijie(config)# interface gigabitEthernet 0/1 Ruijie(config-if)# ip address 1.1.1.2 255.255.255.0
# 配置与AC设备建立capwap连接
Ruijie(config)#
Ruijie(config)# acip ipv4 1.1.1.1
2)DHCP Relay的配置 # 启用DHCP中继代理
Ruijie(config)# server dhcp
# 添加一个全局的DHCP服务器的地址
Ruijie(config)# ip helper-address 2.2.2.1
# 配置与Snooping设备连接的端口的IP地址
Ruijie(config)# interface gigabitEthernet 0/1 Ruijie(config-if)# no switchport
Ruijie(config-if)# ip address 1.1.1.1 255.255.255.0
# 配置与Server设备连接的端口的IP地址
Ruijie(config)# interface gigabitEthernet 0/2 Ruijie(config-if)# no switchport
Ruijie(config-if)# ip address 2.2.2.2 255.255.255.0
3)DHCP Server上的配置:
# 为连接Relay设备的端口配置IP地址
Ruijie(config)# interface gigabitEthernet 0/1 Ruijie(config-if)# no switchport
Ruijie(config-if)# ip address 2.2.2.1 255.255.255.0
# 启用DHCP服务器
Ruijie(config)# service dhcp
# 配置DHCP排斥地址,这些地址不会被分配给客户端
Ruijie(config)# ip dhcp excluded-address 1.1.1.1 1.1.1.10
# 配置地址池名并进入地址池配置模式
Ruijie(config)# ip dhcp pool linwei
# 配置客户端缺省网关
Ruijie(dhcp-config)# default-router 1.1.1.1
# 配置DHCP地址池的网络号和掩码
Ruijie(dhcp-config)# network 1.1.1.0 255.255.255.0
# 配置到另一个网段(1.1.1.0/24)的静态路由
Ruijie(config)# ip route 1.1.1.0 255.255.255.0 2.2.2.2
18.7.5 显示验证
这里只给出DHCP Relay设备上的配置显示
#登录到DHCP Relay设备后在特权模式下用show running-config命令显示DHCP Relay配置。
Ruijie# show running-config no service password-encryption service dhcp
ip helper-address 2.2.2.1 ac-controller countr ! ! wids
dynamic-blacklist lifetime 300 device aging duration 600 !
interface GigabitEthernet 0/1 no switchport ip ref
ip address 1.1.1.1 255.255.255.0 !
interface GigabitEthernet 0/2 no switchport
ip address 2.2.2.2 255.255.255.0 ip ref !
interface GigabitEthernet 0/3 !
interface GigabitEthernet 0/4 !
interface GigabitEthernet 1/1 !
interface GigabitEthernet 1/2 !
interface GigabitEthernet 1/3 !
interface GigabitEthernet 1/4 !
因篇幅问题不能全部显示,请点此查看更多更全内容