Запуск консоли

CLI консоль автоматически запускается при входе в систему пользователем “cscons” (для него программа cs_console прописана как default shell). Кроме того, пользователи, обладающие административными привилегиями (например, “root”), могут запускать консоль непосредственно из shell операционной системы по мере необходимости. Запуск производится вызовом команды cs_console, находящейся в каталоге /opt/VPNagent/bin/.

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

Дополнительные ключи командной строки:

·       nolog – сообщения о состоянии команды выводятся вstdout и не выводятся в лог (по умолчанию – выводятся в лог).

Одним из первых действий при работе с cs_console устанавливаются параметры логирования, как и для сервиса vpnsvc (те же самые, что демонстрируются и выставляются с помощью утилиты log_mgr см. документ «Специализированные команды»).

При запуске для процесса cs_console выставляется значение переменной окружения PATH:

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

Изменить значение переменной окружения PATH можно в файле cs_conv.ini (секция [env]), который расположен в каталоге /opt/VPNagent/bin. Подробное описание смотрите в документе «Программный комплекс С-Терра Шлюз. Версия 4.1. Приложение» в разделе «Управление конвертором с помощью INI-файла».

 

Синхронизация

При старте консоли происходит синхронизация описания CA-сертификатов в базе локальных настроек и Cisco-like конфигурации (команда trustpoint):

1.   Если в Cisco-like конфигурации присутствует сертификат, который отсутствует в базе локальных настроек (например, сертификат, удаленный с помощью команды cert_mgr remove), то этот сертификат автоматически удаляется из Cisco-like конфигурации с выдачей сообщения в лог. Если этот сертификат был последним в trustpoint, этот trustpoint автоматически удаляется.

2.   Если в базе локальных настроек присутствует сертификат, который отсутствует в Cisco-like конфигурации, то этот сертификат добавляется в Cisco-like конфигурацию командой truspoint с именем s-terra_technological_trustpoint. Если этот trustpoint отсутствует, он создается автоматически.

Также при старте консоли происходит синхронизация описания preshared ключей в базе локальных настроек и Cisco-like конфигурации:

1.   Если в Cisco-like конфигурации присутствует ключ, который отсутствует в базе локальных настроек (например, ключ, удаленный с помощью команды key_mgr remove), то этот ключ автоматически удаляется из Cisco-like конфигурации с выдачей сообщения в лог.

2.   Если значение ключа, указанного в Cisco-like конфигурации, поменялось в базе локальных настроек, то значение ключа также меняется и в Cisco-like конфигурации.

 

При запуске утилиты cs_console возможны ошибки, которые выдаются на консоль:

Таблица 1

Текст сообщения

Пояснение

ERROR: failed to read cs_conv.ini[: <reason>]

где <reason> (если присутствует) один из:

product was damaged or not installed

file has invalid format

integrity check failed

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

Возможная причина:

продукт поврежден или некорректно установлен

файл имеет неправильный формат (вероятно допущена ошибка при редактировании)

не пройдена проверка целостности (одна из возможных причин – файл был отредактирован, при этом не был сделан вызов integr_mgr calc -f /opt/VPNagent/etc/cs_conv.ini)

ERROR: vpnsvc daemon is not running, cs_console will exit now!

Press ENTER to continue  

Ошибка: сервис vpnsvc не запущен. cs_console сейчас завершит работу.

Для продолжения нажмите ENTER…

(сообщение возникает, если во время работы cs_console был остановлен сервис vpnsvc)

ERROR: Could not initialize module manager.

Press ENTER to exit  

Ошибка: не удалось инициализировать module manager.

Для выхода нажмите ENTER…

(скорее всего, обозначает, что Продукт неправильно установлен или испорчен)

ERROR: Could not establish connection with daemon.

Press ENTER to exit  

Ошибка: не удалось установить связь с сервисом.

Для выхода нажмите ENTER…

(наиболее вероятная причина – попытка запуска cs_console при остановленном сервисе)

ERROR: Could not initialize resources.

