Cisco, да и вообще, очень многие советуют конфигурацию устройств сначала подготавливать в текстовом файле, а потом оттуда применять. Как минимум такая подготовка помогает избежать случайностей при работе в самой консоли.
Чтобы применить конфигурацию можно скопировать нужные строчки, зайти в режим конфигурации и вставить. Но! Можно сделать не так, а вот так copy tftp: running-config. Такая конструкция применяется, например, при восстановлении пароля только вместо
Что же будет просиходить? Файл воспринимается как набор команд, так как вы вводите их в режиме конфигурации:
1. Строчки добавляются к существующей конфигурации
2. Если всё же происходит конфликт, например, задаётся первичный адрес для интерфейса, где уже есть первичный адрес, или меняется режим
3. Работает форма с
4. Ошибки обрабатываются в обычном порядке с выводом предупреждения на консоль, при этом выполнение последующих команд не прерывается
Выглядит всё примерно так:
Видим два сообщения о нераспознаной команде и ошибке назначения адреса. Не слишком информативно, но точка отсчёта есть. Команды без ошибок никак о себе не сигнализируют и применяются тихо.
В общем какое никакое удобство если бы ни одно очень полезное свойство - всё происходит в одну команду (можно вообще исключить сеть, если копировать с
Проблема, в том что два IP из одинаковой подсети одновременно существовать в рабочем состоянии не могут, поэтому сначала надо отключить старый интерфейс (или убрать оттуда IP), а потом назначить его на новый интерфейс. И это невозможно сделать интерактивно. В IOS XR есть commit который решает все проблемы - делаем как надо, а потом применяем. В IOS без XR такого нет, каждая команда применяется сразу, если... не выполнять
Чтобы применить конфигурацию можно скопировать нужные строчки, зайти в режим конфигурации и вставить. Но! Можно сделать не так, а вот так copy tftp: running-config. Такая конструкция применяется, например, при восстановлении пароля только вместо
tftp
используется конфигурация с flash
.Что же будет просиходить? Файл воспринимается как набор команд, так как вы вводите их в режиме конфигурации:
1. Строчки добавляются к существующей конфигурации
running-config
, не затирая её2. Если всё же происходит конфликт, например, задаётся первичный адрес для интерфейса, где уже есть первичный адрес, или меняется режим
trunk
- применяется строка из копируемого файла3. Работает форма с
no
4. Ошибки обрабатываются в обычном порядке с выводом предупреждения на консоль, при этом выполнение последующих команд не прерывается
Выглядит всё примерно так:
c3750#copy tftp: running-config
Address or name of remote host [192.0.2.2]?
Source filename [c3750-confg]?
Destination filename [running-config]?
Accessing tftp://192.0.2.2/c3750-confg...
Loading c3750-confg from 192.0.2.2 (via Vlan2): !
[OK - 410 bytes]
Translating "buffered"
logging buffered 1024
^
% Invalid input detected at '^' marker.
192.0.2.1 overlaps with Vlan2
410 bytes copied in 0.134 secs (3060 bytes/sec)
Видим два сообщения о нераспознаной команде и ошибке назначения адреса. Не слишком информативно, но точка отсчёта есть. Команды без ошибок никак о себе не сигнализируют и применяются тихо.
В общем какое никакое удобство если бы ни одно очень полезное свойство - всё происходит в одну команду (можно вообще исключить сеть, если копировать с
flash
). И это очень полезное свойство как нельзя кстати если возникает необходимость перенести IP адрес с одного интерфейса на другой, при этом когда ты сам к нему подключен.Проблема, в том что два IP из одинаковой подсети одновременно существовать в рабочем состоянии не могут, поэтому сначала надо отключить старый интерфейс (или убрать оттуда IP), а потом назначить его на новый интерфейс. И это невозможно сделать интерактивно. В IOS XR есть commit который решает все проблемы - делаем как надо, а потом применяем. В IOS без XR такого нет, каждая команда применяется сразу, если... не выполнять
copy [файл] running-config
с нужной последовательностью команд. После чего просто подключиться по старому адресу, но который уже будет на новом интерфейсе.