VTP中VLAN配置信息不同步故障排除

VTP(VLANTrunk Protocol,VLANTrunk协议)是Cisco专用的一种用于维护和管理动态VLAN(如基于MAC地址、IP地址、网络协议、VLAN管理策略等划分方式的VLAN)的二层消息的协议。它可以用来在Trunk链路上自动传播、交换VLAN配置信息,使得同一个VTP域中的交换机VLAN配置保持一致。

使用VTP的好处是可以只需在一台交换机上配置好所需的VLAN后,在同一VTP域中的交换机自动创建相同ID、名称和配置的VLAN,大大减轻了管理员重复创建、配置VLAN的工作量,还可以减少多重配置和可能会引起各种问题的配置冲突,如重复的VLAN名、不正确的VLAN类型说明和安全配置。

VTP使用了域的概念,即VTP域,包括了网络中共享相同VTP域参数(如VTP域名、VLAN配置等)的一组交换机。在网络中可以创建多个VTP域,但一台交换机仅可以在一个VTP域中。

1.  VLAN配置信息不同步的常见原因

  • 对应VTP域中没有VTP服务器,或者没在VTP服务器上手动创建VTP客户端所需同步的VLAN

一个VTP域中至少有一台VTP服务器,默认情况下,所有交换机都为VTP服务器模式。

  • VTP客户端的配置修订号大于VTP服务器上的配置修订号,没真正加入VTP域名
  • 所需同步的VLAN ID号超出了所采用VTP版本支持的范围

VTP 1和VTP 2仅可通告VLAN ID在1~1005范围内的基本VLAN,VTP 3才支持1006~4094范围的扩展VLAN配置信息通知

  • VTP通告传输路径中断

从VTP服务器到达VTP客户端的路径中存在不能转发VTP通告的交换机,即它们的VTP为off模式,此时这些交换机不会转发VLAN配置信息。或者路径中有些接口不允许对应VLAN通过。

  • VTP客户端配置的VTP域名、密码不与VTP服务器一致,或者VTP模式配置不正确

如要同步VLAN信息的交换机配置成了不能同步VLAN配置信息的透明模式或者Off模式。

  • VTP域中各交换机的VTP版本配置彼此不兼容

仅支持VTP 1版本的交换机不能与运行VTP 2、VTP 3版本的交换机交互,建议都配置成相同的VTP版本。

  • VTP修剪功能阻止了

当启用了VTP修剪功能,则对应Trunk接口下面没有连接加入对应VLAN的设备时,会不发送对应VLAN配置信息。

2.  VLAN配置信息不同步故障排除

如下图所示,Switch 1配置工作在VTP服务器模式,其它交换机均配置工作在VTP客户端模式。

不能进行VTP同步VLAN配置信息的故障排除示例

现在Switch 1上手动创建了VLAN 10、VLAN 20和VLAN 30,现在发现Switch 6上不能通过VTP自动创建VLAN 10、VLAN 20和VLAN 30。

VTP客户端不能同步VLAN配置信息可能的原因在上面已有分析,当然本示例中要同步的VLAN ID(10、20、30)是基本范围VLAN,所有VTP版本均支持通告的,所以下面仅就其它几个方面的故障原因逐一排查(各show命令均在特权模式下执行,执行到相应步骤排除了故障时即停止检查)

Step 1 通过在各交换机上执行show vtp status命令确认网络中至少配置了一台VTP服务器交换机,且至少要有一台VTP服务器交换机上手动创建了VTP客户端交换机要同步的VLAN,可通过在这台交换机上执行showvlan命令验证。

Switch1#showvtp status

VTP Version : 2

Configuration Revision : 1

Maximum VLANs supported locally : 1005

Number of existing VLANs : 6

VTP Operating Mode : Server

VTP Domain Name : test

VTP Pruning Mode : Disabled

VTP V2 Mode : Enabled

VTP Traps Generation : Disabled

