Случайное удаление разрешенных VLAN из коммутатора Cisco Switch Dot1Q

Я добавляю новую 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>

Что мне не хватает?

24 голоса | спросил Brett Lykins 28 Mayam13 2013, 09:28:43

5 ответов


38

Для добавления вашей VLAN 30 в существующую соединительную линию Dot1Q на коммутаторе Cisco Catalyst вам необходимо использовать следующую команду:

switchport trunk allowed vlan add 30

В противном случае IOS просто думает, что вы пытаетесь перезаписать существующую конфигурацию, и у вас остался случайно удаленный набор разрешенных VLAN.

Аналогичным образом вы можете использовать «удалить» вместо «добавить», чтобы удалить только одну VLAN. См. Весь синтаксис ниже. (Это фактически тот же синтаксис в Cisco Nexus OS или IOS, FYI.)

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

Другой вариант - поместить все ваши разрешенные VLAN в команду, например:

switchport trunk allowed vlan 10,20,30

Эта опция более трудоемка, но также работает.

ответил Brett Lykins 28 Mayam13 2013, 09:29:36
7

Чтобы добавить VLAN в соединительную линию, вы должны использовать следующий синтаксис:

switchport trunk allowed vlan add 30

Чтобы удалить VLAN из соединительной линии, вам нужно использовать синтаксис remove:

switchport trunk allowed vlan remove 30

Если вы не используете add /remove, вы указываете порту только настроить новую 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"
ответил Sebastian 31 Maypm13 2013, 12:58:47
0

Короткий ответ: Существует два режима для указания vlans: один явно устанавливает (перезаписывает) список [это тот, который вы использовали], другой добавляет или удаляет указанные vlans.

(Каждый производитель делает это по-другому, поэтому слегка пройдите.)

ответил Ricky Beam 1 J0000006Europe/Moscow 2013, 04:05:54
0

Как указано в предыдущих ответах, «add /remove /none» является вашим (единственным) другом ...

switchport trunk allowed vlan add 30

Как упоминалось ytti, я рекомендую отбрасывать опасные команды, подобные этому в TACACS, которые вы не можете сделать «switchport trunk allowed vlan X» без добавления /удаления /none.

Почему я добавил этот ответ, потому что второе предложение Бретта

switchport trunk allowed vlan 10,20,30

- действительно плохая идея

Предположим, вы используете vlan 900 для управления (глупая идея, кстати, вы поймете, почему)

с запуском show:

interface Gi1/0/1
 ...
 switchport trunk allowed vlan 1,2,5,51,101,235,245,247
 switchport trunk allowed vlan add 507,539,900,1058,2677
 ...

обратите внимание, что cisco использует 2 строки для более легкой подготовки и копирования /вставки, с «добавлением» во вторую строку ... почему бы и нет?

Теперь, допустим, я хочу добавить vlan 30 ...

первое решение:

 switchport trunk allowed vlan add 30

Отлично! он работает, давайте теперь пиво.

Второе решение:

 switchport trunk allowed vlan 1,2,5,30,51,101,235,245,247

и ... гул .. эй? WTF !!! Я не могу вставить вторую часть моей команды

 switchport trunk allowed vlan add 507,539,900,1058,2677

К сожалению, vlan 900 больше не настроен на коммутаторе, этот коммутатор не доступен, поскольку он использовался для управления.

Итак:

  • использовать add /remove /none, always
  • используйте небольшой идентификатор Vlan для управления (<10)
ответил Golgot 2 AM000000120000005831 2018, 00:59:58
-3

При добавлении VLAN без удаления другой VLAN используйте эту команду

switchport trunk allowed vlan add 30

это добавит Vlan 30 к внешней линии без удаления существующих vlans в интерфейсе соединительной линии

Приветствия

ответил Gopi 11 J0000006Europe/Moscow 2016, 02:22:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132