网络通信 频道

经验:在交换机上配置DHCP中继代理

  【IT168 专稿】最近在研究DHCP服务器方面的资料,其中有一块是在交换机上设置中继代理的问题,其实要看如何在CISCO3550交换机上配置DHCP代理,最权威的资料就是到CISCO的网站上去查,在CISCO网站上有一份关于如何配置DHCP代理的PDF文档,网址如下:http://www.cisco.com/en/US/docs/switches/lan/catalyst3550/software/release/12.1_12c_ea1/configuration/guide/swdhcp82.pdf,以下就是我对这份英文文档的翻译。

  由于水平有限,翻译的可能不是很到位,但是根据我的工作经验,作为一名网络管理员,很多时候都需要在实际运行的网络环境中对网络设备进行配置,没有对我们尝试的机会,配置一定要一次成功,而要实现这一点,就需要充分了解网络设备的工作原理,查看必要的技术资料(我一般先看设备厂家网站,下载相关的资料,再看书本上的介绍及网络上相关论坛或网友提供的资料),闲话就说到这里,下面是翻译的资料。

  Configuring the DHCP Option 82 for Subscriber Identification

  这份文档是描述如何配置动态主机配置协议(Dynamic Host Configuration Protocol即DHCP)中继代理信息(option 82)特证的。这个特征使得DHCP中继代理(本文中指一台CISCO3550交换机)可以在一台DHCP客户端对一台DHCP服务器进行DHCP请求转发时收集包括它自身以及它所连接的客户端的相关信息。

  DHCP服务器可以根据这条信息为每一个需要提供该网络服务的子网去分配一个IP地址,实现访问控制,实施服务质量保证和安全策略。

  这份文档主要包括以下部分:
  理解DHCP原理及Option 82子网标识
  配置DHCP中继代理
  显示DHCP信息

  一、理解DHCP的原理及Option 82子网标识

  DHCP被广泛的应用在局域网网络环境中,在该网络中一台DHCP服务器为网中的主机动态的分配IP地址,这一措施可以显著的减少管理IP地址所带来的费用成本。DHCP同样可以用来有效的利用有限的IP地址资源,因为在实际的网络环境中,只有那些已经连接到网络上的主机才需要IP地址,而不是所有的主机都需要永久的占用一个IP地址。

  在一个大型的室内以太网环境中,DHCP可以集中管理相多大数量的子网中的IP地址。在交换机上启动Option 82特性后,一个订阅者可以被从它连接网络的那个交换机端口上被标记(并不是用它的MAC地址),并且即使在这台位于访问层的交换机的这个端口上连接了多台主机,这个订阅者仍然可以被唯一的标识出来。

  下图是一个例子,描述了在一个大型网络中,一台DHCP主机集中为子网中的多台主机动态分配IP地址的情况(这个子网是连接在位于访问层的CISCO3550交换机的下面)。因为DHCP客户端和它们所连接的DHCP服务器是位于不同的网段,在DHCP中断代理(CISCO3550交换机)上需要配置一个“帮助者地址”(helper address)以使得可以客户端和服务器之间进行广播转发和传输DHCP信息。

  当客户端至服务器端互换时,连接到VLAN存取端口的客户端的广播请求会被DHCP代理所截取,因此广播不会泛洪到同一VLAN的其它客户端处。中继代理转发这个请求到DHCP服务器,当服务器至客户端互换时,DHCP服务器会发出包含option 82域的广播回复,中继代理会根据这条信息辨认出是哪个端口连接了发出请求的客户端,从而避免在整个VLAN中转发这个回复。

  当你在交换机上启用DHCP中继代理的option 82功能以后,以下事情会发生

  主机(DHCP客户端)生成一个DHCP请求并将它向网络上进行广播。

  交换机(DHCP)代理会截获这个DHCP请求报文并在这个报文中插入中继代理信息(option 82)。在中继信息中包含交换机的MAC地址(远端ID)和标识这个包是从哪个端口收到的SNMP ifindex值。

  交换机向DHCP服务器转发包含有option 82域的DHCP请求。

  DHCP服务器接到这个报文后,如果这台服务器支持option 82,它会依据远端ID(remote ID),环路ID(circuit ID)来分配IP地址和实施策略,诸如限制IP地址的数量等,然后DHCP服务器会发出包含option 82的DHCP回复的响应。

  DHCP服务器向中继代理单播这条回复,中继代理会检查这个报文中的目标ip地址以此来确认是否是先前所发出的那个报文,这个ip地址同要在三层交换机中在端口配置模式中用ip helper-address命令来指定。

  中继代理移除option 82域并向连接着发出DHCP请求的DHCP客户端的交换机端口转发报文。

  二、配置DHCP中继代理

  以下部分描述了如何在你的交换机上配置中继代理和option 82:

  默认的DHCP配置
  DHCP配置向导
  启用DHCP中继代理和中继代理信息
  使中继代理信息option 82有效
  配置转发策略
  指定包转发地址
  抑制DHCP广播和完成端口到端口的隔离

  (一)默认的DHCP配置

 

 

