Прошёл слух, что коммутаторы серии Catalyst 2960 и 2960S стали поддерживать маршрутизацию.
Решил попробовать это дело, ибо в наличии в офисе как раз имеется оный (2960 с 48 PoE портами). Для этих целей была скачана прошивка c2960-lanbasek9-mz.150-1.SE с cisco.com.
Немного предыстории. У меня уже была неудачная попытка прошивать наш коммутатор. Я заливал на флешку в корень новую версию, делал необходимую строку в конфиге для бута именно этой прошивки, но после перезагрузки грузилась старая. Забегая вперёд скажу, что потом я понял, в чём причина. Так вот, так как коммутатор был, что называется, в продакшене, то после пары неудачных экспериментов я решил отложить эту задачу. И тут в понедельник подвернулся случай. В офисе не было никого, ибо народ был на корпоративе.
При подготовке к апгрейду нашёл информацию о том, что прошивка на коммутаторы может быть залита с помощью команды archive download-sw. Скачивается tar-архив, в котором помимо прошивки хранится какой-то html-код, и распаковывается в директорию с именем прошивки всё это хозяйство. Решил воспользоваться командой. Убил 3 часа понедельника из-за этого.
Архив хоть и скачивался, но отказывался распаковываться полностью. Я начал грешить на то, что не хватает места на флешке. Пришлось на свой страх и риск удалить текущий образ. И это, надо сказать, тоже нетривиальная задача. Образ лежал в каталоге, в котором находились так же и другие подкаталоги (например, html) с кучей мелких файлов. Коммутатор наотрез отказался удалять каталог, ибо это каталог, а команда delete удаляет только файл. Команда rmdir тоже не помогала - коммутатор ругался на то, что каталог не пустой и поэтому удалить его нельзя.
Было пора принять кардинальные меры - почистить флешку. Но даже после этого archive download-sw не смог отработать.
Я решил, что из архива надо убрать сам образ и потом аккуратно сложить его в нужное место. Пришлось ставить 7-Zip, ибо Winrar не умеет менять содержимое tar-архивов. :)
В результате всех этих танцов с бубном прошивка и сопутствующие файлы лежали в нужной директории (она, кстати, называлась c2960-lanbasek9-mz.150-1.SE).
Ну что. Время перезагружать железку.
Перезагружаем.
Ждём.
...
PROFIT?
Неа. Не профит. Пакеты хоть и ходят сквозь коммутатор, но зайти на него нельзя. )
Пришлось идти в серверную и подключаться консолькой. Тут меня тоже ждало разочарование. Вот, что я увидел в консоли:
%% Low on memory; try again later
%% Low on memory; try again later
Гуглопоиск (извини, Док, что не пользуюсь вашей системой, это всё дело привычки ;)) показал, что есть две баги, связанные с моей ситуацией и этим IOS'ом. Баг
CSCts52797 и баг CSCed65890. Первая бага связана с малым количеством свободной памяти для коммутаторов Catalist 2960 с 64 Мб оперативки (напрашивается отсюда вывод - есть коммутаторы с 128 Мб оперативной памяти; но как про это узнать и купить именно тот, который с большим количеством - ни конфигуратор, ни просмотренные мной даташиты про это ничего не говорят). Вторая бага - это запрос. Запрос иметь возможность на резервирование памяти под сессию для доступа на устройство. :)
Помимо того, что нельзя было попасть на коммутатор, что не позволяло в случае необходимости менять его конфигурацию, выяснился ещё один неприятный момент. Некоторые компьютеры перестали по DHCP получать сетевые настройки (на DHCPDISCOVER в ответ ничего не приходило). Мы с коллегой пришли к выводу, что это связано напрямую с нехваткой памяти. Коммутатор перехватывал запросы DHCP для добавления опции, которые, как известно, обрабатываются процессором управления коммутатором. Проблема с выдачей настроек была решена просто - в случае, если они не выдаются, надо вытащить из компьютера сетевой шнур и вставить назад. Вот пруф того, что снупинг на коммутаторе был:
nsk-asw01#sh run | s snooping
ip dhcp snooping vlan 1009
ip dhcp snooping
nsk-asw01#show ip dhcp snooping
Switch DHCP snooping is enabled
... output omitted ...
В остальном коммутатор за вторник отработал без каких-либо с боев.
В среду колеге пришлось через xmodem вернуть обратно предыдущую версию прошивки. Тут то я и выяснил, почему у меня ранее не грузилась прошивка, которую я пытался загружать по старинке (скопировали на флешку, задали через команду boot system какую именно прошивку грузить). А видно это оказалось из вывода на консоль при загрузке коммутатора:
... output omitted ...
Loading "flash:/c2960-lanbasek9-mz.122-58.SE2/c2960-lanbasek9-mz.122-58.SE2.bin"...flash:/c2960-lanbasek9-mz.122-58.SE2/c2960-lanbasek9-mz.122-58.SE2.bin: no such file or directory
Error loading "flash:/c2960-lanbasek9-mz.122-58.SE2/c2960-lanbasek9-mz.122-58.SE2.bin"
... output omitted ...
В конфиге rommon'а был параметр BOOT, в котором выставлялся путь к загружаемой прошивке. Эта прошивка и грузилась в случае наличия.
Но коллега успел не только вернуть старую прошивку, но и закачать свежую починенную c2960-lanbasek9-mz.150-1.SE с исправлением баги. Теперь можно смело приступать к осуществлению задуманного плана.
Документ
Configuring Static IP Unicast Routing описывает действия по настройке. Они стандартные: включить маршрутизацию (ip routing), настроить SVI, настроить статические маршруты. Единственное, что не указано в документа (и что требуется в обязательном порядке) - сменить профиль SDM (Switching Database Manager). Про него можно прочитать в документе
Understanding and Configuring Switching Database Manager on Catalyst 3750 Series Switches.
Поменять SDM надо на lanbase-routing. Меняем, сохраняемся и перезагружаемся.
Вот он родимый:
nsk-asw01#sh sdm prefer
The current template is "lanbase-routing" template.
The selected template optimizes the resources in
the switch to support this level of features for
8 routed interfaces and 255 VLANs.
number of unicast mac addresses: 4K
number of IPv4 IGMP groups + multicast routes: 0.25K
number of IPv4 unicast routes: 4.25K
number of directly-connected IPv4 hosts: 4K
number of indirect IPv4 routes: 0.25K
number of IPv4 policy based routing aces: 0
number of IPv4/MAC qos aces: 0.125k
number of IPv4/MAC security aces: 0.375k
nsk-asw01#
Вот так вот:
nsk-asw01#sh ver
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(1)SE1, RELEASE SOFTWARE (fc3)
Technical Support:
http://www.cisco.com/techsupportCopyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Thu 01-Dec-11 14:46 by prod_rel_team
<... output omitted ...>
Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 52 WS-C2960-48PST-L 15.0(1)SE1 C2960-LANBASEK9-M
Configuration register is 0xF
nsk-asw01#conf t
nsk-asw01(config)#ip routing ?
nsk-asw01(config)#ip routing
После того, как я выложу этот пост, я пойду налью себе чайка, распакую шоколадку и сяду настраивать маршрутизацию на нашем коммутаторе. :)
Ну и спасибо за помощь моему коллеге Клепче Владимиру, который в свои 24 может заклеить аж 3 дырки: бумажками CCNP, CCIP и JNCP.