DHCP Relay配置.docx
《DHCP Relay配置.docx》由会员分享,可在线阅读,更多相关《DHCP Relay配置.docx(14页珍藏版)》请在冰豆网上搜索。
DHCPRelay配置
1.24DHCPRelay配置
1.24.1概述
1.24.1.1理解DHCP
DHCP协议被广泛用来动态分配可重用的网络资源,如IP地址。
DHCPClient发出DHCPDISCOVER广播报文给DHCPServer。
DHCPServer收到后DHCPDISCOVER报文后,根据一定的策略来给Client分配资源,如IP地址,发出DHCPOFFER报文。
DHCPClient收到DHCPOFFER报文后,验证资源是否可用。
如果资源可用发送DHCPREQUEST报文;如果不可用,重新发送DHCPDISCOVER报文。
服务器收到DHCPREQUEST报文,验证IP地址资源(或其他有限资源)是否可以分配,如果可以分配,则发送DHCPACK报文;如果不可分配,则发送DHCPNAK报文。
DHCPClient收到DHCPACK报文,就开始使用服务器分配的资源;如果收到DHCPNAK,则可能重新发送DHCPDISCOVER报文再次请求另一个IP地址。
2.24.1.2理解DHCP中继代理(DHCPRelayAgent)
DHCP请求报文的目的IP地址为255.255.255.255,这种类型报文的转发局限于子网内,不会被设备转发。
为了实现跨网段的动态IP分配,DHCPRelayAgent就产生了。
它把收到的DHCP请求报文封装成IP单播报文转发给DHCPServer,同时,把收到的DHCP响应报文转发给DHCPClient。
这样DHCPRelayAgent就相当于一个转发站,负责沟通位于不同网段的DHCPClient和DHCPServer。
这样就实现了只要安装一个DHCPServer就可对所有网段的动态IP管理,即Client—RelayAgent—Server模式的DHCP动态IP管理。
图1
VLAN10和VLAN20分别对应10.0.0.1/16和20.0.0.1/16的网络,而DHCPServer在30.0.0.1/16的网络上,30.0.0.2的DHCPServer要对10.0.0.1/16和20.0.0.1/16的网络进行动态IP管理,只要在作为网关的设备上打开DHCPRelayAgent,并指定DHCPServerIP为30.0.0.2就可以了
3.24.1.3理解DHCPRelayAgentInformation(option82)
根据RFC3046的定义,中继设备进行DHCPrelay时,可以通过添加一个option的方式来详细的标明DHCPclient的一些网络信息,从而使服务器可以根据更精确的信息给用户分配不同权限的IP,根据RFC3046的定义,所使用option选项的选项号为82,故也被称作option82,该option可以继续分解成多个子选项,现阶段经常使用的子选项有CircuitID和RemoteID。
本公司实现的relayagentinformation现阶段存在两种,一种是与802.1x/SAM应用方案结合relayagentinformationoptiondot1x,另一种是结合用户所属的端口vid,slot,port,以及设备mac信息的relayagentinformationoption82,下边对两种方案应用时option携带的内容及格式以及一些典型的应用方案进行一些说明:
1.relayagentinformationoptiondot1x:
此种应用方案需要结合802.1x认证以及我司产品RG-SAM。
通过RG-SAM在802.1x认证过程中给设备下放不同的IP权限,结合DHCPclient所属的vid组合成CircuitID子选项。
在DHCPrelay上传到DHCPserver时,结合DHCPserver的配置,就可以实现给不同权限用户分配不同权限IP的应用。
组合成CircuitID格式如下,其中priviliage和vid字段各占两个字节:
图2
2.relayagentinformationoption82:
此种option的应用不需要结合其他协议模块的运行,设备在DHCPrelay的过程中,根据收到DHCP请求的实体端口,以及设备自身的物理地址信息,组合构成option82信息上传到服务器,option选贤得格式如下:
AgentCircuitID
图3
AgentRemoteID
图4
4.24.1.4理解DHCPrelayCheckServer-id功能
在DHCP应用时,通常会为每一个网络配备多个DHCP服务器,从而进行备份,防止因为一台服务器的工作不正常影响网络的正常使用。
在DHCP获取的四个交互过程中,当DHCPclient在发送DHCPREQUEST时已经选定了服务器,此时会在请求的报文中携带一个server-id的option选项,在某些特定的应用环境中为了减轻网络服务器压力,需要我们relay能够使能此选项,只把请求报文发给此选项里的server,而不是发送给每一个配置的DHCPserver,上述就是DHCPcheckserver-id功能
2.24.2配置DHCP
1.24.2.1配置DHCP中继代理
在全局配置模式下,请按如下步骤配置DHCP中继代理:
命令
作用
Ruijie(config)#servicedhcp
启用DHCP代理
Ruijie(config)#noservicedhcp
关闭DHCP代理。
2.24.2.2配置DHCPServer的IP地址
在配置DHCPServer的IP地址后,设备所收到的DHCP请求报文将转发给它,同时,收到的来自Server的DHCP响应报文也会转发给Client。
DHCPserver地址可以全局配置,也可以在三层接口上配置,每种配置模式都可以配置多个服务器地址最多可以配置20个服务器地址,。
在某接口收到DHCP请求,则首先使用接口DHCP服务器;如果接口上面没有配置服务器地址,则使用全局配置的DHCP服务器。
DHCP中继支持基于vrf的中继功能,配置方法就是在对应的服务器地址前面添加vrf参数。
配置DHCP服务器地址请按如下方式进行:
命令
作用
Ruijie(config)#IPhelper-address[vrf]A.B.C.D
添加一个全局的DHCP服务器地址
Ruijie(config-if)#IPhelper-address[vrf]A.B.C.D
添加一个接口的DHCP服务器地址。
此命令必须在三层接口下设置。
Ruijie(config)#noIPhelper-address[vrf]A.B.C.D
删除一个全局的DHCP服务器地址
Ruijie(config-if)#noIPhelper-address[vrf]A.B.C.D
删除一个接口的DHCP服务器地址
3.24.2.3配置DHCPoptiondot1x
通过理解DHCPRelayAgentInformation的描述可知,在网络如果需要根据用户权限的不同而给用户分配不同权限IP时,我们就可以通过配置ipdhcprelayinformationoptiondot1x来配置打开DHCPrelay的optiondot1x功能,当打开此功能时,设备在进行relay时就会结合802.1x添加对应的option信息到服务器,配置此功能时需要和dot1x功能结合使用。
在全局配置模式下,请按如下步骤配置DHCPoptiondot1x:
命令
作用
Ruijie(config)#ipdhcprelay
informationoptiondot1x
启用DHCPoptiondot1x功能
Ruijie(config)#noipdhcprelay
informationoptiondot1x
关闭DHCPoptiondot1x功能。
4.24.2.4配置DHCPoptiondot1xaccess-group
在optiondot1x的应用方案中,需要设备控制未认证或低权限的IP只有访问特定的一些IP地址的权限,以及限制低权限用户之间的互相访问,此时可以通过配置命令ipdhcprelayinformationoptiondot1xaccess-groupacl-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的地址到达webportal以下载客户端软件。
因此需要在设备上配置如下:
Ruijie#config
Ruijie(config)#ipaccess-listextendedDenyAccessEachOtherOfUnauthrize
Ruijie(config-ext-nacl)#permitipanyhost192.168.3.1
//允许发往网关的报文
Ruijie(config-ext-nacl)#permitipanyhost192.168.4.1
Ruijie(config-ext-nacl)#permitipanyhost192.168.5.1
Ruijie(config-ext-nacl)#permitiphost192.168.3.1any
//允许源IP地址为网关的报文通讯
Ruijie(config-ext-nacl)#permitiphost192.168.4.1any
Ruijie(config-ext-nacl)#permitiphost192.168.5.1any
Ruijie(config-ext-nacl)#denyip192.168.3.00.0.0.255192.168.3.00.0.0.255
//禁止未认证用户相互访问
Ruijie(config-ext-nacl)#denyip192.168.3.00.0.0.255192.168.4.00.0.0.255
Ruijie(config-ext-nacl)#denyip192.168.3.00.0.0.255192.168.5.00.0.0.255
Ruijie(config-ext-nacl)#denyip192.168.4.00.0.0.255192.168.4.00.0.0.255
Ruijie(config-ext-nacl)#denyip192.168.4.00.0.0.255192.168.5.00.0.0.255
Ruijie(config-ext-nacl)#denyip192.168.5.00.0.0.255192.168.5.00.0.0.255
Ruijie(config-ext-nacl)#denyip192.168.5.00.0.0.255192.168.3.00.0.0.255
Ruijie(config-ext-nacl)#denyip192.168.5.00.0.0.255192.168.4.00.0.0.255
Ruijie(config-ext-nacl)#exit
然后再使用命令ipdhcprelayinformationoptiondot1xaccess-group
DenyAccessEachOtherOfUnauthrize把命令应用全局接口上
在全局配置模式下,请按如下步骤配置DHCPoptiondot1xaccess-group:
命令
作用
Ruijie(config)#ipdhcprelay
informationoptiondot1xaccess-groupacl-name
应用DHCPoptiondot1xacl
Ruijie(config)#noipdhcprelay
informationoptiondot1xaccess-groupacl-name
取消DHCPoptiondot1xacl的应用。
5.24.2.5配置DHCPoption82
当配置命令ipdhcprelayinformationoption82命令时,设备就会在DHCPrelay的过程中添加如理解DHCPRelayAgentInformation中所述格式的option到服务器。
在全局配置模式下,请按如下步骤配置DHCPoption82:
命令
作用
Ruijie(config)#ipdhcprelay
informationoption82
启用DHCPoption82功能
Ruijie(config)#noipdhcprelay
informationoption82
关闭DHCPoption82功能。
6.24.2.6配置DHCPrelaycheckserver-id
当配置命令ipdhcprelaycheckserver-id后,设备在收到DHCPrelay时就会去解析DHCPSERVER-IDoption,如果此选项不为空,则只对此server发送请求,而不对其他配置的服务器发送请求。
在全局配置模式下,请按如下步骤配置DHCPrelaycheckserver-id功能:
命令
作用
Ruijie(config)#ipdhcprelaycheck
server-id
启用DHCPrelaycheckserver-di功能
Ruijie(config)#noipdhcprelay
checkserver-id
关闭DHCPrelaycheckserver-id功能。
7.24.2.7配置DHCPrelaysuppression
当配置命令ipdhcprelaysuppression后,配置了DHCPrealysuppression的接口不把收到的DHCP广播请求转为单播relay出去,而对于端口收到的广播报文的正常广播转发不做抑制。
在接口配置模式下,请按如下步骤功能:
命令
作用
Ruijie(config-if)#ipdhcprelay
suppresson
启用DHCPrelaysuppresson功能
Ruijie(config-if)#noipdhcprelay
suppresson
关闭DHCPrelaysuppresson功能。
8.24.2.8DHCP配置实例
如下命令打开了dhcprelay功能、添加了两组服务器地址的例子:
Ruijie#configureterminal
Ruijie(config)#servicedhcp//打开dhcprelay功能
Ruijie(config)#iphelper-address192.18.100.1//添加全局服务器地址
Ruijie(config)#iphelper-address192.18.100.2//添加全局服务器地址
Ruijie(config)#interfaceGigabitEthernet0/3
Ruijie(config-if)#iphelper-address192.18.200.1//添加接口服务器地址
Ruijie(config-if)#iphelper-address192.18.200.2//添加接口服务器地址
Ruijie(config-if)#end
3.24.3配置DHCPrelay的其他注意事项
对于二层的网络设备来说,需要实现跨管理vlanrelay功能时就必须打开optiondot1x、动态地址绑定和option82的至少一个功能,否则在二层设备上只能实现管理vlan的relay功能。
1.24.3.1配置DHCPoptiondot1x需要的注意事项
1.此命令的实际生效需要在AAA/802.1x相关的配置正确的情况下。
2.在应用此方案时需要启用802.1x的DHCP模式的IP授权。
3.此命令与dhcpoption82命令互斥,不能同时使用。
4.在启用了802.1x的DHCP模式的IP授权的模式下,也会设置MAC+IP的绑定,所以不能与DHCP动态绑定功能不能同时启用。
2.24.3.2配置DHCPoption82需要的注意事项
DHCPoption82功能于dhcpoptiondot1x功能互斥,不能同时使用
4.24.4显示DHCP配置
请在特权模式下用showrunning-config命令显示DHCP配置。
Ruijie#showrunning-config
Buildingconfiguration...
Currentconfiguration:
1464bytes
versionRG0S10.1.00
(1),Release(11758)(FriMar3012:
53:
11CST2007-nprd
hostnameRuijie
vlan1
iphelper-address192.18.100.1
iphelper-address192.18.100.2
ipdhcprelayinformationoptiondot1x
interfaceGigabitEthernet0/1
interfaceGigabitEthernet0/2
interfaceGigabitEthernet0/3
noswitchport
iphelper-address192.168.200.1
iphelper-address192.168.200.2
interfaceVLAN1
ipaddress192.168.193.91255.255.255.0
linecon0
exec-timeout00
linevty0
exec-timeout00
login
password70137
linevty12
login
password70137
linevty34
login
end
5.24.5DHCP典型配置用例
1.24.5.1跨网段的用户申请IP上网
1.24.5.1.1配置要求
1、要求用户跨网段可以获取IP地址进行正常上网;
2、防止非法的用户私自设置IP地址进行上网。
2.24.5.1.2拓扑图
3.24.5.1.3分析
DHCPSnooping设备与DHCPRelay相连的设备端口是普通access口,要求Client可以跨网段自动获取IP地址进行上网,这就需要DHCPRelay设备来实现。
防止非法用户私自设置IP地址上网有两种做法:
一种是在全局模式下开启DAI(动态ARP检测功能),另一种是在接口模式下配置端口地址绑定,并结合arp-check功能来防止非法用户上网。
该用例采用第一种做法。
4.24.5.1.4配置过程
按上述拓扑图搭建环境,按下述配置步骤进行配置:
●DHCPSnooping的配置:
#开启DHCPSnooping功能
Ruijie(config)#ipdhcpsnooping
#配置与服务器相连的Gi0/2为可信任口
Ruijie(config)#interfacegigabitEthernet0/2
Ruijie(config-if)#ipdhcpsnoopingtrust
#配置Gi0/2为ARP检测信任口
Ruijie(config-if)#iparpinspectiontrust
Ruijie(config-if)#exit
#启用指定VLAN的DAI报文检查功能
Ruijie(config)#iparpinspectionvlan1
#配置设备的IP地址(SVI1)
Ruijie(config)#interfacevlan1
Ruijie(config-if)#ipaddress10.2.0.1255.255.0.0
#配置到另一个网段(10.1.0.0/16)的静态路由
Ruijie(config)#iproute10.1.0.0255.255.0.010.2.1.1
●DHCPRelay的配置
#启用DHCP中继代理
Ruijie(config)#serverdhcp
#添加一个全局的DHCP服务器的地址
Ruijie(config)#iphelper-address10.1.1.1
#配置与Snooping设备连接的端口的IP地址
Ruijie(config)#interfacegigabitEthernet3/1
Ruijie(config-if)#noswitchport
Ruijie(config-if)#ipaddress10.2.1.1255.255.0.0
#配置与Server设备连接的端口的IP地址
Ruijie(config)#interfacegigabitEthernet3/2
Ruijie(config-if)#noswitchport
Ruijie(config-if)#ipaddress10.1.0.1255.255.0.0
●DHCPServer上的配置:
#为连接Relay设备的端口配置IP地址
Ruijie(config)#interfacegigabitEthernet4/1
Ruijie(config-if)#noswitchport
Ruijie(config-if)#ipaddress10.1.1.1255.255.0.0
#启用DHCP服务器
Ruijie(config)#servicedhcp
#配置DHCP排斥地址,这些地址不会被分配给客户端
Ruijie(config)#ipdhcpexcluded-address10.1.1.110.1.1.10
#配置地址池名并进入地址池配置模式
Ruijie(config)#ipdhcppoollinwei
#配置客户端缺省网关
Ruijie(dhcp-config)#default-router10.2.1.1
#配置DHCP地址池的网络号和掩码
Ruijie(dhcp