Press ENTER to exit  

Ошибка: не удалось проинициализировать ресурсы.

Для выхода нажмите ENTER…

(скорее всего, обозначает, что Продукт неправильно установлен или испорчен)

ERROR: Could not initialize interfaces.

Press ENTER to exit  

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

Для выхода нажмите ENTER…

ERROR: Invalid XML file.

Press ENTER to exit...

Ошибка: неверный формат XML-файла.

Для выхода нажмите ENTER…

ERROR: Unable to get super-user privileges.

Press ENTER to exit...

Ошибка: невозможно получать права суперпользователя.

Для выхода нажмите ENTER…

ERROR: Internal error.

Press ENTER to exit...

Ошибка: внутренняя ошибка.

Для выхода нажмите ENTER…

Password required, but none set

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

 

Загрузка начальной конфигурации

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

·       Если для данной ошибки доступно специфическое сообщение (которое может быть выведено в случае подобной ошибки при ручном вводе команды), то это сообщение выдается на консоль.

·       На консоль выдается сообщение:

Warning: Command "<cmd>" processing failed

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

Command "<command_line>", processed with status FAIL

·       Команда игнорируется.

 

При старте cs_console читается файл /etc/ifaliases.cf.

cs_console воспринимает алиасы интерфейсов (параметр “name”) следующих форматов:

·       FastEthernet<n>/<m>

·       GigabitEthernet<n>/<m>

·       TenGigabitEthernet<n>/<m>

·       Async<n>

где <n> и <m> – произвольные неотрицательные числа. Пробелы в данных форматах не допускаются.

Интерфейс с алиасом “default” игнорируется без выдачи дополнительных сообщений.

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

Warning: Interface(s) <interface_list> ignored due to incompatible name format

где <interface_list> – список алиасов интерфейсов, которые проигнорированы cs_console.

Для работы cs_console необходимо, чтобы присутствовал хотя бы один интерфейс с подходящим алиасом. В противном случае cs_console завершит работу с выдачей сообщения об ошибке:

ERROR: At least one interface with compatible name must be present in file "/etc/ifaliases.cf".

Присутствующие на момент старта консоли физические сетевые интерфейсы распределяются по зачитанным логическим интерфейсам.

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

 

При старте cs_console производится проверка соответствия пользователей операционной системы и пользователей, указанных в Cisco-like конфигурации. Возможные ситуации и действия, выполняемые cs_console описаны в Таблица 2.

Таблица 2

Присутствие пользователя в Cisco-like конфигурации

Присутствие пользователя в системе

Совпадение пароля в Cisco-like конфигурации и в системе

Указание cs_console в качестве shell у пользователя

Действие cs_console

+

+

+

+

Ничего не делается

+

+

 

*

Смена пароля в системе (Cisco-like конфигурация имеет приоритет)

+

+

*

 

Смена shell на cs_console

+

 

N/A

N/A

Создание пользователя (аналогично ручному вводу команды)

 

+

N/A

+

Только при соблюдении следующих условий:

а) Формат имени пользователя соответствует допустимому в команде username.

б) У пользователя установлен непустой пароль.

Добавление пользователя в Cisco-like конфигурацию. Использование зашифрованного пароля, зарегистрированного в системе. Выставление для пользователя минимального уровня привилегий (0).

Дополнительно в этом случае на консоль выдается предупреждение следующего вида:

% Warning: User(s) <user-list> were automatically added to configuration. Zero privilege level was assigned to them.

где <user-list> – список пользователей, автоматически добавленных в Cisco-like конфигурацию.

 

+

N/A

 

Ничего не делается

 

Примечания:

Звездочка (*) обозначает, что для данной строки условие не важно.

N/A обозначает, что для данной строки условие неприменимо.

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

Если при попытке сменить shell пользователя произошла какая-то ошибка, пользователь не добавляется в Cisco-like конфигурацию. На консоль выдается сообщение об ошибке:

% User "<username>" shell  change  failed.

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