NSG - Примеры конфигурации: Консольный сервер для удалённого управления
Оборудование для сетей передачи данных
+7 (495) 727-1959

Консольный сервер для удалённого управления

Консольный сервер — специализированный компьютер, который принимает соединения со стороны сети, извлекает из них пользовательские данные и передаёт эти данные в свои асинхронные порты RS–232 без какой-либо инкапсуляции. К этим портам подключены консольные порты другого оборудования (не обязательно телекоммуникационного), размещённого в непосредственной близости от него (далее — объекты управления). Таким образом, удалённый пользователь, подключившись к этому компьютеру, может удалённо управлять своим оборудованием на данной площадке.

Поскольку хост, реализующий вышеописанную функциональность, разбирает сетевые пакеты до прикладного уровня включительно и извлекает из них "голые" данные (а также инкапсулирует их в пакеты прикладного и нижележащих уровней при передаче в обратном направлении), то его следует классифицировать именно как "сервер". Иные термины и определения ("шлюз", "преобразователь из Ethernet в RS–232" и т.п.) в данном случае некорректны.

Консольный сервер для удалённого управления

Консольные сервера могут иметь различное число портов RS–232, от 1–2 до 40–48 (большее число разъёмов физически не помещается в формат 19" 1U). В частности, наряду с многопортовыми серверами серии NSG–1700AS могут использоваться также малопортовые NSG–1700TS или устройства NSG–1700, NSG–1730 для управления 1–2 единицами оборудования.

При работе с консольными серверами следует различать две категории сотрудников. Совмещать эти категории, как правило, не требуется и не рекомендуется:

  • Консольные пользователи — администраторы и операторы объектов управления. Их соединения пробрасываются из сети в заданные порты RS–232 прозрачным (или почти прозрачным) образом. Доступ к конфигурации самого сервера для них, как правило, не требуется. Соответственно, их профессиональные компетенции должны включать знание их объектов управления; знание консольного сервера от них не требуется. Число таких пользователей может быть большим: по числу объектов управления, умноженному на 2–3.
  • Администраторы консольного сервера — лица, которые имеют доступ к управлению самим консольным сервером и обеспечивают работу консольных пользователей. Как правило, для управления сервером, как и любой другой единицей оборудования, необходимо и достаточно иметь 2–3 (на случай отпуска, увольнения, скоропостижной смерти и т.п.) доверенных и квалифицированных администраторов.

Консольные серверы NSG предлагают различные методы удалённого доступа к своим асинхронным портам, а также ряд дополнительных сервисов.

Настройка и отладка физического уровня
Reverse Telnet
Reverse SSH (классический для Linux)
Reverse SSH c синтаксисом Cisco
Web-терминалы
Управляющие символы и последовательности


Настройка и отладка физического уровня

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

baudrate
alt-baudrate
parity
databits
stopbits
flowcontrol

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

Подробную справку по всем параметрам см. на устройстве (кнопка "?" рядом с каждым параметром) или на сайте.

Кабели для портов RS–232 в комплект поставки не входят, поскольку производитель не может знать ни требуемую длину, ни тип разъёма на противоположном конце для конкретного объекта управления. Кабели изготавливаются или приобретаются по месту. Если консольный порт на объекте управления тоже имеет разъём RJ–45 с назначением контактов Cisco, то нужен кросс-кабель (1–8, 2–7 ... 8–1). Если там стандартный DB–9 "папа", то нужен кабель NSG CAS–V24/D9/FC/A или аналогичный кабель Cisco или сторонних поставщиков. См. назначение контактов и схемы кабелей. Если что-либо иное, то надо изготавливать кабель, исходя из назначения контактов на порту объекта управления (см. документацию по нему), или собирать цепочку из вышеупомянутых кабелей, фирменного кабеля производителя и кросс-адаптеров (gender changers).

Отладка физического уровня. Поставить в порту adm-state=down или encapsulation=none, применить изменение, станет доступна команда raw-access.launch . По ней открывается терминальное окно, в котором можно работать напрямую с портом, встроенной консольной утилитой, никак не связываясь с настройками сетевых сервисов. Если физические соединения и настройки сделаны правильно, в окне должно появиться приглашение от объекта управления, (возможно, для этого понадобится нажать Enter), и дальше с ним можно работать из этого окна. Если нет, то проблема чаще всего в неподходящем кабеле или в несогласованных настройках управления потоком.

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


Reverse Telnet

Самый простой метод. Но небезопасный: всё передаётся в открытом виде (в т.ч. пароли), поэтому его можно использовать только в пределах защищённого корпоративного периметра сети, или в туннеле.

port
: a2
: : adm-state = up
: : encapsulation = reverse-telnet
: : : reverse-telnet
: : : : tcp-port = 10002

Консольный пользователь заходит клиентом Telnet на устройство NSG (по адресу или доменному имени) по указанному номеру порта TCP. В консольном клиенте это обычно выглядит так:

telnet a.b.c.d 10002

В графических клиентах (PuTTY, SecureCRT и т.п.) необходимо задать адрес/имя NSG и номер порта TCP в соответствующих окошках.

В результате пользователь проваливается в порт a2 и видит приглашение того объекта управления, который к нему подключён. Аналогично для остальных портов. Рекомендуется соблюдать некую мнемонику, для удобства: номер порта TCP = некая база + номер физического порта на NSG.


Reverse SSH (классический для Linux)

Используется тот же сервер SSH, что и для управления самим устройством NSG. Курсивом выделены параметры, настроенные по умолчанию; они приведены для справки, перенастраивать их не обязательно.

port
: a3
: : adm-state = up
: : encapsulation = reverse-ssh
: : : reverse-ssh
: : : : username = a3
: : : : password >              // ввести в интерактивном режиме
services
: ssh
: : enable = true
: : port = 22

Консольный пользователь заходит на сервер клиентом SSH, с указанным именем. В консольном клиенте:

ssh a3@a.b.c.d

В графических клиентах задаётся адрес/имя консольного сервера и имя пользователя в соответствующих окошках. Номер порта TCP — стандартно 22. Первый раз надо будет принять ключ от сервера, т.е. внести его в список доверенных хостов. При последующих подключениях — только вводить пароль.

В результате пользователь проваливается в порт a3 и видит приглашение объекта управления. Имя порта можно изменить, например, на название или сетевое имя объекта управления.

Примечание. У клиентов SSH для Windows может быть несовместимость с актуальными версиями SSH в Linux. Для успешного подключения нужно вручную переставить шифр ChaCha20 на первое место в списке приоритетов. Подробнее см. справку по настройке PuTTY.


Reverse SSH с синтаксисом Cisco

Используется отдельный сервер SSH на отдельном порту TCP. (Можно поменять местами со стандартным сервером.) Отличия от стандартного:

  • Имя для входа привязано к конкретному пользователю (человеку), а не к порту.
  • Не обязательно создавать пользователей на устройстве, можно на централизованном сервере TACACS+.
  • Сервер TACACS+ может избирательно разрешать/запрещать доступ к определённым портам.
  • При входе на само устройство для управления им — на сервере TACACS+ возможна авторизация для выполнения каждой команды.

Пример с локальной аутентификацией:

port
: a4
: : adm-state = up
: : encapsulation = cisco-like-reverse-ssh
services
: cisco-like-reverse-ssh
: : enable = true
: : port = 2222
system
: users
: : BasilePoupkine
: : : password >              // ввести в интерактивном режиме

Консольный пользователь заходит на сервер клиентом SSH, с указанным именем, номером нужного физического порта (в терминах документации Cisco — линии) и номером порта TCP, на котором работает этот сервер. В консольном клиенте

ssh BasilePoupkine:4@a.b.c.d -p 2222

Если сервер переставлен на стандартый порт TCP 22, то его явно указывать при вызове не надо.

Для графических клиентов SSH следует указать имя пользователя в формате BasilePoupkine:4 .

В результате пользователь проваливается в порт a4 и видит приглашение объекта управления.

Если пользователь заходит на сервер без номера линии

ssh BasilePoupkine@a.b.c.d -p 2222

то он попадает в консоль самого устройства NSG. Но там для локального пользователя не будет никаких доступных команд, поскольку для него надо сформировать ещё и индивидуальное дерево команд. Подробнее см. справку по параметру scheme. Для пользователя, определённого на сервере TACACS+ — на этом же сервере можно прописать, какие узлы конфигурации доступны и какие нет.


Web-терминалы

Фирменная разработка NSG. Позволяет работать в консольном режиме без установки программ Telnet и SSH, отсутствующих, в частности, во многих версиях ОС Windows; на ПК пользователя необходим только Web-браузер (любой из современных). Используется отдельный Web-сервер на отдельном порту TCP. (Можно поменять местами со стандартным сервером.) Работает только по безопасному протоколу HTTPS. Cоздавать пользователей для работы с асинхронными портами на устройстве не обязательно, можно на централизованном сервере TACACS+.

Пример с локальной авторизацией:

port
: a5
: : adm-state = up
: : encapsulation = web-terminal
services
: web-terminal
: : enable = true
: : port = 443
system
: users
: : BasilePoupkine
: : : password >              // ввести в интерактивном режиме

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

Консольный пользователь заходит на сервер web-браузером по адресу

https://a.b.c.d
(или https://a.b.c.d:port, если задан иной номер порта TCP), авторизуется по имени и паролю, и получает страницу с терминальными окнами для всех портов, которые имеют инкапсуляцию web-terminal, плюс одно окно для доступа к самому устройству NSG. Во всех окнах будут приглашения подключённых объектов управления.


Управляющие символы и последовательности

Для всех 4 способов доступа можно определить спецсимволы, которые будут использоваться для завершения сессии, для генерации сигнала BREAK на порту сервера, и для посылки управляющих последовательностей. См. параметры escape-* в узлах соответствующих инкапсуляций.

Управляющие последовательности используются для переключения скорости порта "на лету" (полезно для старых устройств Cisco), мониторинга/управления сигналами асинхронного интерфейса и т.п. Подробнее см. справку.

В качестве управляющих следует выбирать символы, которые никогда не используются для работы с объектом, подключённым к данному порту. Наиболее часто это могут быть ~, ^, # и т.п. По умолчанию, управляющие символы не определены, чтобы передача была полностью прозрачной; при необходимости их следует назначить явно.