configure replace

Команда configure replace  заменяет текущую Cisco-like конфигурацию на конфигурацию, сохраненную в файле.

Команда доступна в привилегированном режиме. В конфигурационном режиме используется команда do configure  replace.

В зависимости от режима существует отличие в функциональности: в привилегированном режиме выполняется конвертирование, в конфигурационном режиме - конвертирование не делается.

В команде используются префиксы, аналогичные используемым в командах работы с файлами.

Синтаксис

configure replace fs-prefix:file-path

fs-prefix:file-path

путь к файлу.

Режимы команды

privileged EXEC

Рекомендации по

использованию

Команда configure replace file используется для восстановления сохраненной в файле конфигурации.

•   В качестве параметра для данной команды рекомендуется задавать только файлы, полученные с помощью команды copy running-config. Не рекомендуется вручную писать и редактировать данные файлы.

      После ввода этой команды выдается запрос подтверждения:

% Warning: This will replace the current running configuration with the contents of the specified configuration file, which is assumed to be a complete configuration, not a partial configuration.

Are you sure you want to do this? [yes/no]:

На который надо ответить “yes” для подтверждения команды, “no” - для прерывания команды (следует ввести слово целиком, без сокращений). Для отмены команды можно нажать на CTRL+C.

      Текущая конфигурация полностью меняется на конфигурацию из файла с учетом следующих особенностей (далее для простоты используются следующие термины: «старая конфигурация» - конфигурация до ввода команды, «новая конфигурация» - конфигурация, загруженная из файла):

     Если в старой конфигурации присутствует описание пользователя, из-под которого запущен данный процесс cs_console (команда username), а в новой конфигурации команда с описанием этого пользователя отсутствует, то данная команда будет автоматически перенесена из старой конфигурации в новую с выдачей сообщения:

User '<user-name>' added to the current configuration automatically

•   Существуют особенности, связанные с обработкой команд username - их обработка существенно отличается для случаев, когда пользователь присутствовал или отсутствовал в старой конфигурации:

     Если пользователь уже присутствовал в старой конфигурации, логика обработки команды аналогична логике при загрузке начальной конфигурации (см. Таблица 2).

     Если пользователь отсутствовал в старой конфигурации, логика обработки аналогична логике при ручном вводе команды с новым пользователем (см. username password).

     Основное отличие этих двух ситуаций состоит в обработке ситуации, когда пользователь с данным именем уже существует в системе.

•   Если пользователь уже присутствовал в старой конфигурации и в качестве shell у него прописана cs_console, то он будет перенесен в новую конфигурацию без дополнительных сообщений пользователю, если в качестве shell прописана другая программа, то с выдачей сообщения:

User "<user-name>" shell changed to /opt/VPNagent/bin/cs_console

•   Если пользователь отсутствовал в старой конфигурации и в качестве shell у него прописана cs_console, то он будет перенесен в новую конфигурацию с выдачей сообщения:

Warning: User "<user-name>" already exists in the system. It was reused

В противном случае команда будет отвергнута с           выдачей сообщения об ошибке:

% User addition failed. User "<user-name>" already exists in the system.

Примечание 1

      Если в новой конфигурации отсутствуют пользователи, присутствовавшие в старой конфигурации, они будут удалены из системы с выдачей сообщения:

User '<user-name>' removed from the system automatically

за исключением пользователя, из-под которого запущен процесс cs_console.

      Если в новой конфигурации присутствуют команды настройки сетевых интерфейсов, отсутствующих в данной системе, эти команды будут проигнорированы с выдачей сообщения:

% Warning: network interface(s) <interface-list> currently not present in the system. They are ignored.

      Если в системе присутствуют интерфейсы, отсутствующие в загружаемой конфигурации:

•   их системные настройки (IP-адреса, MTU, административный статус) останутся без изменений;

     будет выдано сообщение:

% Warning: network interface(s) <interface-list> have not present in the loaded config. They left intact;

•   настройки, специфичные для cs_console (привязки различных фильтров и crypto maps, настройки DF bit и т.п.) удаляются.

    Если в новой конфигурации присутствуют системные настройки для ненастраиваемых сетевых интерфейсов, отличные от текущих настроек, они игнорируются с выдачей сообщения:  

% Warning: network interface(s) <interface-list> have different settings in the loaded config. They are not configurable, so they left intact

      Для настраиваемых интерфейсов, присутствующих и в системе, и в новой конфигурации, будет выполнено сравнение системных настроек:

     В случае если на одном интерфейсе будет зафиксировано расхождение в IP-адресах, на данном интерфейсе будут удалены все текущие адреса, а затем будет сделана попытка добавить адреса из новой конфигурации.

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

•   При детектировании любого расхождения в системных настройках на настраиваемом интерфейсе (IP-адреса, MTU, административный статус), в конце на интерфейсе будет принудительно выставлен административный статус из новой конфигурации, даже если он не менялся по конфигурации.

Примечание 2

Если в базе локальных настроек агента присутствуют CA сертификаты, отсутствующие в загружаемой конфигурации, они будут удалены из базы локальных настроек агента с выдачей сообщения:

CA '<subject-name>' removed from local settings automatically

Примечание 3

Если в новой конфигурации отсутствуют описания Preshared Keys (команда crypto isakmp key), присутствующие в старой конфигурации, то из базы локальных настроек будут удалены соответствующие им записи.

Примечание 4