特性

 

默认设置

 

DHCP服务和DHCP中继代理

 

启用

 

DHCP包转发地址(ip helper-address

 

没有配置

 

在从DHCP客户端向服务器端转发的请求信息中插入和移除DHCP中继信息(option 82域)

 

不启用

 

在从DHCP服务器向客户端转发的回复信息中检查中继代理信息

 

启用(不合法的信息就丢弃)

 

DHCP中继代理转发策略

 

替换(覆盖)已经存在的中继代理信息

 

表一 默认的DHCP配置

(二)DHCP配置向导

 

 

 

在对你的交换机进行配置DHCP中继代理之前,首先要确认你已经设置好一台DHCP服务器。比如说,你必须为这台DHCP服务器分配一个IP地址,为这台DHCP服务器配置相关的选项,或者设置这台DHCP服务器的数据代理。

 

 

 

如果你的DHCP服务器是一台CISCO设备,请参看CISCO网站上的相应文档。

(三)启用DHCP中继代理和中继代理信息

 

 

 

这些操作是特权模式下开始的,完成以下步骤后就可以在交换机上启用DHCP中继代理和中继代理信息了,这些操作是必须的。

 

 

 

 

 

命令

 

说明

 

步骤一

 

configure terminal

 

进入全局配置模式

 

步骤二

 

service dhcp

 

在你的交换机上启用DHCP服务和中继代理,这个功能默认是启用的

 

步骤三

 

ip dhcp relay information option

 

启用这台交换机在向DHCP服务器转发DHCP请求信息上插入和移除DHCP中继信息,默认情况下,这个功能是不启用的

 

步骤四

 

end

 

退回到特权模式

 

步骤五

 

show running-config

 

显示当前的配置

 

步骤六

 

copy running-config startup-config

 

保存当前配置

 

表二 启用DHCP中继代理和中继代理信息

 

 

 

如果要取消DHCP服务和中继代理,在全局配置模式下使用这条命令:no service dhcp。如果要取消插入和移除option 82域,在全局配置模式下使用这条命令:no ip dhcp relay information option

 

(四)使中继代理信息option 82有效

 

 

 

默认的,交换机会检查从DHCP服务器处接收的DHCP回复报文中的option 82域是否有效。如果收到一条无限的信息,交换机就会丢弃它。如果是接收到一条合法的信息,交换机会移除option 82域并转发这个报文。

 

 

 

如果你想取消这个功能,在全局配置模式下使用这条命令:no ip dhcp relay information check。一旦取消了这个功能,交换机就不会对option 82域的有效性进行检查,但是仍然从接收到的报文中移徐这个选项中并转发这个报文。

 

(五)配置转发策略

 

 

 

默认的,交换机上的转发策略是用交换机的DHCP中继信息来替换已经存在的从DHCP客户端处接收到的报文中的中继信息。如果默认的操作是不适合你的网络配置环境,你可以在全局配置模式下使用ip dhcp relay information policy{drop|keep|replace}来改变它。

 

 

 

如果确保执行正确的转发策略,要确认已经在全局配置模式下使用用以下命令来取消对于中继代理信息的检查:no ip dhcp relay information check

 

 

 

 

 

命令

 

说明

 

步骤一

 

configure terminal

 

进入全局配置模式

 

步骤二

 

ip dhcp relay information policy{drop|keep|replace}

 

配置转发策略。默认的操作是替换(覆盖)交换机上已经存在的中继信息。

 

使用drop这个关键字表示你要丢弃交换机上已经存在的中继信息

 

使用keep这个关键字如果表示你将保留交换机上已经存在的中继信息

 

步骤三

 

end

 

退回到特权模式

 

步骤四

 

show running-config

 

显示当前的配置

 

步骤五

 

copy running-config startup-config

 

保存当前配置

 

表三 转发策略的配置

 

 

 

如果恢复到默认的转发策略,在全局配置模式下使用这条命令:no ip dhcp relay information policy

 

 

 

(六)指定包转发的地址

 

 

 

一个DHCP中继代理可以是任意一台在不同物理子网间的DHCP服务器和客户端之间转发DHCP报文的设备。在IP数据包在网络中通过交换机进行透明传输时,DHCP中继代理进行的转发与一台进行正常的数据转发路由器是有明显的区别的。与之形成对比的是,中继代理接到到DHCP信息并且产生一个新的DHCP信息并将它向另外一个端口发送出去。

 

 

 

如果DHCP服务器和DHCP客户端位于不同的网络或子网内,你必须在交换机的端口配置模下下配置“ip helper-address address”。通常的作法是在三层交换机的最靠近客户端的那个端口上进行该命令的配置,即用“ip helper-address”从命令后面跟的IP地址来指定一台DHCP服务器的地址,如果其它的DHCP服务器是位于目标网络段中的话这个地址也可以是一个网络地址,使用网络地址的目的是使所有的DHCP服务器都可以响应请求。

 

 

 

以下操作是在特权模式下开始的,按照以下步骤就可以指定转发地址的操作。

 

 

 

命令

 

说明

 

步骤一

 

configure terminal

 

进入全局配置模式

 

步骤二

 

interface vlan vlan-id

 

进入端口配置模式并在交换机上创建一个虚拟的端口

 

步骤三

 

ip address ip-address subnet-mask

 

为这个端口配置IP地址和子网掩码

 

步骤四

 

ip helper-address address

 

指定DHCP包转发的地址。

 

这个帮助者地址可以是一台DHCP服务器的地址,如果其它的DHCP服务器是位于目标网络段中的话这个地址也可以是一个网络地址,使用网络地址的目的是使所有的DHCP服务器都可以响应请求。

 

如果你有多台DHCP服务器,你可以设置多个IP地址以指向相应的DHCP服务器。

 

步骤五

 

exit

 

退回到全局配置模式

 

步骤六

 

interface range port-range

 

or

 

interface interface-id

 

配置多个连接DHCP客户端的物理端口,并进入端口范围配置模式。或

 

配置连接DHCP客户端单个物理端口并进入端口配置模式

 

步骤七

 

switchport mode access

 

定义端口是处于VLAN组中

 

步骤八

 

switchport access vlan vlan-id

 

将端口定义到具体的VLAN

 

步骤九

 

end

 

退回到特权模式

 

步骤十

 

show running-config

 

显示当前的配置

 

步骤十一

 

copy running-config startup-config

 

保存当前配置

 

表四 指定转发地址

 

 

 

如果要移除DHCP包转发地址,在端口配置模式下使用这条命令:no ip helper-address

 

 

 

以下的例子显示了如何启用DHCP服务,中继代理,插入和移除中继代理信息(option 82)。它在交换机上创建了一个虚拟端口:VLAN 10,为该VLAN定义了一个IP地址,并且指定了DHCP包转发地址是30.0.0.2DHCP服务器的地址)。两个连接DHCP客户端的端口(千兆以太口0/10/2),配置这两个端口是属于VLAN10

 

