我将新的VLAN添加到两个Cisco Catalyst交换机(3750)之间的现有中继端口。在添加新VLAN的过程中,似乎已经删除了中继上现有的允许VLAN ...这怎么可能?

现有中继端口配置:

SW-LAB-1#show run int g1/0/49
Building configuration...

Current configuration : 255 bytes
!
interface GigabitEthernet1/0/49
 description SW-LAB-2 G1/0/48
 switchport trunk encapsulation dot1q
 switchport trunk native vlan 10
 switchport trunk allowed vlan 10,20
 switchport mode trunk
 switchport nonegotiate
 ip dhcp snooping trust
end


我使用以下语法也允许VLAN 30:

SW-LAB-1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW-LAB-1(config)#interface g1/0/49
SW-LAB-1(config-if)#switchport trunk allow vlan 30


但是现在,我在g1 / 0 / 49缺少VLAN 10和20!

<SNIP>
switchport trunk allowed vlan 30
</SNIP>


我缺少什么?

评论

经典错误。我已经看到这种情况发生了很多次。在这里添加是您的救星:)

#1 楼

您需要使用以下命令将VLAN 30添加到Cisco Catalyst交换机上的现有Dot1Q中继:

switchport trunk allowed vlan add 30


否则,IOS会认为您正在尝试覆盖在现有配置下,您会意外删除允许的VLAN集。请参阅下面的完整语法。 (实际上与Cisco Nexus OS或IOS中的语法相同,仅供参考)。

命令,如下所示:

SW-FOO(config-if)#switchport trunk allowed vlan ?
  WORD    VLAN IDs of the allowed VLANs when this port is in trunking mode
  add     add VLANs to the current list
  all     all VLANs
  except  all VLANs except the following
  none    no VLANs
  remove  remove VLANs from the current list


此选项比较耗时,但也可以使用。

评论


思科可能通过使用“ vlans”(复数)表示允许的vlan的权威列表,而仅使用“ vlan”(单数)表示隐式添加操作,避免了对该命令的太多困惑。

–generalnetworkerror
13年5月28日在5:43



我建议在TACACS中删除这样的危险命令,即如果没有添加/删除/无操作,您将无法执行'switchport trunk allowed vlan X'。然后,新端口的工作流程为“ switchport trunk allow vlan none”,“ switchport trunk allow vlan add 42”。为我们节省了许多停机时间。 “ no router isis”也很危险(偶然在界面中输入它,忘记了“ IP”,然后从整个盒子中删除了ISIS))

–ytti
13年5月28日在6:59

作为预防措施,我们通常会执行以下命令:执行此类配置的工程师必须输入“重新加载5”命令,这样,如果他们确实犯了错误,则交换机将在几分钟后重新加载到其先前的配置。这也使我们着眼于针对更关键环境的自动化解决方案,以避免人们完全放弃使用CLI。

–杰里米·吉本斯(Jeremy Gibbons)
16年7月3日在6:43

#2 楼

要将VLAN添加到中继,必须使用以下语法:

switchport trunk allowed vlan add 30


要从中继中删除VLAN,您需要使用remove语法:

switchport trunk allowed vlan remove 30


当您不使用添加/删除时,是在告诉端口仅配置新VLAN。

这是一个常见错误。如果您的平台支持,则可以使用Cisco Embedded Event Manager禁止这种有害语法:

event manager applet forbid-vlan-trunk
 event cli pattern "switchport trunk allowed vlan\s+[0-9]" skip yes sync no
 action 1.0 syslog msg "switchport trunk allowed vlan MUST be configured via add/remove"


评论


或在EEM不可用时使用TACACS和配置命令授权。

– aakso
13年5月31日在9:53

便利。调整脚本以将输出也发送到控制台会更好

–柔和
13年5月31日在10:31

我不知道EEM可以将输出发送到控制台。你能给个例子吗?

–塞巴斯蒂安·维辛格
13年5月31日在10:36

#3 楼

就像之前的答案中所述,“添加/删除/无”是您(唯一)的朋友...

在TACACS中,如果没有添加/删除/无操作,您将无法执行“ switchport trunk allowed vlan X”。

为什么添加此答案,是因为Brett的第二条建议
您使用vlan 900进行管理(顺便说一句,很愚蠢的想法,您会明白为什么)

使用show run运行端口配置: >请注意,cisco正在使用两行以便于准备和复制/粘贴,第二行带有“添加” ...为什么不呢?

现在,假设我要添加vlan 30 ...

第一个解决方案:

switchport trunk allowed vlan add 30


太好了!它正在工作,让我们现在喝啤酒。

第二个解决方法: WTF !!!我无法粘贴命令的第二部分

switchport trunk allowed vlan 10,20,30


不幸的是,交换机上不再配置了vlan 900,该交换机由于用于管理而无法到达。 br />
所以:


总是使用添加/删除/无
使用小的Vlan ID进行管理(<10)


#4 楼

简短的答案:有两种指定VLAN的模式:一种显式设置(覆盖)列表(这是您使用的列表),另一种添加或删除指定的VLAN。每个厂商都这样做(<不同,所以轻踩一下。)

#5 楼

在不删除其他VLAN的情况下添加VLAN时,请使用以下命令

switchport trunk trunk vlan add 30

这将在不删除中继接口中现有vlan的情况下将Vlan 30添加到中继中。

干杯

评论


这如何为接受的答案添加任何内容?

–罗恩·莫潘♦
16年6月10日在23:23