DHCP Relay配置

25             DHCP Relay配置

25.1        概述

25.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地址。

25.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就可以了

25.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

25.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功能

25.2        配置DHCP

25.2.1  配置DHCP中继代理

在全局配置模式下,请按如下步骤配置DHCP中继代理:

命令

作用

Ruijie (config)# service dhcp

启用DHCP代理

Ruijie(config)# no service dhcp

关闭DHCP代理。

 

25.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[vrfA.B.C.D

添加一个接口的DHCP服务器地址。此命令必须在三层接口下设置。

Ruijie(config)# no IP helper-address[vrfA.B.C.D

删除一个全局的DHCP服务器地址

Ruijie(config-if)# no IP helper-address[vrfA.B.C.D

删除一个接口的DHCP服务器地址

 

25.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功能。

 

25.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     

//禁止未认证用户相互访问

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

然后再使用命令ip dhcp relay information option dot1x access-group

DenyAccessEachOtherOfUnauthrize 把命令应用全局接口上

在全局配置模式下,请按如下步骤配置DHCP option dot1x access-group

命令

作用

Ruijie(config)# ip dhcp relay

information option dot1x access-group acl-name

应用DHCP option dot1x acl

Ruijie(config)# no ip dhcp relay

information option dot1x access-group acl-name

取消DHCP option dot1x acl的应用。

25.2.5  配置DHCP option 82

当配置命令ip dhcp relay information option82命令时,设备就会在DHCP relay的过程中添加如理解DHCP Relay Agent Information中所述格式的option到服务器。

在全局配置模式下,请按如下步骤配置DHCP option82:

命令

作用

Ruijie(config)# ip dhcp relay

information option82

启用DHCP option82功能

Ruijie(config)# no ip dhcp relay

information option82

关闭DHCP option82功能。

 

25.2.6  配置DHCP relay check server-id

当配置命令ip dhcp relay check server-id后,设备在收到DHCP relay时就会去解析DHCP SERVER-ID option,如果此选项不为空,则只对此server发送请求,而不对其他配置的服务器发送请求。

在全局配置模式下,请按如下步骤配置DHCP relay check server-id 功能:

命令

作用

Ruijie(config)# ip dhcp relay check

server-id

启用DHCP relay check server-di功能

Ruijie(config)# no ip dhcp relay

check server-id

关闭DHCP relay check server-id功能。

 

25.2.7  配置DHCP relay suppression

当配置命令ip dhcp relay suppression后,配置了DHCP realy suppression的接口不把收到的DHCP 广播请求转为单播relay出去,而对于端口收到的广播报文的正常广播转发不做抑制。

在接口配置模式下,请按如下步骤功能:

命令

作用

Ruijie(config-if)# ip dhcp relay

suppresson

启用DHCP relay suppresson功能

Ruijie(config-if)# no ip dhcp relay

suppresson

关闭DHCP relay suppresson功能。

 

25.2.8  DHCP配置实例

如下命令打开了dhcp relay功能、添加了两组服务器地址的例子:

Ruijie# configure  terminal

Ruijie(config)# service dhcp                  //打开dhcp relay功能

Ruijie(config)# ip helper-address 192.18.100.1  //添加全局服务器地址

Ruijie(config)# ip helper-address192.18.100.2      //添加全局服务器地址

Ruijie(config)# interface GigabitEthernet 0/3

Ruijie(config-if)# ip helper-address 192.18.200.1  //添加接口服务器地址

Ruijie(config-if)# ip helper-address 192.18.200.2  //添加接口服务器地址

Ruijie(config-if)# end

25.3        配置DHCP relay的其他注意事项

对于二层的网络设备来说,需要实现跨管理vlan relay功能时就必须打开option dot1x、动态地址绑定和option82的至少一个功能,否则在二层设备上只能实现管理vlan的relay功能。

25.3.1  配置DHCP option dot1x需要的注意事项

1.        此命令的实际生效需要在AAA/802.1x相关的配置正确的情况下。

2.        在应用此方案时需要启用802.1x的DHCP 模式的IP授权。

3.        此命令与dhcp option82命令互斥,不能同时使用。

4.        在启用了802.1x的DHCP 模式的IP授权的模式下,也会设置MAC + IP的绑定,所以不能与DHCP动态绑定功能不能同时启用。

25.3.2  配置DHCP option82需要的注意事项

DHCP option82功能于dhcp option dot1x功能互斥,不能同时使用

25.4        显示DHCP配置

请在特权模式下用show running-config命令显示DHCP配置。

Ruijie# show running-config

Building configuration...

Current configuration : 1464 bytes

version RG0S 10.1.00(1), Release(11758)(Fri Mar 30 12:53:11 CST 2007 -nprd

hostname Ruijie

vlan 1

ip helper-address 192.18.100.1

ip helper-address 192.18.100.2

ip dhcp relay information option dot1x

interface GigabitEthernet 0/1

interface GigabitEthernet 0/2

interface GigabitEthernet 0/3

no switchport

ip helper-address 192.168.200.1

ip helper-address 192.168.200.2

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

25.5        DHCP典型配置用例

25.5.1  跨网段的用户申请IP上网

25.5.1.1配置要求

1、 要求用户跨网段可以获取IP地址进行正常上网;

2、 防止非法的用户私自设置IP地址进行上网。

25.5.1.2拓扑图

25.5.1.3分析

DHCP Snooping设备与DHCP Relay相连的设备端口是普通access口,要求Client可以跨网段自动获取IP地址进行上网,这就需要DHCP Relay设备来实现。防止非法用户私自设置IP地址上网有两种做法:一种是在全局模式下开启DAI(动态ARP检测功能),另一种是在接口模式下配置端口地址绑定,并结合arp-check功能来防止非法用户上网。该用例采用第一种做法。

25.5.1.4配置过程

按上述拓扑图搭建环境,按下述配置步骤进行配置:

l         DHCP Snooping的配置:

# 开启DHCP Snooping功能

Ruijie(config)# ip dhcp snooping

# 配置与服务器相连的Gi0/2为可信任口

Ruijie(config)# interface gigabitEthernet 0/2

Ruijie(config-if)# ip dhcp snooping trust

配置Gi0/2为ARP检测信任口

Ruijie(config-if)# ip arp inspection trust

Ruijie(config-if)# exit

启用指定VLAN的DAI报文检查功能

Ruijie(config)# ip arp inspection vlan 1

配置设备的IP地址(SVI1)

Ruijie(config)# interface vlan 1

Ruijie(config-if)# ip address 10.2.0.1 255.255.0.0

# 配置到另一个网段(10.1.0.0/16)的静态路由

Ruijie(config)# ip route 10.1.0.0 255.255.0.0 10.2.1.1

l         DHCP Relay的配置

# 启用DHCP中继代理

Ruijie(config)# server dhcp

# 添加一个全局的DHCP服务器的地址

Ruijie(config)# ip helper-address 10.1.1.1

# 配置与Snooping设备连接的端口的IP地址

Ruijie(config)# interface gigabitEthernet 3/1

Ruijie(config-if)# no switchport

Ruijie(config-if)# ip address 10.2.1.1 255.255.0.0

# 配置与Server设备连接的端口的IP地址

Ruijie(config)# interface gigabitEthernet 3/2

Ruijie(config-if)# no switchport

Ruijie(config-if)# ip address 10.1.0.1 255.255.0.0

l         DHCP Server上的配置:

# 为连接Relay设备的端口配置IP地址

Ruijie(config)# interface gigabitEthernet 4/1

Ruijie(config-if)# no switchport

Ruijie(config-if)# ip address 10.1.1.1 255.255.0.0  

# 启用DHCP服务器

Ruijie(config)# service dhcp

# 配置DHCP排斥地址,这些地址不会被分配给客户端

Ruijie(config)# ip dhcp excluded-address 10.1.1.1 10.1.1.10

# 配置地址池名并进入地址池配置模式

Ruijie(config)# ip dhcp pool linwei

# 配置客户端缺省网关

Ruijie(dhcp-config)# default-router 10.2.1.1

# 配置DHCP地址池的网络号和掩码

Ruijie(dhcp-config)# network 10.2.0.0  255.255.0.0

# 配置到另一个网段(10.2.0.0/16)的静态路由

Ruijie(config)# ip route 10.2.0.0  255.255.0.0  10.1.0.1

你可能感兴趣的:(Cisco,Wired,DHCP)