Иногда в процессе изучения тонкостей работы Cisco IOS неожиданно обнаруживаются команды, которые позволяют нивелировать какой-нибудь мелкий, но раздражающий фактор, или отсечь сразу сектор потенциальных угроз безопасности сети. В такие моменты думаешь: «почему я не знал этого раньше?». В этой статье я опишу некоторые из таких команд.

Ускорение show run

Часто на машине вроде 6500, возраст которой можно определять по количеству культурных пластов в конфигурации, вывод этой самой конфигурации (речь о running config) занимает продолжительное время. Происходит это потому, что конфигурация распределена по различным компонентам IOS, и специальный процесс опрашивает их, формируя результирующую конфигурацию из полученных данных. Несколько улучшить ситуацию можно пи помощи команды
parser config cache interface.
При её активации конфигурации интерфейсов кэшируются, сокращая при этом время формирования единой кофигурации. В feature navigator эта функциональность называется Configuration Generation Performance Enhancement.

Translating «shrun»...domain server

Бывает так, что, сделав опечатку в команде (shrun вместо sh run), пользователь вынужден выждать некоторое время, в течение которого IOS, восприняв введенную строку как имя хоста, настойчиво пытается его разрешить:
R4#shrun
Translating "shrun"...domain server (8.8.8.8)
Translating "shrun"...domain server (8.8.8.8) % Name lookup aborted
Translating "shrun"...domain server (8.8.8.8)
% Unknown command or computer name, or unable to find computer address


Даже escape sequence (в данном случае, посланная во время второй попытки разрешения имени хоста) спасает не всегда.
В данном случае можно запретить разрешение имен хостов, но, во-первых, это редко, но может помешать нормальной работе оборудования (придуманный пример — задание syslog-сервера именем хоста) и во-вторых, если случайно будет введен ip-адрес, IOS попытается присоединиться к соответствующему (не факт, что существующему) хосту по телнет-протоколу. Более внятное решение — запретить попытки соединения по телнет-протоколу без явного на то указания. Это достигается командой
transport preferred none
в контексте соответствующей линии доступа (line con 0 или line vty 0 15).

Ограничение количества префиксов при редистрибьюции из BGP в OSPF

При редистрибьюции из BGP в OSPF, исходя из разной специфики протоколов, естественно использовать фильтрацию префиксов (роутмапы и прочее). К сожалению, роутмапы имеют тенденцию быть редактируемыми пользователями с самыми разнообразными последствиями, не говоря уже об «ошибках программного обеспечения» . Командой
redistribute maximum-prefix NNNN

в контексте настройки ospf-процесса можно ограничить количество принимаемых префиксов. В feature navigator эта функциональность называется OSPF Limit on Number of Redistributed Routes.

Ограничение длины AS_PATH префикса, полученного по BGP

Как известно, если что-то может пойти не так, оно однажды так и пойдет. Если используемое для BGP-пиринга оборудование обладает небольшими ресурсами, то при очередном эксперименте с длиной AS_PATH префикса вполне вероятны различные аберрации. Чтобы придать будущему немного более детерминированный вид, можно воспользоваться командой
bgp maxas-limit N,
которая позволяет отбросить префикс с длиной AS_PATH более заданной.

Восстановление конфигурации после случайной вставки текста из буфера обмена

Если правая кнопка мыши используется для вставки содержимого буфера обмена, можно случайно добавить в активную конфигурацию ненужные модификации. Самый очевидный способ решить эту проблему — перезагрузить устройство. Если вы еще не можете себе такого позволить, то, вероятно, вы подумаете о копировании стартовой конфигурации на место активной, copy start run. С этим вариантом есть две проблемы — во-первых, стартовая конфигурация не затирает, а объединяется с активной, и во-вторых, в случае наличия совпадающих строк в активной и стартовой конфигурациях соответствующая команда все равно исполняется, что может привести к последствиям, сравнимым с оными очевидного варианта. К счастью, возможно полностью заместить активную конфигурацию стартовой при помощи команды
configure replace nvram:startup-config list
Ключевое слово list позволит увидеть произведенные изменения в конфигурации.

Надеюсь, для кого-то эта коротенькая статья окажется полезной.
Дальнейшее чтение:
1) Configuration Generation Performance Enhancement
2)Transport preferred none
3)OSPF Limit on Number of Redistributed Routes
4)AS Path Length Limiting
5)Configuration Replace