Если в новой конфигурации отсутствуют статические маршруты, присутствующие в данный момент в системе, будет сделана попытка удалить эти маршруты из системы. Если в новой конфигурации присутствуют маршруты, отсутствующие в текущей системе, делается попытка их добавить.

В случае неудачи будут выданы сообщения вида:

 % Can't delete route '<prefix> <mask> { <gw-ip-addr> | <interface-name> }': <reason>

или  

% Can't add route '<prefix> <mask> { <gw-ip-addr> | <interface-name> }': <reason> 

где <prefix> <mask> - адресная информация маршрута (подробнее см. команду ip route), <gw-ip-addr> - адрес шлюза, через который проходит маршрут, <interface-name> - имя сетевого интерфейса, через который проходит маршрут, <reason> - причина ошибки.

Отличие данной

Команды от

подобной команды

Cisco IOS

•   Используется префикс “file:”, специфичный для cs_console.

      Отсутствуют дополнительные параметры команды.

      Существенно отличается логика исполнения команды - в Cisco IOS происходит автоматическое формирование дельта-конфигурации, преобразующей текущую конфигурацию в конфигурацию из файла, в cs_console данная команда просто загружает конфигурацию из файла. Указанные различные действия должны приводить к аналогичному результату.

      Существенно отличается формат вывода информационных сообщений и сообщений об ошибках.

Возможные сообщения об ошибках при выполнении команды приведены в таблице.

 

Таблица 7

Сообщение

Пояснение

% Unknown destination prefix (should be 'file:')

Перед путем к файлу не введен префикс file:

% File path is empty

Введен пустой путь к файлу:
configure replace file:

% File not found

Не удалось прочитать файл.

Примечание:

неопасная ситуация: никаких изменений в конфигурацию не было сделано

CA '<subject-name>' removed from local settings automatically

CA был автоматически удален из базы локальных настроек, поскольку он отсутствует в новой конфигурации.

% Error: CA '<subject-name>' removal falied

Была сделана неуспешная попытка удалить CA, отсутствующий в новой конфигурации

% Warning: network interface <interface> configuration failed: <msg>

Ошибка настройки сетевого интерфейса.


<msg> - сообщение, аналогичное сообщению при ручной настройке интерфейса (команды ip address, mtu, shutdown).

Примечание: ниже приведены еще несколько сообщений с указанным шаблоном; однако сообщения в них специфичны для загрузки конфигурации из файла и не имеют аналогов при ручном вводе команд.

% Warning: network interface <interface> configuration failed: 'no ip address' command is not allowed in the loaded config

Ошибка настройки сетевого интерфейса: команда no ip address недопустима в загружаемой конфигурации.

% Warning: network interface <interface> configuration failed: more than one primary address are not allowed in the loaded config

Ошибка настройки сетевого интерфейса: больше одного primary адреса на интерфейсе не допускается в загружаемой конфигурации.

% Warning: network interface(s) <interface-list> currently not present in the system. They are ignored.

Сетевые интерфейс(ы) <interface-list> отсутствуют в системе.

Их настройки проигнорированы.

% Warning: network interface(s) <interface-list> have not present in the loaded config. They left intact.

Сетевые интерфейс(ы) <interface-list> отсутствуют в загружаемой конфигурации.

Их системные настройки оставлены без изменений.

% Warning: network interface(s) <interface-list> have different settings in the loaded config. They are not configurable, so they left intact.

Сетевые интерфейс(ы) <interface-list> имеют отличные от текущих настройки в загружаемой конфигурации.

Эти интерфейсы не настраиваемые, поэтому их настройки оставлены без изменений.

User '<user-name>' removed from the system automatically

Пользователь <user-name>

автоматически удален из системы.

% Error: User '<user-name>' removal failed

Не удалось автоматически удалить пользователя <user-name> из системы.

User '<user-name>' added to the current configuration automatically

Пользователь <user-name>

автоматически добавлен в текущую конфигурацию.
Примечание: пользователь <user-name> - пользователь, из-под которого в данный момент запущен процесс cs_console.

User "<user-name>" shell changed to /opt/VPNagent/bin/cs_console

Shell пользователя <user-name> сменен на

/opt/VPNagent/bin/cs_console
Примечание: только для

пользователя, который уже

присутствовал в старой

конфигурации.

Warning: User "<user-name>" already exists in the system. It was reused.

Пользователь <user-name> уже существует в системе. Консоль теперь будет его использовать.

Примечание: только для

пользователя, отсутствовавшего в старой конфигурации;

shell пользователя-

/opt/VPNagent/bin/cs_console.

% User addition failed. User "<user-name>" already exists in the system.

Не удалось добавить пользователя. Пользователь <user-name> уже присутствует в системе.

Примечание: только для пользователя, отсутствовавшего в старой конфигурации; shell пользователя отличен от /opt/VPNagent/bin/cs_console.

% ERROR: Replace of the current running configuration failed

Не удалось заменить текущую конфигурацию на новую.

Возвращается старая конфигурация.
Примечание: в данной ситуации возможно некорректное восстановление конфигурации (особенно ссылок на внешние объекты: пользователи, CA, preshared keys).

Рекомендуется перезапустить cs_console.

LSPиconversion failed:

<cs_converter_err_msg>

Ошибка конвертирования LSP
<cs
_converter_err_msg> - сообщение об ошибке конвертора

LSP conversion complete with additional message(s):
<cs_converter_msgs>

Конвертирование LSP завершено успешно, но с дополнительными сообщениями:
<cs_converter_msgs> - сообщения конвертора