Курс молодого бойца cisco: искусство владения консолью

    Введение: многие начинающие настройщики сетевого железа боятся консоли (CLI, Command Line Interface) как огня. Ещё бы: ни тебе всплывающих подсказок по наведенному мышиному курсору, ни тебе красивых картинок, а лишь непонятные буквы на черном (зеленом, белом) фоне. Боязно…

    Однако, консоль является мощнейшим инструментом, не овладев которым называть себя настройщком cisco нельзя.

    При помощи консоли можно:
    1. Задать начальную конфигурацию.
    2. Восстановить потерянные пароли (для разных железок по-разному. Но поиском на сайте cisco.com легко найти процесс по ключевым словам “password-recovery (название железки)” )
    3. Настроить нестандартные топологии
    4. Включить скрытые возможности
    5. Проверить правильность настроек командами show
    6. Отладить процесс командами debug

    Помните: при помощи консоли можно всё, при помощи GUI – не всё, а только то, что запрограммировали и разрешили.

    Как же овладеть искусством быстрой настройки через консоль?

    Безусловно, требуется много тренироваться :) Однако, есть несколько хитростей, которые облегчат работу и могут пригодиться в реальной жизни для быстрой локализации и решения проблем или сдачи экзамена CCIE :)

    Хитрость 1: Запомните горячие сочетания клавиш. Самые часто используемые ctrl+a (начало строки), ctrl+e (конец строки), ctrl+z (выход из режима настройки)

    Хитрость 2: На маршрутизаторах и коммутаторах пользуйтесь командой do для вызова команд show из режима настройки.
    Примеры: (config)# do show ip route
    (config-if)# do show ip int f0/0
    Это сильно экономит время, т.к. не приходится выходить из режима настройки и возвращаться обратно в него. Т.к. консольные команды древовидные, то беготня по режимам реально отнимает время и силы.

    Важно: Есть тонкость: при использовании команды do не работает подсказка по вопросу, кнопка табуляции и проверка синтаксиса на ошибку. Поэтому, если Вы точно не знаете, какую команду show хотите ввести, всё-таки придётся выйти из режима настройки

    Хитрость 3: Используйте выборку из конфига или вывода других команд просмотра. Для этого есть служебные команды после символа “|” (“grep”)
    Примеры: sh run | include ip route
    Sh ip route | include 192.168.0.0
    Sh run | begin router ospf 1

    Хитрость 4: Используйте блокнот или другой текстовый редактор, чтобы создавать шаблон конфига, а потом вливайте его копи-пастом в консоль. Перевод каретки циской распознаётся как ввод команды. Не забывайте после последней команды нажать кнопку ввод :)

    Хитрость 5: Используйте стрелки «вверх» и «вниз» (или команды ctrl+p, ctrl+n) для вызова ранее введенных команд. Размер буфера команд настраивается.

    Хитрость 6: Не забывайте, что разные команды возможно вводить из разных режимов: из режима непривилегированного пользователя можно мало и только посмотреть, из привилегированного – посмотреть, включить debug, из режима настройки – настроить параметры или перейти в подрежимы. Не забывайте, что знак «?» введенный без пробела, подскажет возможные продолжения команды, а знак «?», введенный через пробел – возможные дальнейшие ключевые слова

    Хитрость 7: Учите команды и активно их сокращайте! Помните, что если сокращение однозначно, его циска распознает.
    Пример (сравните):
    Ip nat inside source list NAT interface GigabitEthernet0/0 overload
    Ip nat in so l NAT int G0/0 o

    Для ускорения обучению используйте кнопочку табуляции: если начало команды уже однозначно, циска продолжит команду автоматически.

    Хитрость 8: Строчки из конфига (running или startup) являются командами. Можно подглядеть в конфиг и стереть неугодную команду, поставив перед ней ключевое слово no

    В-общем, как и везде: упорство и труд всё перетрут!

    Дерзайте и пусть всё получится :)

    СУВЖ, Сергей Фёдоров, инструктор cisco
    Поделиться публикацией
    Комментарии 70
      +3
      Лично я, тех, кто не освоит консоль, в web-gui бы просто не пускал.
        0
        Web-gui? Надо попробовать, что ли, а то который год то через консоль, то телнетом…
        А про do — не знал, полезная штука.
          0
          убиваю за использование админами телнета.
            0
            Локальный свитч для теста телефонов ;-) ничего открытого/серьезного.
            Лучше по ssh?
              0
              Только ssh. Всегда.
                +2
                Какая удивительная настойчивость :)

                А как быть, если IOS IP Base? Там не шифрования. Вообще. Включая ssh

                Или на коммутаторах многих?

                Не надо так категорично, хотя я согласен: там где есть такая возможность — ssh лучше

                А в остальных случаях лучше городить OOB, или консольный сервер.
              0
              хм. бывают (не пожелаю и врагу) и такие случаи, когда телнет — единственное что живо остается.
                0
                … а есть еще и (WAN) циски, установленные на «чужих» узлах связи с умышленно заглушенными в shutdown Ethernet-портами, конфигурируемые с «голубого» консольного кабеля.
            +2
            Покажите пожалуйста как выглядит web-gui =)
            –1
            Сергей Фёдоров, таки получили инвайт… Поздравляем, поздравляем.
            А почему сайт называется АнтиСиско?
              +1
              Да я не рвался особо :)

              Ну раз уж доверили — надо хотя бы сделать вид, что я тоже что то вкладываю :)

              антициско — это наш (инструкторский) сайт. А что?
                0
                ну просто приставка «Анти». Первым приходит на ум, что вы против.
                Хотя… за столько лет работы с компом, я тоже против компов))
                А логотип Сиско реально похож на дискретный разрез сисек, вид снизу. Тут не простое совпадение, стопудово.
                  +3
                  Обычно компании регистрируют свои домены с приставками anti, fuck, shit и тп, чтоб не достались врагу :)
              0
              Сергей, честно, ожидал что тут будет объяснение для новичка типа «С нуля».
              Но тоже неплохо.
              А те кто знаком с линуховой консолью, я думаю для них проблем в освоении Cisco консоли проблем не составит, ОСОБЕННО в сочетании клавиш.
                +3
                Для освоения «с нуля» есть полно материалов. И в сети в частности. Бери Dynamips или любой другой эмулятор, кнужку «циско для чайников» — и вперед!

                А вот дальше — хинты. На что обратить внимание, что нужнее. Вот тут считаю нужным подсказать

                СУВЖ, Сергей
                  –5
                  Не мог удержаться и не поставить минус за «СУВЖ». Наверно, «ВЖ» такое же короткое, как и подпись… :(

                  Топик хороший, но голоса за топики закончились :)
                    +2
                    Ээээ… Не понял.

                    СУВЖ это полный аналог WBR

                    Вкладываю в это С УВаЖением.

                    Чем то задел?

                    Пользую такое сокращение уже мильён лет — никто не жаловался :)
                      0
                      Тогдауж правильнее СУВ ;)
                      я еще часто BRGS при общении с инземцами использую
                    0
                    Сергей, спасибо за статью, для новичка как я (1,5 месяца учусь на CCNA) очень полезно. Но есть вопрос: а не подскажите какой-нибудь хороший бесплатный эмулятор (кроме динамипса), в который можно было бы IOSы подгружать. Конечно, если меня поддержат, было бы здорово что-то типа обзора разных эмуляторов написать!

                    Заранее спасибо, Максим.
                      0
                      IOS, как операционку, можно подгрузить только в эмулятор железа, под которое эта операционка написана. То есть в нашем случае есть такой эмулятор динамипс. Альтернатив нет.
                      0
                      Ну лично я бы предложил просто брать router simulator и баловаться с ним до посинения. Уж лучше уронить виртуальную сеть, нежели корпоративную :)
                    +1
                    А что, кто-то использует GUI для настройки цисок?

                    В свое время про существование SDM/PDM узнал только, когда готовился к CCSPшным экзаменам :)
                      0
                      Да, используют. Циски не заканчиваются коммутаторами/маршрутизаторами/фаерволами. Их как правило рулю через CLI. Но Веб-морда помогает мониторить, видеть состояние. Настраиваю её в тех конторах, где есть толковый виндузячный админ для мониторинга.

                      Настройка IPS вручную — мука. Через ВЕБ — вполне. Есть ещё примеры.
                        0
                        федь, а есть какой-то кроссвендорный работающий стандарт по управлению/мониторингу железок?

                        слово ws-managment тебе что-то говорит?

                        или так вот надо каждое индвидуальное устройство настраивать своим специфичным способом?
                          0
                          Для мониторинга есть SNMP и Syslog. Ничего более удобного и более распространенного нет.
                            0
                            а ws-management — это только мсфт?

                            вроде как он стандарт, и разрабатывался многими вендорами

                            а SNMP старый и имеет (имел?) проблемы с безопасностью

                            или никто не хочет ws-management из-за его тяжеловестности и все устраивает SNMP?

                              +1
                              насколько я знаю, это только MS. что-то там Novell собирался с ним делать в своем SuSE Linux, но чем закончилось — не знаю.
                              разрабатывался многими вендорами, но это вендоры в основном — производители комьютеров/серверов.

                              формально SNMPv3 имеет куда меньше проблем с безопасностью. однако далеко не всегда эту третью версию удается успешно поднять. с другой стороны, мониторинг и управление желательно всегда делать out-of-band и защищать не только протокол обмена данными, но и сами маршруты передачи этой информации.

                              даже SNMP может быть достаточно тяжеловесным в плане нагрузки на CPU устройства, все зависит конечно от того, как много и как часто опрашивать. если WS-management еще более ресурсоемкий, то, мне кажется, его перспективы в сетевом оборудовании туманны.
                                0
                                WS-* SOAP based протокол по определению тяжеловесней, чем разработанный в 80ых годах:)

                                ок, спасибо
                                  +1
                                  в тех же 80-х/90-х была разработана концепция TMN для управления сетями SDH, с ее Q3-интерфейсами. тоже достаточно тяжеловесное решение :)

                                  всегда пожалуйста. если есть еще вопросы по мониторингу/управлению сетями/сетевым оборудованием, пишите.
                            0
                            Вить, тебе всё правильно написали:
                            есть SNMP. Есть спецMIBы для циски. Там можно очень многое.

                            Но я лично побаиваюсь настройки через SNMP — легко спуфится, ибо UDP, а до версии 3 вообще ничем не защищается.
                            Но в ООВ собирают по нему статистику очень часто.

                            Другое дело, что при большом количестве событий это жутко грузит CPU. На самом деле любая копия (вывод на экран debug, syslog, SNMP trap) тормозит проц

                            А про настройки: слишком разное у циски железо пока. Разные ОС, разные команды, даже принципы работы часто разные.

                            Циска идёт по пути отрыва от железки, сделав Cisco Security Manager, в котором отдельно задаются политики, а потом внедряются на конкретные железяки.

                            А вот про упомянутый тобой проект не слышал…
                              0
                              >А про настройки: слишком разное у циски железо пока. Разные ОС, разные команды, даже принципы работы часто разные.

                              значит есть над чем работать. уровень абстракции нужно повышать:)

                                0
                                >Циска идёт по пути отрыва от железки, сделав Cisco Security Manager, в котором отдельно задаются политики, а потом внедряются на конкретные железяки.

                                это правильный путь. Если они еще будут делать все по стандартам, чтобы это работало не только с родным софтом, но и с open view или system center, нас ждет вообще светлое будущее)
                              0
                              я так понял, циска поддерживает SNMP

                              интересно, реально этим кто-то пользуется?
                                0
                                пользуются еще как. для мониторинга и для конфигурирования (IP SLA тесты, например).
                                0
                                На счет IPS, VPN концентраторов и тд не спорю, через веб удобнее конечно.

                                На счет веба коммутаторов/маршрутизаторов/фаерволов для целей мониторинга. Мне кажется, проще поднять некое единое централизованное решение для этих целей. Благо есть большой выбор как open source разработок, так и коммерческих продуктов.
                              +3
                              Какие же это нафиг хитрости?

                              Рассказал бы лучше людям как делать чтобы циска ребутнулась со старым конфигом если ошибся в конфиге новом например…
                              (
                              shapalon#reload in?
                              Delay before reload (mmm or hhh:mm)
                              )

                              Или как «убитую» прошивку восстанавливать…

                              А лучше всего — сказать «не учите дети cisco (особенно идиотский IOS), а учите juniper» :D
                                +1
                                Вы хотите, чтобы каждый пост — откровение.

                                А для начала надо подчистить «хвосты». Вы не поверите, как много народу не знают про do и другие хинты.

                                Не надо торопидзе.

                                ЗЫ А про Жунипер уверенно буду рассказывать, когда сам дорасту.

                                ЗЗЫ Кстати, по количеству проданного железа Жуниперу до циски ещё очень далеко, поэтому как раз «идиотский ИОС» учить на данный момент нужнее. ИМХО.
                                  0
                                  «Кстати, по количеству проданного железа Жуниперу до циски ещё очень далеко, » — боюсь, это логика немного ущербна ;)

                                  Если речь идет о том чтобы люди зарабатывали больше как специалисты, то наоборот — знание cisco в данном случае как знание windows — и того и другого как грязи, стоимость услуг довольно невысока ;)

                                  Человек с хорошим знанием junos почти «by default» будет иметь оплату труда раза в полтора-два выше — попробуй их таких найди, это при том что Джуны использует большинство _реально_ крупных телекомов…
                                +3
                                Добавлю от себя сочетание клавиш: Ctrl + Shift + 6, типа Ctrl + C в windows cmd, например для прерывания выполнения какого-то действия, типа пинга.
                                  0
                                  ЕМНИП только если настройку оставляли по дефолту при первом запуске.
                                  Можно задать любую комбинацию
                                  +2
                                  >Хитрость 4: Используйте блокнот или другой текстовый редактор, чтобы создавать шаблон конфига, а потом вливайте его копи-пастом в консоль.

                                  Только потом обязательно проскрольте назад и пересмотрите весь процесс на наличие ошибок. Если в какой-то из комманд ошибка, ios выводит сообщение об ошибке и бодро продолжает исполнять следующие комманды. Если конфиг длинный, сообщение легко теряется из виду. Пару раз поимел грабли…
                                    0
                                    Да, спасибо за дополнение. Это очень верное замечание.

                                    Ещё бывает, что буфер обмена… короче выделенного куска текста. Тоже бывает неприятно.
                                      0
                                      М… А что-нить типа && там нет? Или срубания при первой ошибке
                                        0
                                        Я о таком не слышал. Это было бы удобно.

                                        Но похоже там подход такой, что будто бы админ настойчиво вбивает все команды по очереди не глядя.
                                      +4
                                      Похоже на хабре наступает время Cisco, так и вспоминается фраза «тема сисек не раскрыта».
                                        +1
                                        Не, ща меня заклюют, энтузиазм угаснет и… всё вернётся на пути своя :)
                                        0
                                        Спасибо Сергей, очень хорошая статья — как говорят:
                                        Краткость — сестра таланта.
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            0
                                            спасибо, про do не знал:)
                                              0
                                              Я как и многие про do не знал ) Вот за это спасибо!
                                              Вот это хороший пост, а читать о том что «cisco это круто» совершенно неинтересно
                                                0
                                                В дополнение к символу "|" использующемуся как «ИЛИ», например, так
                                                sh run | i interface|address
                                                рискну спросить не знает ли кто как затребовать в фильтрации логику «И»?
                                                  0
                                                  shapalon#sh run |?
                                                  append Append redirected output to URL (URLs supporting append operation only)
                                                  begin Begin with the line that matches
                                                  exclude Exclude lines that match
                                                  include Include lines that match
                                                  redirect Redirect output to URL
                                                  section Filter a section of output
                                                  tee Copy output to URL
                                                    0
                                                    Вы действительно поняли, о чем спрашивал я?
                                                      0
                                                      Возможно, нет — от правильной постановки вопроса зависит и ответ ;)

                                                      Хочется получить (interface&address)?
                                                        0
                                                        да, например
                                                        sh ip acco | i 10\.11\. & [0-9][0-9][0-9][0-9][0-9]
                                                          0
                                                          К сожалению, похоже что никак (пусть меня поправят если что) — я даже спросил наших суперзлобных цискарей ;)

                                                          В junos или F10 (ftos) это легко делается ввиду встроенного grep.

                                                          Мало того, grep встроен в ASA/FWSM например, но не в IOS…
                                                            0
                                                            я знаю вот такой путь, но он мне не нравится:
                                                            sh ip acco | i 10\.11\.(.)*[0-9][0-9][0-9][0-9][0-9]
                                                              0
                                                              На безрыбье и рак рыба :)))))))

                                                              Но возможно тут народ еще нашел обходные пути — вдруг кто и напишет.
                                                              0
                                                              ASA/FWSM это линукс
                                                              Джунос не знаю, вроде краем уха слышал что в корне фря или еще какой юникс.

                                                              А IOS это IOS…
                                                                0
                                                                «ASA/FWSM это линукс» — неверно, линуксом там и не пахнет — это pixos бывший :)
                                                                junos — да, это freebsd перепиленная.

                                                                linux применяют из грандов F5 и citrix, cisco в ряде продуктов типа GSS, NAMS модулях и т.д.

                                                                F10 — это netbsd.

                                                                и только cisco идет своим кривым путем :P хотя nexus'ы ОС там понамешано всего — и linux в т.ч.
                                                                  0
                                                                  Я вас расстрою и обрадую одновременно. ASA 8.0 и далее есть ни что иное как самый натуральный Linux
                                                                    0
                                                                    быть может, быть может ;)

                                                                    8-ка ввиду чрезвычайно глючности и нестабильности еще долго будет искать свой путь
                                                                    всем клиентам категорически рекомендую смотреть вместо ASA55xx на JUN SSG ииже с ними ;)

                                                                    с 8кой проблем огребли по самые пОмидоры.
                                                                      0
                                                                      Переход на новое ядро ещё никому не давался легко :)

                                                                      8.0.4 в последних билдах вполне надёжна, должен отметить.

                                                                      Правда уже готова 8.2.1 ПОглядим, чего там наворотили. Фич много новых — значит буду и баги.

                                                                      ЗЫ Столько говорят про ЖунОС. Видимо придётся и её осилить. Буду мегамонстром :)
                                                                    0
                                                                    Если путь свой это не значит что он кривой.
                                                                    во 1-х когда появился IOS линукса еще и в планах не было, а юниксы были уделом мейнфреймов.
                                                                    во 2-х насколько мне известно, ни у джуна ни у конкурентов нет аналога ISR.
                                                                    Нафига мне надо продавать и саппортить пачку разношерстных железок под раутинг, свичинг, телефонию, секурити, вайрлес, когда одна циска 2811 мне спокойно обеспечит всеми этими сервисами офис человека на 30?

                                                                    нееет, IOS в своей нише это офигенски. и отсутствие полноценного грепа не может затмить этого факта.
                                                                      0
                                                                      Ну давай на MS-DOS пересядем :P как раз в одно время с IOS наверное появлялись? :D

                                                                      а так — ну да, IOS для мелко(говно)офисов — очень четкая ниша :)
                                                                      вот только криворукие индусы все убивают — у нас 1841 железки до сих пор memory leak в IOS не исправлен (хотя более года уже прошло) — правда если поначалу каждый день по несколько раз саморебутились, теперь пару раз в неделю — ПРОГРЕСС :D
                                                      +1
                                                      9 пункт:
                                                      вместо команды: copy running-config startup-config
                                                      можно использовать: write (wr)

                                                      10 пункт:
                                                      show archive config differences
                                                      Показывает различия между running-config и startup-config.
                                                      Т.е. по сути не сохраненные изменения в конфигруации железки.
                                                        0
                                                        Спасибо за приведённые хитрости, очень не хватало их раньше… особенно "|".

                                                        Ещё одна хитрость не хитрость: исользовать команду "end" вместо «exit» для выхода из режима конфигурирования находясь в конкретном интерфейсе, например.
                                                          0
                                                          Это аналог ctrl+z
                                                          Писать end дольше, чем жмакнуть 2 клавиши
                                                          0
                                                          11 пункт:
                                                          sh run int fa0/1
                                                          Показывает конфиг только по указанному интерфейсу.
                                                            0
                                                            Спасибо за do и | — весьма не хватало

                                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                            Самое читаемое