Свой сервер удаленной консультации на выделенном сервере Linux CentOS

Разворачиваем свою систему для удаленного доступа к клиентам с целью консультирования их по работе с конфигурациями 1С. В статье приведено описание, как развернуть сервер удаленной консультации на дешевом VDS Linux-сервере CentOS.

Предисловие

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

Введение

Основная проблема в размещении сетевых серверных приложений взаимодействующих по интернету лежит в обеспечении достаточной пропускной способности и минимальной задержки канала связи. Для обеспечения этих требований удобно использовать выделенные виртуальные сервера (VPS/VDS). Ключевые требования для сервера Удаленной консультации как раз опираются на канал связи и мощность процессора, поэтому для настройки такого сервера будем использовать дешевый VPS/VDS-хостинг, цены по интернету разные, я ориентировался на самые дешевые, выбранный мной тариф стоит 65 руб./мес. Параметры используемого сервера были следующие:

  • CPU: Intel Xeon, 1 ядро, 2.2 ГГц;
  • RAM: 512 Мб;
  • HDD: 10 Гб;
  • Операционная система: CentOS 7 (x86_64);
  • Трафик: безлимитный, средняя задержка по тестам 60 мс.

Настройка и запуск сервера

          Процесс регистрации и покупки сервера я описывать не буду, так как не получится без рекламы, но и описания он не требует, так как все интуитивно понятно. Обычно, после регистрации на странице хостера и оплаты сервера вам выдаются логин и пароль для root-доступа к серверу по SSH, так же зачастую процедура подключения описана на выбранном хостинге. Для подключения по SSH будем использовать клиент PuTTY, для передачи файл с целевой Windows машины на сервер файла PSCP из набора PuTTY.

          Первым делом необходимо на выделенный сервер закачать исполняемый файл сервера Удаленной консультации для операционной система CentOS, в архиве к статье Удаленная консультация файл называется rh_server, реализованный на golang. Я пользуюсь по работе в основном Windows, поэтому закачивать на сервер будем упомянутой выше утилитой pscp.exe, запустим командную строку и напишем:

"Путь к утилитеpscp.exe" "путь к файлу
h_server" root@ip_адрес_сервера:/usr/bin

затем введем пароль и файл будет закачен в директорию исполняемых файлов /usr/bin. После этого зайдем в консоль PuTTY, залогинимся, переключимся на коневую директорию и все дальнейшие команды набираются исходя из того, что мы находимся в корневой директории

cd /

Так как я копировал файл с Windows-машины на Linux теперь необходимо для нашего файла rh_server установить соответствующие атрибуты доступа

chmod 700 /bin/rh_server

Далее необходимо определиться, на каком порту будет работать сервер, например 80, тогда необходимо в настройки сетевого экрана добавить разрешение на работу по указанному порту

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

перезагружаем правила

/etc/init.d/iptables restart

После этого можно запускать сервер, для того чтобы при отключении сессии PuTTY наш сервер работал необходимо использовать команду nohup, при этом вывод всей информации направим в файл /tmp/rh_log

nohup rh_server –port=80 > /tmp/rh_log &

Далее можно наблюдать подключения по логу, например так

cat /tmp/rh_log

Результаты

         Проверяем сервер небольшим нагрузочным тестом. Исходные параметры:

  • Размер экрана: 1920 х 1080;
  • Качество передаваемой картинки: 8 бит (256 цветов);
  • Количество одновременно работающих клиентов: 20 клиентов (10 пар);
  • Процент изменения области экрана при передачи: не менее 40% при каждой отправке данных, что соответствует очень интенсивной работе.

Полученные результаты:

  • Среднее количество кадров на клиенте: 7 кадров в секунду, что является отличным результатом, комфортность сохраняется до 4 кадров включительно;
  • Средний объем принимаемых данных в секунду: 45 Кб/с;
  • Загруженность процессора в пике программой:  8%
  • Загруженность оперативной памяти сервера программой, средняя: 3.1%

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

14 Comments

  1. Steelvan

    Можно доработать ваше решение для проведения вебинаров ?

    Reply
  2. Steelvan

    С демонстрацией рабочего стола 🙂

    Reply
  3. ifal

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

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

    Reply
  4. Steelvan

    (3)

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

    Из-за отсутствия альтернатив, приходиться покупать TeamViewer за 100.

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

    Reply
  5. Steelvan

    Скайп у многих компаний запрещен, т.к. америкосовское.

    Reply
  6. ifal

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

    Reply
  7. Steelvan

    (5)

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

    Тогда приходиться выкручиваться сервисами, типа webinar.ru и прочими.

    Пробовали поднять Big Blue Button = тормоза при показе рабочего стола.

    Reply
  8. Vovan58

    Для передачи файлов по SSH (SFTP) из Винды использую filezila — нормально получается 🙂

    Reply
  9. sansys

    Как раз возникла необходимость создания подобного сервиса. Спасибо за идею +1

    Reply
  10. drimer

    Для автозапуска при перезагрузки добавляем в файл /etc/crontab строчку:

    @reboot sleep 15 && /bin/rh_server –port=80

    В Debian 8 amd64 и Ubuntu 16.04 rh_server замечательно работает

    Reply
  11. ifal

    (11) Здорово, что еще кто-то пользуется 😉

    Reply
  12. Vovan58
    для передачи файл с целевой Windows машины на сервер файла PSCP из набора PuTTY

    — обычно использую FileZilla Client — он sftp тянет легко (задаете порт 22, если стандартно)

    Reply
  13. SerVer1C

    Респект автору и плюс в копилку!

    Reply
  14. ifal

    (14) Спасибо!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *