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

24

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

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

Бретт Ликинс
источник
13
Классическая ошибка. Я видел это так много раз.
ДОБАВЬТЕ,

Ответы:

39

Чтобы добавить VLAN 30 в существующую магистраль Dot1Q на коммутаторе Cisco Catalyst, необходимо использовать следующую команду:

switchport trunk allowed vlan add 30

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

Вы также можете использовать «удалить» вместо «добавить», чтобы удалить только одну VLAN. Смотрите весь синтаксис ниже. (Это фактически тот же синтаксис в ОС Cisco Nexus или 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

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

switchport trunk allowed vlan 10,20,30

Этот вариант занимает больше времени, но также работает.

Бретт Ликинс
источник
1
Cisco могла бы избежать путаницы с этой командой, используя «vlans» (множественное число), чтобы указать окончательный список разрешенных vlans, и просто «vlan» (единственное), чтобы указать на подразумеваемую операцию добавления .
generalnetworkerror
12
Я рекомендую отбрасывать опасные команды, подобные этой, в TACACS, чтобы вы не могли сделать «switchport trunk позволил vlan X» без добавления / удаления / нет. Тогда рабочий процесс для нового порта - это «switchport trunk позволил vlan none», «switchport trunk позволил vlan add 42». Спасло нас кучу простоев. «no router isis» также опасен (случайно введите его в интерфейс, забыв «IP», и вы удалите ISIS из целого ящика »)
ytti
В качестве меры предосторожности мы обычно делаем так, чтобы инженеры, выполняющие настройку такого типа, вводили команду «reload 5», так что, если они допустят ошибку, коммутатор перезагрузится к своей предыдущей конфигурации через несколько минут. Это также заставляет нас взглянуть на решения по автоматизации для наших более критических сред, чтобы люди вообще не взламывали CLI.
Джереми Гиббонс
9

Чтобы добавить 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"
Себастьян Визингер
источник
1
Или используйте TACACS и авторизацию команды конфигурации, когда EEM недоступен.
Ааксо
1
Handy. Было бы лучше настроить скрипт так, чтобы он также отправлял вывод на консоль
mellowd
1
Я не знаю, что EEM может отправить вывод на консоль. Можете привести пример?
Себастьян Визингер
0

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

(Каждый продавец делает это по-своему, поэтому действуйте осторожно.)

Рики Бим
источник
0

Как указано в предыдущих ответах, «добавить / удалить / нет» ваш (единственный) друг ...

switchport trunk allowed vlan add 30

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

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

switchport trunk allowed vlan 10,20,30

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

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

конфигурация порта с показом запуска:

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 строки для упрощения подготовки и копирования / вставки, с надписью "add" во второй строке ... почему нет?

Теперь, допустим, я хочу добавить 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 больше не настроен на коммутаторе, коммутатор недоступен, так как он использовался для управления.

Так :

  • используйте добавить / удалить / нет, всегда
  • используйте небольшой Vlan ID для управления (<10)
Golgot
источник
-3

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

ствол switchport позволил vlan добавить 30

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

ура

Гопи
источник
Как это добавляет что-либо к принятому ответу?
Рон Мопин