воскресенье, 15 декабря 2013 г.

Восстановление IOS на Catalyst 2960


Возникла необходимость восстановить IOS на Cisco Catalyst 2960. Кто то из ccna-щиков так хорошо подчистил после лабы флеш, что затер с него и IOS. Каталист грузился только в режиме роммон, и моргает лампочка "syst". Как оказалось подгрузить IOS по tftp как это делается в роутерах данный каталист не может. По этому пришлось заливать по консольному кабелю.
Порядок действий:
  • Заранее находим IOS (копирнул с другого каталиста).
  • Подключаемся через консольный кабель.
  • Запускаем HyperTerminal (kitty не умеет в нужном формате передавать файлы).
  • Появляется надпись: switch:
  • Дальше надо изменить скорость порта, со стандартной 9600 на что то побольше, иначе очень при очень долго будет передаваться, для этого пишем:
    switch: set BAUD 115200
  • После смены скорости придетс переподключить HyperTerminal с новой скоростью, иначе нормально работать с консолью будет невозможно.
  • Теперь на каталисте включаем копирование файла с xmodem:
    switch: copy xmodem: flash:
  • В меню HyperTerminal выбираем передачу файла (через xmodem) и указываем на файлик.
  • Ждем пока закачается IOS (мин 20ть). Затем меняем скорость консоли на обычную 9600.
  • Перезапускаем каталист.

Как правильно обновить IOS в формате tar на коммутаторах Cisco Catalyst


Итак, у вас есть файл с расширением tar, содержащий свежий IOS, который вы хотите использовать в своих коммутаторах. Процедура обновления не представляет никакой сложности, но хочется сразу предупредить о том, что восстановление коммутатора без рабочего IOS, при отсутствии надлежащего опыта, представляет собой более сложный и запутанный процесс, чем само обновление. Поэтому, нижеследующие действия производите на свой страх и риск.
Чтобы передать файл с IOS на коммутатор, вам понадобиться рабочий tftp-сервер, однако его настройка выходит за рамки данной статьи. Разместите tar-файл в рабочем каталоге сервера, после чего убедитесь, что файл имеет верную контрольную md5 сумму. Многие системные администраторы игнорируют сверку контрольных сумм по совершенно непонятным причинам. Эта процедура отнимает совсем немного времени, зато позволяет избежать больших проблем в будущем. И это время совершенно не сравнимо со временем восстановления коммутатора после заливки туда битого IOS-а.
Зайдите на коммутатор и выполните команду dir flash:, чтобы убедиться, что у вас имеется достаточно места на флеш-карте.
cisco #dir flash:
Directory of flash:/
    2  -rwx        9392   Dec 8 2010 21:22:46 +02:00  private-config.text
  547  -rwx        3096   Mar 1 1993 02:00:39 +02:00  multiple-fs
    4  -rwx        9148   Dec 8 2010 21:22:46 +02:00  config.text
    5  drwx         512   Mar 1 1993 02:09:03 +02:00  c2960-lanlitek9-mz.122-44.SE6
