Будем считать, что вы уже активно осваиваете хитрости настройки через консоль. Пришло время рассказать ещё несколько тонкостей. О чём имеет смысл подумать при настройке маршрутизаторов и коммутаторов cisco.
Тонкость 1. Аккуратность.
Часто возникает задача что-нибудь добавить в текущую конфигурацию. Наверняка вы знаете, что многие элементы отдельно пишутся, и отдельно применяются (на интерфейс, ко всей железке и т.д.). Будьте крайне осторожны, изменяя настройки таких технологий, как PBR (route-map), QoS (policy-map), IPSec (crypto map), NAT. Наиболее корректно будет сначала снять правила с использования, потом изменить, потом повесить снова. Связано это с тем, что все изменения вы вносите сразу же в состояние железки. Иногда то, что уже работает (например, подгружено в оперативку) конфликтует с новым конфигом. Не редки ситуации, когда железка уходит в перезагрузку после попытки изменения конфига.
Пример: пусть у нас есть route-map, примененный на интерфейс. Пусть нам надо его изменить. Наиболее «чистый» способ такой:
1. Копируем из конфига существующий route-map
2. Вставляем его в блокнот.
3. Меняем ему имя в блокноте
4. Меняем сам route-map
* Обязательно проверьте его на логику: будет ли он делать то, что нужно
5. Копируем его из блокнота в буфер обмена
6. Вставляем в конфиг.
* Он ещё никуда не применен, т.к. с другим именем, поэтому процедура безопасна
7. Применяем новый route-map на интерфейс
К сожалению, такую красивую процедуру делать обычно лень 🙂
Если политика безопасности требует, чтобы в конфиге все названия были каноническими, то можно дополнительно сделать так:
3А. Копируем route-map с новым именем, но старым содержанием
3Б. Вставляем его обратно в конфиг маршрутизатора.
3В. Временно применяем route-map с новым именем вместо канонического. Далее все действия (с 4 по 7) производим с каноническим route-map
Если нет возможности снять, например, crypto map (в этом случае упадут все туннели), а добавить новый абзац надо, то необходимо минимизировать время, в течение которого будет «недоделанный конфиг» (incomplete crypto map). Это происходит, если в абзаце не хватает одной или двух строчек из следующих
match address
set transform-set
set peer
Для минимизации времени простоя вбейте необходимый кусок конфига crypto-map в блокноте и потом копи-пастом влейте его на циску.
2. Тонкость. Подстраховка.
Помните, что пока вы не набрали
copy running-config startup-config
или, что тоже самое,
write
wr
файл начальной конфигурации ещё старый. Поэтому, если всё поломалось, достаточно перезагрузить устройство. Дабы не бегать самому или не звонить на другой конец (офиса/города/планеты), есть технология «отложенной перезагрузки»
reload in [промежуток времени]
и перезагрузки в конкретное время
reload at [дата и время]
3. Тонкость. Сохранение конфигурации
Помните, что файл конфигурации — это просто текстовый файл. Можно скидывать файл настройки на tftp, ftp, http, flash и т.д. А можно просто забрать его к себе на рабочую машину. Например, включив в PuTTy (или другом терминальном клиенте) лог выводимого на экран, можно банально дать команду
sh run
и получить свой конфиг в файл лога.
*Хинт: sh run выводит конфиг поэкранно, разделяя полосочками. В файле эти полосочки тоже будут. Если лень эти полосочки потом убирать, можно дать команду
sh run | tee http://1.1.1.1
Команда tee копирует на экран то, что пытается отправить по http на 1.1.1.1. Отправить ей не удастся, но на экран вывалится весь конфиг без задержек и разделителей.
4. Тонкость. Имена.
Не секрет, что проще написать конфиг самому, чем разобраться в чужом 🙂 Да и свои старые конфиги иногда трудно читать. Поэтому, чтобы помочь себе и другим рекомендую
— Все названия (ACL, route-map, crypto-map, transform-set и т.д.) писать большими буквами (ну или хотя бы с большой буквы). Приведу для примера любимую строчку из конфига ASA (в ней для внешнего NAT на внешнем интерфейсе применяется ACL с названием outside)
nat (outside) 10 access-list outside outside
Если назвать ACL большими буквами, то легко выделить, где ключевые слова, а где названия.
nat (outside) 10 access-list OUTSIDE outside
— СРАЗУ УДАЛЯТЬ НЕНУЖНОЕ! Потренировались, побились лбом, поэкспериментировали — мусор удалить! Уже через неделю трудно вспомнить, нужные это конструкции или нет.
— Если ACL всё-таки используются нумерованные (исторически, например), их можно изменять, используя синтаксис расширенных ACL
ip access-list ex 101
no 10
25 permit tcp 1.1.1.1 any eq 25
Метки: консоль, маршрутизатор, хитрости
Опубликовано: Маршрутизаторы и коммутаторы
полезно, но говорят джунипер изначально свободен от этих болезней
сама концепция применения конструкций без прерывания трафика
К пункту 3 есть еще один хинт для решения той же задачки.
Можно ввести команду terminal length 0, запустить логгирование в Putty(SecureCRT…) и получить весь конфиг почти моментально в файлике)))
И спасибо за статью, за напоминание best practice)