Switch# configure terminal

 

Enter configuration commands, one per line.  End with CNTL/Z.

 

Switch(config)# service dhcp

 

Switch(config)# ip dhcp relay information option

 

Switch(config)# interface vlan 10

 

Switch(config-if)# ip address 10.0.0.1 255.0.0.0

 

Switch(config-if)# ip helper-address 30.0.0.2

 

Switch(config-if)# exit

 

Switch(config)# interface range gigabitethernet0/1 - 2

 

Switch(config-if)# switchport mode access

 

Switch(config-if)# switchport access vlan 10

 

Switch(config-if)# exit

 

(七)抑制DHCP的广播和实现端口至端口的隔离

 

 

 

如果一台DHCP服务器回复了一台DHCP客户端发出的请求,并通过广播的方式发送过来,交换机会广播这些回复到同属于这个VLAN的所有端口上。然而,在一个大型的网络环境中,你必须确保安全和足够的隔离度针对于不同的客户。

 

为了实现在客户端的端口间的足够的隔离度以保证一个客户端不会收到另外一个客户端的流量,你可以在端口配置模式下使用switchport protected命令来配置每一个端口以实现对于端口的保护。使用端口保护模式后可以在两个端口间不会产生单播、广播或者广播的传播

 

三、显示DHCP信息

 

 

 

要在所有的端口上显示插入和移除的DHCP中继信息option 82域,可以在特权模式下使用show running-config命令。
0
相关文章