MD5 digest : 0xDD 0x52 0x89 0xF5 0x75 0xB8 0xDA 0xFA

Configuration last modified by 0.0.0.0 at 3-1-9300:59:01

Local updater ID is 0.0.0.0 (novalid interface found)

Switch1#showvlan

VLAN Name Status Ports

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

1 default active Fa0/4, Fa0/5, Fa0/6, Fa0/7

Fa0/8, Fa0/9, Fa0/10, Fa0/11

Fa0/12, Fa0/13, Fa0/14, Fa0/15

Fa0/16, Fa0/17, Fa0/18, Fa0/19

Fa0/20, Fa0/21, Fa0/22, Fa0/23

Fa0/24, Gig0/1, Gig0/2

10 VLAN0010 active

20 VLAN0020 active

30 VLAN0030 active

1002 fddi-default act/unsup

1003 token-ring-default act/unsup

1004 fddinet-default act/unsup

1005 trnet-default act/unsup

本示例中是Switch 1交换机配置为VTP服务器交换机,并且手动创建了VLAN 10、VLAN 20和VLAN 30这三个VLAN。如果没有,则在VTP服务器是创建。

Step 2 分别在不能同步VLAN配置信息的VTP客户端和VTP服务器交换机上通过showvtp status命令查看相关的VTP配置信息。

本步首先查看它们的配置修订号,验证不能同步VLAN配置信息的Switch 6 VTP客户端的配置修订号是否低于VTP服务器上配置修订号,最好使VTP客户端的配置修订号为0,并且确认其配置的VTP域名与VTP服务器交换机上配置的VTP域名一致,以确保客户端交换机能成功加入到VTP服务器上所创建的VTP域。

Switch6#showvtp status

VTP Version : 2

Configuration Revision : 0

Maximum VLANs supported locally : 255

Number of existing VLANs : 5

VTP Operating Mode : Client

VTP Domain Name :

VTP Pruning Mode : Disabled

VTP V2 Mode : Disabled

VTP Traps Generation : Disabled

MD5 digest : 0x7D 0x5A 0xA6 0x0E 0x9A 0x72 0xA0 0x3A

Configuration last modified by 0.0.0.0 at 0-0-0000:00:00

Local updater ID is 0.0.0.0 (novalid interface found)

如果VTP客户端交换机上的配置修订号不小于VTP服务器交换机上的修订号,则在VTP客户端交换机上执行以下命令操作:

(1)configureterminal

(2)vtp domain XXX

此处的XXX为任意与原VTP域名不一样的域名,相当于修改本交换机的VTP域名。因为一台交换机上只能有一个VTP域,所以新配置的VTP域名将直接替换原域名。其目的是使其配置修订号恢复为默认的0。

(3)end   #---直接返回到特权模式

(4)show vtp status

查看此时的配置修订号是否已恢复为0。

(5)vtp domain xxxx

此处的xxxx为原来客户端交换机所创建的VTP域名,即与VTP服务器交换机上配置的VTP域名一致。

(6)end

(7)show vtp status

确认重新加入VTP域后的配置修订号已恢复为0,此时客户端可成功加入VTP服务器交换机所配置的VTP域了。

Step 3 通过show vtp status和show running-config interface 命令验证途经交换机均有能力转发VLAN配置信息数据包。

这里包括三层含义:一是,途经交换机均不能配置VTP off模式,其它三种模式均有能力转发VLAN配置信息;二是,如果对应VTP服务器交换机是VTP 3版本,则不能在到达VTP客户端交换机路径上的Trunk接口上禁用VTP,三是从VTP服务器到达不能同步VLAN配置信息的Switch 6 VTP客户端的路径上必须存在Trunk接口(只有Trunk接口才能传播VLAN配置信息),且要允许所要同步的VLAN通过。

Step 4 在不能同步配置信息的Switch 6交换机上通过showvtp status命令查看其VTP配置是否正确,VTP版本号与VTP服务器的VTP版本号是否兼容。

