多VLAN环境中DHCP服务的实现

在对网络进行升级改造时,必须考虑到各个方面,而如何在多VLAN环境中实现DHCP服务就是其中之一。

  原理

  使用DHCP方式获取IP地址需要利用广播数据包,按正常情况,DHCP服务只能在同一广播域内实现。而VLAN的建立就是为了隔离广播包,为什么在三层交换机上可以实现DHCP的跨网段呢?这需要我们将DHCP请求的广播数据包转化为单播请求,才会通过三层路由把请求转发到DHCP服务器所在的VLAN,进而实现DHCP的跨VLAN服务。

  实现方法

  为了实现跨VLAN的DHCP服务,需要从两方面入手,一方面要在交换机上指明DHCP服务器的IP地址,另一方面要在DHCP服务器上创建新的作用域。

  下面以Cisco的Catlyst 4506为例介绍具体的操作步骤:

  1.在交换机上配置DHCP服务器:

  ip dhcp-server 192.168.0.69

  2.在交换机中为每个VLAN设置同样的DHCP服务器的IP地址:

  interface Vlan11
  ip address 192.168.1.254 255.255.255.0
  ip helper-address 192.168.0.69 DHCP Server IP
  interface Vlan12
  ip address 192.168.2.254 255.255.255.0
  ip helper-address 192.168.0.69 DHCP Server IP

  3.在DHCP服务器上设置网络地址分别为192.168.1.0、192.168.2.0的作用域,并将这些作用域的“路由器”选项设置为对应VLAN的接口IP地址。

posted on 2006-02-11 11:10 青蛙學堂 阅读(2784) 评论(4)  编辑 收藏 引用 所属分类: 硬件百科

评论

# re: 多VLAN环境中DHCP服务的实现 2006-02-11 12:01 yide

如何在交换机上配置VLAN
--------------------------------------------------------------------------------