27998208 bytes total (18006528 bytes free)
Возможно, вам понадобиться удалить старый IOS, чтобы освободить место для нового. Сделать это можно так:
cisco#delete /force /recursive flash:c2960-lanlitek9-mz.122-44.SE6
Далее произведите загрузку и распаковку нового IOS-са на коммутатор:
cisco #archive tar /xtract tftp://c2960-lanlitek9-tar.122-52.SE.tar flash:
Loading c2960-lanlitek9-tar.122-52.SE.tar from 10.10.10.10 (via Vlan1): !
c2960-lanlitek9-mz.122-52.SE/ (directory)
c2960-lanlitek9-mz.122-52.SE/html/ (directory)
extracting c2960-lanlitek9-mz.122-52.SE/html/stylesheet.css (22059 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/ajax.js (28348 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/title.js (577 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/sorttable.js (48234 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/toolbar.js (6383 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/ip.js (3500 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/appsui.js (1749 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/helpframework.js (865 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/layers.js (1616 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/sitewide.js (12467 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/graph.js (39650 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/framework.js (24955 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/combo.js (9353 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/forms.js (13756 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/converter.js (4829 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/fpv.js (41015 bytes)!
extracting c2960-lanlitek9-mz.122-52.SE/html/more.txt (62 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/graph_dash.js (18865 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/telnet.shtml (6642 bytes)
extracting c2960-lanlitek9-mz.122-52.SE/html/bottombanner.htm (4108 bytes)
…
extracting c2960-lanlitek9-mz.122-52.SE/c2960-lanlitek9-mz.122-52.SE.bin (7731596 bytes)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
extracting c2960-lanlitek9-mz.122-52.SE/info (423 bytes)
extracting info (106 bytes)
[OK - 11448320 bytes]
cisco#
Теперь необходимо произвести проверку загруженного образа, чтобы убедиться в его корректности:
cisco#verify /md5 flash:c2960-lanlitek9-mz.122-52.SE/c2960-lanlitek9-mz.122-52.SE.bin
.............................Done!
verify /md5 (flash:c2960-lanlitek9-mz.122-52.SE/c2960-lanlitek9-mz.122-52.SE.bin) = 4568ddfab7a957c62821e0011b3b4ed0
cisco#
Остался последний шаг: перезагрузить коммутатор и убедиться что все работает:
cisco#reload
Proceed with reload? [confirm]
Как вы видите, процедура обновления IOS довольно проста и незатейлива. Однако, хотелось бы ещё раз подчеркнуть, что она небезопасна, особенно, если вы удаляете старый IOS перед заливкой нового. Если вы работаете с удаленным коммутатором, то вы должны быть железно уверены, что канал связи будет работать стабильно на протяжении всей процедуры обновления. В противном случае вас ждет поездка и обучение восстановлению коммутаторов в полевых условиях.

среда, 11 декабря 2013 г.

Включение звуковой карты на VMware

Оригинал статьи: http://virtualization.blognotions.com/2011/07/27/virtual-hd-audio-hardware-in-vsphere-5/

Останавливаем машину, удалем ее из inventory, и  в файле *vmx, после floppy, добавить следующие строчки:
sound.present = “true”
sound.allowGuestConnectionControl = “false”
sound.virtualDev = “hdaudio”
sound.fileName = “-1″
sound.autodetect = “true”


Далее добавляем машину обратно, и проверяем.

понедельник, 9 декабря 2013 г.

VLAN'ов (номера, типы, и т.п.)

ВЗЯТО С: http://mcp1971.livejournal.com/1851.html

Диапазоны номеров VLANов
Все VLANы доступа можно разбить на два диапазона:
Обычный диапазон VLANов
- используется в малых и средних сетях
- имеют номера от 1 до 1005
- номера с 1002 до 1005 зарезервированы для Token Ring and FDDI VLANов
- номера 1, 1002 и 1005 создаются автоматически и не могут быть удалены
- все данные о VLANах хранятся в файле vlan.dat, который располагается на флеш памяти (flash:vlan.dat)
- протокол VTP может изучать VLANы только обычного диапазрна и сохранять сведения о них в vlan.dat
Расширенный диапазон VLANов
- используются провайдерами или на очень больших сетях для расширения инфраструктуры VLANов
- имеют номера от 1006 до 4094
- поддерживают меньше возможностей, чем VLANы обычного диапазона
- все данные о VLANах хранятся в рабочей конфигурации
- нет поддержки VTP
Коммутатор Cisco Catalyst 2960 поддерживает до 255 VLANов обычного и расширенного диапазонов

Типы VLANов
Все VLANы можно отнести к конкретному типу:
1. Data VLAN (VLAN данных) - VLAN, в котором проходят данные, генерируемые пользователями. Но это не могут быть голосовые данные или управляющий трафик для коммутаторов.
2. Default VLAN (VLAN по умолчанию) - VLAN, в котором находятся все порты коммутатора перед началом конфигурирования. VLAN по умолчанию для коммутаторов Cisco - VLAN1. По умолчанию управляющий трафик 2-го уровня, такой как CDP и STP, ассоциируется с VLAN1.
3. Native VLAN (родной VLAN) - VLAN, через который на порту, сконфигурированном как транковый порт (802.1Q), и пропускающем с помощью 802.1Q тегированные фреймы, сможет подключиться рабочая станция и передавать нетегированные фреймы. Это реализовано для того, чтобы к транковому порту можно было подключить компьютер, который не может тегировать фреймы. Рекомендуется использовать родным VLANом VLAN, отличный от VLAN1.
4. Management VLAN (управляющий VLAN) - VLAN, через который происводится конфигурирование. Для этого VLANу надо назначить IP адрес и маску подсети.
5. Voice VLAN (голосовой VLAN) - VLAN, предназначенный для передачи голоса. Такой VLAN должен обеспечивать:
- гарантированную полосу пропускания для обеспечения качества передачи голоса
приоритет голосового трафика по сравнению с другими типами трафика
- возможность направлять трафик в обход загруженных районов в сети
- иметь задержку менее 150 миллисекунд в сети

Бывает, что компьютер подключается к коммутатору через IP телефон. Получается, что надо разграничить на порту голосовой трафик и трафик данных. Для этого телефон представляет собой трехпортовый коммутатор. Один порт подключен к коммутатору. Второй - внутренний порт для передачи голосового трафика. Третий порт - порт, к которому подключен компьютер. Трафик с внутреннего порта телефона тегируется номером голосового VLAN. Трафик с компьютера не тегируется. Поэтому коммутатор может определить трафик, которому надо предоставить приоритет. Точно также происходит разделение входящего трафика - тегированный номером голосового VLAN - на телефон, не тегированный - на компьютер. Соответственно на порту коммутатора настраивается и голосовой VLAN, и VLAN доступа.

Режимы работы портов коммутатора в VLANах
Каждый порт коммутатора может быть настроен для работы конкретного типа VLANа различными методами:
Статический VLAN - каждому порту вручную указывается VLAN, к которому он принадледит.
Динамический VLAN - каждому порту указывается VLAN, к которому он принадледит, с помощью Сервера политики членства в VLAN (VMPS - VLAN Membership Policy Server). С VMPS можно назначить VLAN портам коммутатора динамически, на основе МАС-адреса устройства, подключенного к порту.Это полезно, когда вы перемещаете устройство с порта одного коммутатор в сети к порту другого коммутатора в сети, коммутатор динамически назначает VLAN для этого устройства на новом порту.
Голосовой VLAN - порт настраивается и для передачи тегированного голосового трафика, и для передачи нетегированного трафика данных. Для настройки голосовой VLAN используются команды:
S1(config)#interface fastethernet 0/18
S1(config-if)#mls qos trust cos - определяем голосовй трафик, как приоритетный
S1(config-if)#switchport voice vlan 150 - определяем голосовой VLAN
S1(config-if)#switchport mode access - определяем, что этот порт для данных (порт доступа - нетегированный трафик)
S1(config-if)#switchport access vlan 20 - определяем VLAN для данных

Транки VLANов
Транк - это соединение типа точка-точка между сетевыми устройствами, которые передают данные более чем одного VLANа. Если бы не было транков, для каждого VLANа при соединении коммутаторов необходимо было бы выделять отдельный порт. При транке все VLANы проходят через один порт.
Для того, чтобы транковый порт знал, к какому VLANу принадлежит фрейм, передаваемый через порт, в заголовок фрейма вводится тег 802.1Q, в котором указывается номер VLANа, также приоритет передаваемого кадра.
Если на порт поступает нетегированный фрейм, коммутатор автоматически отправляет его в родной VLAN. По умолчанию родным VLANом является VLAN1. Но его можно изменить командой:
S1(config-if)#switchport mode trunk
S1(config-if)#switchport trunk native vlan vlan-id

Для проверки, на какой родной VLAN передается нетегированный фрейм, используется команда:
S1#show interfaces interface-id switchport

DTP
DTP - это проприеритарный протокол коспании Cisco, который позволяет автоматически настраивать транкинговые режимы работы портов коммутатора. Бывает три режима работы:
On (по умолчанию) - коммутатор периодически отправляет на удаленный порт DTP-фрейм, которым извещает, что он работает как транковый порт. Включается командой S1(config-if)#switchport mode trunk. Если удаленный порт работает как access-порт, локальный порт не рекомендуется использовать с этим режимом DTP.
Dynamic auto - коммутатор периодически отправляет на удаленный порт DTP-фрейм, которым извещает, что он готов работать как транковый порт, но не требует работать в транковом режиме. Порт включает транковый режим, если удаленный порт уже работает, как транковый или у него настроен режими Dynamic desirable, порты согласовуют работу в транковом режиме. Если удаленный порт настроен тоже как  Dynamic auto, согласование не проводится - порты работают как порты доступа. Если удаленный порт - access, локальный тоже access. Включается командой S1(config-if)#switchport mode dynamic auto.
Dynamic desirable - коммутатор периодически отправляет на удаленный порт DTP-фрейм, которым извещает, что он готов работать как транковый порт и просит работать в транковом режиме. Если удаленный порт работает в режиме Dynamic auto или Dynamic desirable, порты переходят работать в транковый режим. Если удаленный порт не поддерживает согласование, локальный порт работает в нетранковом режиме.
Отключить согласование режимов работы можно командой S1(config-if)#switchport nonegotiate.

Команды для настройка VLANов
1. S1(config)#vlan vlan id - добавление VLAN.
2. S1(config-vlan)#name vlan name - присвоение имени VLANу.
3. S1#show vlan brief - проверка наличия VLANа в база данных, access-портов, принадлежащих VLANу
4. S1(config-if)#switchport mode access - перевод порта в режим работы access-порта.
    S1(config-if)#switchport access vlan vlan id - назначение номера VLANа порту.
5. S1#show interfaces [interface-id  | vlan vlan-id] | switchport - проверка режима работы конкретного интерфейса
6. S1(config-if)#no switchport access vlan - исключение порта из VLANа с настроенным номером и перевод его в
VLAN по умолчанию
7. S1(config)#no vlan vlan id - удаление VLANа из базы данных. Перед этим обязательно надо удалить все порты из этого VLANа, иначе они будут недоступны.
8. S1#delete flash:vlan.dat - удаление всей базы VLANов. Останутся только VLANы по умолчанию.
9. S1(config-if)#switchport mode trunk - принудительный перевод режима работы порта в транковый.
10. S1(config-if)#switchport trunk native vlan vlan id - изменение родного VLANа для транкового порта.
11. S1(config-if)#switchport trunk allowed vlan id - назначение VLANов, которые могут проходить через порт. Без применения этой команды все VLANы могут проходить через порт.
12. S1(config-if)#no switchport trunk allowed vlan - сброс всех разрешенных VLANов на транковом порту.
13. S1(config-if)#no switchport trunk native vlan - возвращение VLAN1 как родного VLANа на транковом порту.

суббота, 7 декабря 2013 г.

Раздача IP адресов на Cisco Catalyst WS3550-24, на основе option 82

Имеем Cisco IOS Software, C3550 Software (C3550-IPSERVICESK9-M), Version 12.2(55)SE4.

1. В режиме глобальной конфигурации указываем необходимость добавления опций в dhcp-relay сообщение:  
ip dhcp relay information option



2. В режиме глобальной конфигурации активировать DHCP-snooping для всех наших vlan-ов:
    ip dhcp snooping vlan 1,10,20-24
    ip dhcp snooping

3. Для каждого пользователя необходимо создать запись ip dhcp class
    ip dhcp class GluvBuh
    remark C3550 port 4
    relay agent information
     relay-information hex 0106000400150003020800060011921b3a00
В классе достаточно указать только relay-information, но для удобства также рекомендуется использовать комментарий remark, в который можно записать, например, данные абонента.
Здесь самое важное — понять принцип формирования hex-строки. Это 18 байт, содержащиеся в option 82
Ее содержимое состоит из двух полей: circuit-id и remote-id
circuit-id содержит номер vlan и номер физического порта, с которого пришел dhcp запрос.
remote-id содержит mac-адрес коммутатора, который отправил этот запрос.
Данную строку можно извлечь анализатором wireshark, но делать это для каждого абонента неудобно, поэтому рассмотрим, как ее сгенерировать.





 








4. После создания dhcp-классов для абонентов, настроим пулы адресов для каждого влана:
    ip dhcp pool Buggalteria
    network 192.168.3.0 255.255.255.0
     ip dhcp class GluvBuh
     address range 192.168.3.5 192.168.3.5



Описаны только основные настройки, более расширенные можно найти в интернете.
Оригинал:http://habrahabr.ru/post/192136/

среда, 27 ноября 2013 г.

Первоначальная настройка Cisco Catalyst

Очень часто у новичков возникает вопрос:
«Что нужно настроить на Cisco Catalyst с нуля?»
или встречается запрос в google:
«Скачать дефолтовый конфиг для Cisco Catalyst»
или
«catalyst 2960 2950 3560 ip адрес по умолчанию»
или
«как настроить cisco catalyst «
Попробую немного помочь этим людям :)
  1. Дефолтовых конфигов не бывает, т.к. у каждого своя сеть и свои «правила»
  2. Нету у Cisco IP-адреса по умолчанию (это же не Dlink), все настраивается ручками и сначала через консоль.
Итак, попробуем разобраться в том, что желательно настроить на нулевом Cisco Catalyst ?
Например, часто встречающиеся:
  • Cisco Catalyst 2950
  • Cisco Catalyst 2960
  • Cisco Catalyst 3550
  • Cisco Catalyst 3560
  • Cisco Catalyst 3560G
Я использовал Cisco Catalyst 3560G
0. Подключаемся к cisco по консольному кабелю через com порт:
FreeBSD через com порт:
cu -l /dev/cuad0
FreeBSD через переходник USB->Com:
  • kldload uplcom.ko
  • kldstat | grep uplcom (убедиться что подгрузился)
  • подключить переходник к USB порту
  • cu -l /dev/cuaU0
в Windows можно использовать Hiper Terminal для подключения к com порту
1. Зададим пароль на enable режим
Switch> enable
Switch# configure terminal
Switch(config)# enable password my-secret-password
2. Установим пароль для входа по telnet
Switch(config)# line vty 0 15
Switch(config-line)#password my-telnet-password
3. Сразу разрешим вход по telnet
Switch(config-line)# login
Switch(config)# exit
4. Зашифруем пароли, чтобы по sh run они не показывались в открытом виде
Switch(config)# service password-encryption
5. Зададим имя девайсу, например будет c3560G
Switch(config)# hostname c3560G
6. повесим / присвоим IP-адрес нашему девайсу
c3560G(config)# interface vlan 1
c3560G(config-if)# ip address 192.168.1.2 255.255.255.0
c3560G(config-if)# exit
7. Если вы ошибетесь при наборе чего либо в консоле, то циска начнет пытаться это отрезолвить, чем заставляет вас ждать, выключим эту фичу
c3560G(config)# no ip domain-lookup
8. Зададим имя домена
c3560G(config)# ip domain-name my-domain.ru
9. Зададим IP-адрес DNS сервера
c3560G(config)# ip name-server 192.168.1.15
10. Зададим время
если у вас есть доступный NTP сервер
c3560G(config)# ntp server 192.168.1.1 version 2 source vlan 1
c3560G(config)# ntp clock-period 36029056
c3560G(config)# ntp max-associations 1
где 192.168.1.1 — это IP-адрес NTP сервера
а используя «добавку» source vlan вы можете четко задать номер vlan с IP которого будет отправляться NTP запрос
если нет NTP сервера, то можно задать время вручную, но для этого придется выйти из режима конфигурирования
c3560G(config)# exit
c3560G# clock set 20:00:50 23 Aug 2008
11. Зададим переход с зимнего на летнее время и наоборот
c3560G# configure terminal
c3560G(config)# clock timezone MSK 3
c3560G(config)# clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00
12. Сделаем так, чтобы по команде show logging отображалось нормальное время, а не кол-во дней и т.п.
c3560G(config)# service timestamps log datetime localtime
13. Зададим дефолтовые настройки сразу всем портам на девайсе (у меня catalyst 24 порта + 4 SFP)
c3560G(config)# interface range gi 0/1 — 28
c3560G(config-if-range)# description not_used
c3560G(config-if-range)# shutdown
c3560G(config-if-range)# no cdp enable
c3560G(config-if-range)# switchport nonegotiate
c3560G(config-if-range)# switchport mode access
c3560G(config-if-range)# exit
Рекомендую: все неиспользуемые порты держать выключенными, а ещё лучше создать влан (например 999) и все выключенные порты переместить в него:
c3560G(config)# vlan 999
c3560G(config-vlan)# name unused_ports
c3560G(config-vlan)# shutdown
c3560G(config-vlan)# exit
c3560G(config)# interface range gi 0/1 — 28
c3560G(config-if-range)# description not_used
c3560G(config-if-range)# shutdown
c3560G(config-if-range)# no cdp enable
c3560G(config-if-range)# switchport nonegotiate
c3560G(config-if-range)# switchport access vlan 999
c3560G(config-if-range)# switchport mode access
c3560G(config-if-range)# exit
14. Выключим web-интерфейс, командная строка рулит ;)
c3560G(config)# no ip http server
15. Зададим gateway по умолчанию (допустим это будет 192.168.1.1, т.к. мы присвоили девайсу IP 192.168.1.2/255.255.255.0)
c3560G(config)# ip default-gateway 192.168.1.1
16. Если этот свич будет моддерживать маршрутизацию (будет router`ом), то включим функцию маршрутизации (если это позволяет сам девайс и его прошивка)
3560G прекрасно справляется с функцией маршрутизации
c3560G(config)# ip routing
c3560G(config)# ip classless
c3560G(config)# ip subnet-zero
17. Если вы выолнили пункт 16-ть, то снова необходимо задать gateway по умолчанию, но уже другой командой
c3560G(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1
18. Настроим access-list для доступа к свичу только с определенных IP-адресов
c3560G(config)# ip access-list standard TELNET
c3560G(config-std-nacl)# permit 192.168.1.1
c3560G(config-std-nacl)# permit 192.168.1.15
c3560G(config-std-nacl)# exit
19. Применим этот access-list
c3560G(config)# line vty 0 15
c3560G(config-line)# access-class TELNET in
20. Зададим timeout неактивности telnet сессии, по истечении указанного времени, если вы в консольке ничего не вводили, то telnet соединение будет автоматически закрываться
c3560G(config-line)# exec-timeout 5 0
c3560G(config-line)# exit
21. Включим SNMP, но только read only (RO) и доступность только с хоста 192.168.1.1
c3560G(config)# snmp-server community RO-MY-COMPANY-NAME RO
c3560G(config)# snmp-server trap-source Vlan1
c3560G(config)# snmp-server source-interface informs Vlan1
c3560G(config)# snmp-server location SWITCH-LOCATION
c3560G(config)# snmp-server contact my-email@my-domain.ru
c3560G(config)# snmp-server host 192.168.1.1 RO-MY-COMPANY-NAME
c3560G(config)# exit
22. Ну и наконец сохраним свои труды
c3560G# copy running-config startup-config
или можно проще и короче :)
c3560G# wri
Море документации по catalyst`ам, и не только по ним, вы можете найти, ессно, на сайте производителя: www.cisco.com
23. Если хочется включить на девайсе ssh, чтобы подключаться к cisco по ssh (если это позволяет установленный IOS), то выполним следущее:
а) Обязательно указываем имя домена (необходимо для генерации ключа) см. пункт 8.
б) cisco(config)# crypto key generate rsa
в) cisco(config)# line vty 0 15
г) cisco(config)# transport preferred none
д) cisco(config)# transport input ssh
е) cisco(config)#transport output ssh
Подробнее по настройке ssh: Configuring Secure Shell on Routers and Switches Running Cisco IOS

Взято с: http://subnets.ru/blog/?p=333

Тегирование native vlan на Cisco Catalyst

Недавно столкнулись с тем, что на практике никто точно не знает как настроить тегирование native vlan на транковом интерфейсе. Логично полагалось, что подходящей командой из набора switchport trunk, но все оказалось немного не так.
Все дело в том, что, по умолчанию, все транковые интерфейсы уже настроены на тегирование native vlan трафика:

SW1#sh int gi5/48 switchport
Name: Gi5/48
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk (member of bundle Po3)
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
...

,но так как эта опция, также по умолчанию, отключена глобально, то и толку от этой настройки интерфейса никакого. Что и показывает нам вывод команды show vlan dot1q tag native:

SW1#sh vlan dot1q tag native
dot1q native vlan tagging is disabled globally

Per Port Native Vlan Tagging State
----------------------------------

Port Operational    Native VLAN
         Mode      Tagging State
-------------------------------------------

Gi1/1   trunk        disabled
Gi1/2   trunk        disabled
Gi5/9   trunk        disabled
Gi5/48  trunk        disabled
...

Но и просто без оглядки включить глобально тегирование native vlan неразумно, т.к. все ваши транки тут же его подхватят (напомню, что они настроены это делать по умолчанию) и вы получите ошибки в работе например MST, LACP PDU, UDLD и пр. На тех транках которые привыкли, что native vlan идет без тега (а это все транки между оборудованием Cisco, да и любых других производителей, придерживающихся стандартов) необходимо сперва отключить подобное тегирование.
Поэтому порядок действий для безболезненного включения native vlan tagging такой:
 
  • на тех транках, где мы не хотим тегировать native vlan даем команду: no switchport trunk native vlan tag. Естественно, в режиме конфигурации интерфейса. Ее можно увидеть по show run:
SW1#sh run int gi5/48
Building configuration...

Current configuration : 301 bytes
!
interface GigabitEthernet5/48
description -= C12-12 Portchannel3-Intel-Center =-
switchport trunk encapsulation dot1q
no switchport trunk native vlan tag
switchport trunk allowed vlan 510,550
...

  • После того, как мы обезопасили те транки, которым такое тегирование не надо - даем глобальную команду: vlan dot1q native tag, включающую собственно тегирование глобально;
  • и потом проверяем show vlan dot1q native tag;

SW1#sh vlan dot1q tag native
dot1q native vlan tagging is enabled globally

Per Port Native Vlan Tagging State
----------------------------------

Port Operational     Native VLAN
        Mode         Tagging State
-------------------------------------------

Gi1/2  trunk          disabled
Gi4/46 trunk          disabled
Gi5/47 trunk          disabled
Gi5/48 trunk          disabled
Gi6/33 trunk           enabled
Gi6/34 trunk           enabled
Gi6/43 trunk          disabled
Gi6/44 trunk          disabled
...

где видно, какие транки тегируют native vlan, а какие - нет и что мы получили именно то, что хотели.

Взято с: http://i-ivanov.livejournal.com/15037.html