这里包括Switch 6的VTP模式,VTP域名、密码(必须与VTP服务器一致)等。只有Server(服务器)和Client(客户端)两种模式可以同步其它VTP服务器发来的VLAN配置信息,Transparent(透明)和off(关闭)模式是不能同步VTP服务器的VLAN配置信息的。

在版本号兼容方面,仅支持VTP 1版本的交换机不能与支持VTP2和VTP 3版本的交换机交互信息,但支持VTP 2和VTP 3的交换机配置为VTP 1版本时可以与VTP 2和VTP 3版本的交换机交互信息。尽可能不要配置为VTP 1版本,否则建议VTP域中所有交换机都配置VTP 1版本。

Switch6#showvtp status

VTP Version : 2

Configuration Revision : 0

Maximum VLANs supported locally : 255

Number of existing VLANs : 5

VTP Operating Mode : Client

VTP Domain Name : test

VTP Pruning Mode : Disabled

VTP V2 Mode : Disabled

VTP Traps Generation : Disabled

MD5 digest : 0x75 0x4A 0x67 0x29 0x54 0x7D 0x93 0xC4

Configuration last modified by0.0.0.0 at 0-0-00 00:00:00

Step 5,在从VTP服务器到达不能同步VLAN配置信息的路径中有设备上使用show vtp status命令查看是否有设备启用了VTP修剪功能,使用showinterface trunk命令查看各Trunk上的VLAN修剪配置,看是否把要同步的VLAN修剪掉了。

Switch2#showvtp status

VTP Version : 2

Configuration Revision : 7

Maximum VLANs supported locally : 1005

Number of existing VLANs : 8

VTP Operating Mode : Client

VTP Domain Name : test

VTP Pruning Mode : Disabled

VTP V2 Mode : Disabled

VTP Traps Generation : Disabled

MD5 digest : 0xC7 0x2C 0x77 0x78 0x85 0x3B 0x00 0xF5

Configuration last modified by 0.0.0.0 at 3-1-9300:01:41

Switch2#show interface trunk

Port Mode Encapsulation Status Native vlan

Fa0/1 on 802.1q trunking 1

Fa0/2 on 802.1q trunking 1

Fa0/3 on 802.1q trunking 1

Port Vlans allowed on trunk

Fa0/1 1-1005

Fa0/2 1-1005

Fa0/3 1-1005

Port Vlans allowed and active in management domain

Fa0/1 1,10,20,30

Fa0/2 1,10,20,30

Fa0/3 1,10,20,30

Port Vlans in spanning tree forwarding state and not pruned

Fa0/1 1,10,20,30

Fa0/2 1,10,20,30

Fa0/3 1,10,20,30

如果是因为VTP修剪功能,或者Trunk接口的VLAN配置影响了VLAN配置信息的传输,则在对应设备取消VTP修剪功能,在对应Trunk接口上取消对应VLAN功能的修剪配置。

通过以上各步检查,就可以找到故障原因,并加以排除,结果在Switch 6 VTP客户端上通过show vlan命令查看到也能同步Switch 1 VTP服务器上所创建的三个VLAN配置信息了。

Switch6#showvlan

VLAN Name Status Ports

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

1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5

Fa0/6, Fa0/7, Fa0/8, Fa0/9

Fa0/10, Fa0/11, Fa0/12, Fa0/13

Fa0/14, Fa0/15, Fa0/16, Fa0/17

Fa0/18, Fa0/19, Fa0/20, Fa0/21

Fa0/22, Fa0/23, Fa0/24, Gig0/1

Gig0/2

10 VLAN0010 active

20 VLAN0020 active

30 VLAN0030 active

1002 fddi-default act/unsup

1003 token-ring-default act/unsup

1004 fddinet-default act/unsup

1005 trnet-default act/unsup