我们知道,传统的局域网Ethernet 使用具有冲突检测的载波监听多路访问( CSMA / CD )方法。在CSMA / CD 网络中,节点可以在它们有数据需要发送的任何时候使用网络。在节点传输数据之前,它进行"监听"以了解网络是否很繁忙。如果不是,则节点开始传送数据。如果网络正在使用,则节点等待。如果两个节点进行监听,没有听到任何东西,而开始同时使用线路,则会出现冲突。在发送数据时,它如果使用广播地址,那么在此网段上的所有PC都将收到数据包,这样一来如果该网段PC众多,很容易引起广播风暴。而冲突和广播风暴是影响网络性能的重要因素。为 解 决这一问题,引入了虚拟局域网(VLAN的概念。
  虚拟网络是在整个网络中通过网络交换设备建立的虚拟工作组。虚拟网在逻辑上等于OSI模型的第二层的广播域,与具体的物理网及地理位置无关。虚拟工作组可以包含不同位置的部门和工作组,不必在物理上重新配置任何端口,真正实现了网络用户与它们的物理位置无关。虚拟网技术把传统的广播域按需要分割成各个独立的子广播域,将广播限制在虚拟工作组中,由于广播域的缩小,网络中广播包消耗带宽所占的比例大大降低,网络的性能得到显著的提高。我们结合下面的图来看看讲下。图1所表示的是两层楼中的相同性质的部门划分到一个VLAN中,这样,会计的数据不会向市场的机器上广播,也不会和市场的机器发生数据冲突。所以VLAN有效的分割了冲突域和广播域。

  我们可以在交换机的某个端口上定义VLAN ,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。VLAN通过建立网络防火墙使不必要的数据流量减至最少,隔离各个VLAN间的传输和可能出现的问题,使网络吞吐量大大增加,减少了网络延迟。在虚拟网络环境中,可以通过划分不同的虚拟网络来控制处于同一物理网段中的用户之间的通信。这样一来有效的实现了数据的保密工作,而且配置起来并不麻烦,网络管理员可以逻辑上重新配置网络,迅速、简单、有效地平衡负载流量,轻松自如地增加、删除和修改用户,而不必从物理上调整网络配置。既然VLAN有那么多的优点,我们为什么不了解它从而把VLAN技术应用到我们的现实网络管理中去呢。好的让我们通过实际的在Catalyst 1900交换机上来配置静态VLAN的例子来看看如何在交换机上配置VLAN。



图1 在Catalyst 1900 上的两个VLAN

  设置好超级终端,连接上1900交换机后(可以参考《1900系列以太网交换机快速入门指南》或其他的CISCO参考资料),会出现如下的主配置界面:

-------------------------------------------------

1 user(s) now active on Management Console.

User Interface Menu

[M] Menus

[K] Command Line

[I] IP Configuration

Enter Selection:

  我们简单介绍下,这儿显示了三个选项,[M] Menus 是主菜单,主要是交换机的初始配置和监控交换机的运行状况。[K] Command Line 是命令行,很象路由器里面用命令来配置和监控路由器一样,主要是通过命令来操作。[I] IP Configuration 是配置IP地址、子网掩码和默认网管的一个选项。这是第一次连上交换机显示的界面,如果你已经配置好了IP Configuration,那么下次登陆的时候将没有这个选项。因为用命令配置简洁明了,清晰易懂,所以我们通过 [K] Command Line 来实现VLAN的配置的。

设置好超级终端,连接上1900交换机后(可以参考《1900系列以太网交换机快速入门指南》或其他的CISCO参考资料),会出现如下的主配置界面:

-------------------------------------------------

1 user(s) now active on Management Console.

User Interface Menu

[M] Menus

[K] Command Line

[I] IP Configuration

Enter Selection:

  我们简单介绍下,这儿显示了三个选项,[M] Menus 是主菜单,主要是交换机的初始配置和监控交换机的运行状况。[K] Command Line 是命令行,很象路由器里面用命令来配置和监控路由器一样,主要是通过命令来操作。[I] IP Configuration 是配置IP地址、子网掩码和默认网管的一个选项。这是第一次连上交换机显示的界面,如果你已经配置好了IP Configuration,那么下次登陆的时候将没有这个选项。因为用命令配置简洁明了,清晰易懂,所以我们通过 [K] Command Line 来实现VLAN的配置的。

我们选择 [K] Command Line ,进入命令行配置

Enter Selection:K 回车

CLI session with the switch is open.

To end the CLI session,enter [Exit ].

>

  现在我们进入到了交换机的普通用户模式, 就象路由器一样,这种模式只能查看现在的配置,不能更改配置,并且能够使用的命令很有限。我们输入enable,进入特权模式:

>enable

#config t

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

(config)#

为了安全和方便起见,我们给这个交换机起个名字,并且设置登陆密码。

(config)#hostname 1900Switch

1900Switch(config)# enable password level 15 goodwork

1900Switch(config)#

注意:密码必须是4-8位的字符。交换机密码的设置和路由器稍微不同,交换机用 level 级别的大小来决定密码的权限。Level 1 是进入命令行界面的密码,也就是说,设置了 level 1 的密码后,你下次连上交换机,并输入 K 后,就会让你输入密码,这个密码就是 level 1 设置 的密码。而 level 15 是你输入了enable命令后让你输入的特权模式密码。路由器里面是使用 enable password 和 enable screet做此区分的。

好拉,我们已经设置好了名字和密码这样就足够安全了,让我们设置VLAN。VLAN的设置分以下2步:

1. 设置VLAN名称

2. 应用到端口

   我们先设置VLAN的名称。使用 vlan vlan号 name vlan名称。 在特权配置模式下进行配置:

1900Switch (config)#vlan 2 name accounting

1900Switch (config)#vlan 3 name marketing

   我们新配置了2个VLAN,为什么VLAN号从2开始呢?这是因为默认情况下,所有的端口否放在VLAN 1上,所以要从2开始配置。1900系列的交换机最多可以配置1024个VLAN,但是,只能有64个同时工作,当然了,这是理论上的,我们应该根据自己网络的实际需要来规划VLAN的号码。配置好了VLAN名称后我们要进入每一个端口来设置VLAN。在交换机中,要进入某个端口比如说第4个端口,要用 interface Ethernet 0/4,好的,结合上面给出的图我们让端口2、3、4和5属于VLAN2 ,端口17---22属于VLAN3 。命令是 vlan-membership static/ dynamic VLAN号 。 静态的或者动态的两者必须选择一个,后面是刚才配置的VLAN号。好的,我们看结果:

1900Switch(config)#interface ethernet 0/2

1900Switch(config-if)#vlan-membership static 2

1900Switch(config-if)#int e0/3

1900Switch(config-if)#vlan-membership static 2

1900Switch(config-if)#int e0/4

1900Switch(config-if)#vlan-membership static 2

1900Switch(config-if)#int e0/5

1900Switch(config-if)#vlan-membership static 2

1900Switch(config-if)#int e0/17

1900Switch(config-if)#vlan-membership static 3

。。。。。。

1900Switch(config-if)#int e0/22

1900Switch(config-if)#vlan-membership static 3

1900Switch(config-if)#

   好的,我们已经把VLAN都定义到了交换机的端口上了。这儿,我们只是配置的静态的,关于动态的,我们在后面会有提及的。到现在为止,我们已经把交换机的VLAN配置好了,怎么样,没有你想象的那么复杂吧:)。为了验证我们的配置,我们在特权模式使用 show vlan命令。输出如下:

1900Switch(config)#show vlan

VLAN Name Status Ports

--------------------------------------

1 default Enabled 1,6-16,22-24,AUI,A,B

2 acconting Enabled 2-5

3 marketing Enabled 17-22

1002 fddi-default Suspended

1003 token-ring-defau Suspended

1004 fddinet-default Suspended

1005 trnet-default Suspended

  这是一个24口的交换机,并且带有AUI和两个100兆端口(A、B),可以看出来,我们的设置已经正常工作了,什么,还要不要保存running configure?当然不用了,交换机是即时自动保存的,所以不用我们使用命令来保存设置了。当然了,你也可以使用 show vlan vlan号 的命令来查看某个VLAN,比如show vlan 2 , show vlan 3. 还可以使用show vlan-membership ,改命令主要是显示交换机上的每一个端口静态或动态的属于哪个VLAN。

  以上是给交换机配置静态VLAN的过程,下面我们看看动态的VLAN。动态的V L A N 形成很简单,由端口自己决定它属于哪个V L A N 时,就形成了动态的V L A N 。不过,这并不意味着就一层不变了,它只是一个简单的映射,这个映射取决于网络管理员创建的数据库。分配给动态V L A N 的端口被激活后,交换机就缓存初始帧的源M A C 地址,随后,交换机便向一个称为VMPS (V L A N 管理策略服务器)的外部服务器发出请求,V M P S 中包含一个文本文件,文件中存有进行V L A N 映射的M A C 地址。交换机对这个文件进行下载,然后对文件中的M A C 地址进行校验。如果在文件列表中找到M A C 地址,交换机就将端口分配给列表中的V L A N 。如果列表中没有M A C 地址,交换机就将端口分配给默认的V L A N (假设已经定义默认了V L A N )。如果在列表中没有M A C 地址,而且也没有定义默认的V L A N ,端口不会被激活。这是维护网络安全一种非常好的的方法。从表面上看,动态V L A N 的优势很大,但它也有致命的缺点,即创建数据库是一项非常艰苦而且非常繁琐的工作。如果网络上有数千个工作站,则有大量的输入工作要做。即使有人能胜任这项工作,也还会出现与动态的V L A N 有关的很多问题。另外,保持数据库为最新也是要随时进行的非常费时的工作。所以不经常用到它,这里我们就不做详细的讲解,可以参考相关的CISCO的文档资料。

  这么样,没有你想象的那么复杂吧。我们已经把VLAN配置好了,那么VLAN的另一部分不容忽视的工作,就是前期的对网络的规划。就是说,哪些机器在一个VLAN中,各自的IP地址、子网掩码如何分配,以及VLAN之间互相通讯的问题。只有规划计划好了,才能够在配置和以后的使用维护过程中轻松省事。





  回复  更多评论   

# re: 多VLAN环境中DHCP服务的实现 2006-02-21 17:07 reg411

拜读了你的文章,受益匪浅!
还有一个问题向你请教:如何在多VLAN环境中实现Windows XP登录到Windows 2000 Server域呢?
例如:在VLAN 10里面放置一台Windows 2000 Server服务器,并建立一个域(AD),在其他VLAN里面的Windows XP客户端如何登陆到这台服务器呢?
我的EMail:reg411@163.com  回复  更多评论   

# re: 多VLAN环境中DHCP服务的实现 2006-02-22 16:26 yide

Sorry , 文章是我轉載的 .  回复  更多评论   

# re: 多VLAN环境中DHCP服务的实现 2006-08-03 23:32 David Lau

多谢斑竹,提醒我如何解决此类问题。  回复  更多评论   

只有注册用户登录后才能发表评论。
<2020年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(8)

随笔分类

随笔档案

收藏夹

青蛙学堂

最新评论

阅读排行榜

评论排行榜