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 конфигурацию. На консоль выдается сообщение об ошибке, аналогичное сообщению, выдаваемому в подобной ситуации при попытке ручного добавления пользователя.