DHCP Relay配置
- 格式:doc
- 大小:175.00 KB
- 文档页数:12
1. 24 DHCP Relay配置
1. 24.1 概述
1. 24.1.1 理解DHCP
DHCP协议被广泛用来动态分配可重用的网络资源,如IP地址。
DHCP Client发出DHCP DISCOVER广播报文给DHCP Server。DHCP Server收到后DHCP DISCOVER报文后,根据一定的策略来给Client分配资源,如IP地址,发出DHCP OFFER报文。DHCP Client收到DHCP OFFER报文后,验证资源是否可用。如果资源可用发送DHCP REQUEST报文;如果不可用,重新发送DHCP DISCOVER报文。服务器收到DHCP REQUEST报文,验证IP地址资源(或其他有限资源)是否可以分配,如果可以分配,则发送DHCP ACK报文;如果不可分配,则发送DHCP
NAK报文。DHCP Client收到DHCP ACK报文,就开始使用服务器分配的资源;如果收到DHCP NAK,则可能重新发送DHCP DISCOVER报文再次请求另一个IP地址。
2. 24.1.2 理解DHCP中继代理(DHCP Relay Agent)
DHCP请求报文的目的IP地址为255.255.255.255,这种类型报文的转发局限于子网内,不会被设备转发。为了实现跨网段的动态IP分配,DHCP Relay Agent就产生了。它把收到的DHCP 请求报文封装成IP单播报文转发给DHCP Server,同时,把收到的DHCP响应报文转发给DHCP Client。这样DHCP Relay Agent就相当于一个转发站,负责沟通位于不同网段的DHCP Client和DHCP Server。这样就实现了只要安装一个DHCP Server就可对所有网段的动态IP管理,即Client—Relay Agent—Server模式的DHCP动态IP管理。
图1
VLAN 10和VLAN 20分别对应10.0.0.1/16和20.0.0.1/16的网络,而DHCP Server在30.0.0.1/16的网络上,30.0.0.2的DHCP Server要对10.0.0.1/16和20.0.0.1/16的网络进行动态IP管理,只要在作为网关的设备上打开DHCP Relay Agent,并指定DHCP Server IP为30.0.0.2就可以了
3. 24.1.3 理解DHCP Relay Agent Information(option 82)
根据RFC3046的定义,中继设备进行DHCP relay时,可以通过添加一个option的方式来详细的标明DHCP client的一些网络信息,从而使服务器可以根据更精确的信息给用户分配不同权限的IP,根据RFC3046的定义,所使用option选项的选项号为82,故也被称作option82,该option可以继续分解成多个子选项,现阶段经常使用的子选项有Circuit ID和Remote ID。本公司实现的 relay agent information现阶段存在两种,一种是与802.1x/SAM应用方案结合relay agent information option dot1x,另一种是结合用户所属的端口vid,slot,port,以及设备mac信息的relay agent
information option82,下边对两种方案应用时option携带的内容及格式以及一些典型的应用方案进行一些说明:
1. relay agent information option dot1x:此种应用方案需要结合802.1x认证以及我司产品RG-SAM。通过RG-SAM在802.1x认证过程中给设备下放不同的IP权限,结合DHCP client所属的vid组合成Circuit ID子选项。在DHCP relay上传到DHCP
server时,结合DHCP server的配置,就可以实现给不同权限用户分配不同权限IP的应用。组合成Circuit ID格式如下,其中priviliage和vid字段各占两个字节:
图2
2. relay agent information option82:此种option的应用不需要结合其他协议模块的运行,设备在DHCP relay的过程中,根据收到DHCP请求的实体端口,以及设备自身的物理地址信息,组合构成option82信息上传到服务器,option选贤得格式如下:
Agent Circuit ID
图3
Agent Remote ID
图4
4. 24.1.4 理解DHCP relay Check Server-id功能 在DHCP应用时,通常会为每一个网络配备多个DHCP服务器,从而进行备份,防止因为一台服务器的工作不正常影响网络的正常使用。在DHCP获取的四个交互过程中,当DHCP client在发送DHCP REQUEST时已经选定了服务器,此时会在请求的报文中携带一个server-id的option选项,在某些特定的应用环境中为了减轻网络服务器压力,需要我们relay能够使能此选项,只把请求报文发给此选项里的server,而不是发送给每一个配置的DHCP server,上述就是DHCP check server-id功能
2. 24.2 配置DHCP
1. 24.2.1 配置DHCP中继代理
在全局配置模式下,请按如下步骤配置DHCP中继代理:
命令 作用
Ruijie (config)# service dhcp 启用DHCP代理
Ruijie(config)# no service dhcp 关闭DHCP代理。
2. 24.2.2 配置DHCP Server的IP地址
在配置DHCP Server的IP地址后,设备所收到的DHCP请求报文将转发给它,同时,收到的来自Server的DHCP响应报文也会转发给Client。
DHCP server地址可以全局配置,也可以在三层接口上配置,每种配置模式都可以配置多个服务器地址最多可以配置20个服务器地址,。在某接口收到DHCP请求,则首先使用接口DHCP服务器;如果接口上面没有配置服务器地址,则使用全局配置的DHCP服务器。
DHCP中继支持基于vrf的中继功能,配置方法就是在对应的服务器地址前面添加vrf参数。配置DHCP服务器地址请按如下方式进行:
命令 作用
Ruijie(config)# IP helper-address [vrf]
A.B.C.D 添加一个全局的DHCP服务器地址
Ruijie(config-if)# IP helper-address [vrf]
A.B.C.D 添加一个接口的DHCP服务器地址。此命令必须在三层接口下设置。
Ruijie(config)# no IP helper-address [vrf]
A.B.C.D 删除一个全局的DHCP服务器地址
Ruijie(config-if)# no IP helper-address
[vrf] A.B.C.D 删除一个接口的DHCP服务器地址
3. 24.2.3 配置DHCP option dot1x
通过理解DHCP Relay Agent Information的描述可知,在网络如果需要根据用户权限的不同而给用户分配不同权限IP时,我们就可以通过配置ip dhcp relay information
option dot1x来配置打开DHCP relay的option dot1x功能,当打开此功能时,设备在进行relay时就会结合802.1x添加对应的option信息到服务器,配置此功能时需要和dot1x功能结合使用。
在全局配置模式下,请按如下步骤配置DHCP option dot1x:
命令 作用
Ruijie(config)# ip dhcp relay
information option dot1x 启用DHCP option dot1x功能
Ruijie(config)# no ip dhcp relay
information option dot1x 关闭DHCP option dot1x功能。
4. 24.2.4 配置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没有冲突关系,例如:
为未认证的所用用户规划一类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以下载客户端软件。因此需要在设备上配置如下:
Ruijie# config
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
//禁止未认证用户相互访问