本人已在CSD学院上开通视频课程,全面包括华为、Cisco和H3C课程,详情点击:http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=74

时间: 2024-10-11 17:46:01

VTP中VLAN配置信息不同步故障排除的相关文章

交换技术之 交换机间同步Vlan配置信息 VTP

交换技术之 交换机间同步Vlan配置信息 VTP 1.目的: 解决多个交换机之间Vlan配置信息的同步(不包括哪些接口属于哪个vlan ,这个猜需要到具体的交换机上对端口进行配置) 2.原理: 配置一个管理端 Server(所有的vlan配置都在这台交换机,配置信息会自动同步到客户端) 配置一个或多个客户端 Client(不允许创建Vlan的一些信息,只能通过同步服务器端的配置) 3.拓扑图: 4.配置命令: VTP-SERVER(config)#vtp domain frogtwo VTP-S

JavaWEB中读取配置信息

第一种方法是使用java.io和java.util包,缺点是路径的概念要清晰, 例子: Properties prop = new Properties(); InputStream in = getClass().getResourceAsStream("/common.properties"); try { prop.load(in); pool = new JedisPool(config, prop.getProperty("pay.redis.url"))

使用Spring读取xml文件中的配置信息

一般写程序时我们都会将一些配置信息写到配置文件中,以便在不修改源码的情况下对程序的某些点进行更改.这里介绍一种Spring读取xml配置文件的方式,其基本思路如下:定义一个java类,其中定义一些静态变量对应我们的配置信息,然后采用注入的方式将变量值初始化为配置值.示例代码如下: 新建一个java类: package java; public class Config { //要配置的值 public static int value = 0; //这里不能写成静态的 public void s

springboot获取application.yml中的配置信息

HelloController.java package com.springbootweb.demo.controller; import com.springbootweb.demo.entity.MyConfigProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import

类库从自带的配置文件中获取信息(DLL文件 获取 DLL文件自带的配置信息) z

http://blog.csdn.net/shuaishifu/article/details/19602059 类库调用自身所带的配置文件中的配置信息,而不是读取应用程序所带的配置信息.代码如下: private Configuration GetConfig() { //获取调用当前正在执行的方法的方法的 Assembly Assembly assembly = Assembly.GetCallingAssembly(); string path = string.Format("{0}.c

实验:华为MUX VLAN配置与管理

以下实验摘自笔者为<华为交换机学习指南>设计的一个实验型视频教学课程,点击这里查看详情:http://edu.51cto.com/course/course_id-2091.html 华为的MUX VLAN功能既可以实现位于同一IP网段的不同VLAN间(所有从VLAN与主VLAN间)用户的二层互通,又可实现不同从VLAN间的二层隔离,以及同一交换机上同一VLAN内部用户之间的二层隔离,不同交换机上同一VLAN中的用户不隔离.通过这一技术可以实现在多VLAN用户服务器共享的同时,隔离相同VLAN

项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置

想要通过配置文件配置C#前台画面,好奇做了以下测试:在项目中新建了app.config与app1.config两个配置文件,请教一下各位高手如果想从app1.config中读取配置信息应该如何读取?采用ConfigurationManager.AppSettings 属性似乎只能读取到app.config的配置信息. ExeConfigurationFileMap map = new ExeConfigurationFileMap(); map.ExeConfigFilename = @"D:\

JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用

[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140877.html 联系方式:[email protected] [正文] 一.ServletConfig:代表当前Servlet在web.xml中的配置信息(用的不多) String getServletName()  -- 获取当前Servlet在web.xml中配置的名字 String getInitParameter(String name) -- 获取当前S

JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用(转)

JavaWeb学习之Servlet(四)----ServletConfig获取配置信息.ServletContext的应用 [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140877.html [正文] 一.ServletConfig:代表当前Servlet在web.xml中的配置信息(用的不多) String getServletName()  -- 获取当前Servlet在web.xml中配置的名字 String