ubuntu-10.04 freenx

Применимость: Linux, OpenVZ

Слова для поиска: удаленный рабочий стол, terminal server


Задача:

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

Требования

  • Безопасная базовая платформа Linux
  • Безопасная передача данных между клиентом и сервером
  • Гарантия от «бэкдоров»(незадокументированных возможностей)
  • Высокая скорость работы на медленных соединениях
  • Удаленность информации и оборудования от «заинтересованных лиц»

Решение:

Мало известно удачных сетевых протоколов высокого уровня, способных эффективно сжимать и шифровать трафик между тонким клиентом и сервером. Наиболее известные и популярные из них – это RDP от Microsoft и ICA от Citrix.

Для доступа к графическому интерфейсу X Window System (Linux/UNIX) обычно используются протоколы VNC и XDMCP. Однако есть намного более эффективное решение - FreeNX (NoMachine NX).

FreeNX - это открытый программный продукт, который предоставляет возможность безопасного и достаточно быстрого удаленного доступа к вашей системе через графический интерфейс с использованием рабочего стола Gnome, KDE и т. п.

FreeNX заметно эффективнее чем использование VNC или XDMCP

NX использует три основных метода ускорения работы приложений: сжатие, кэширование и подавление избыточного трафика X-протокола.

В основе идеи разностной компрессии лежит проект Differential X Protocol Compressor (DXPC) [10], созданный в 1995 году, там уже упоминаются термины клиентского и серверного прокси. Nomachine подхватила идею и разработала свой собственный продукт. Заявляется о 10-кратном превосходстве NX над стандартной библиотекой ZLIB.

Nomachine также разработала умный механизм кэширования X-трафика, который использует знакомый по прокси-серверам термин «попаданий в кэш». Этот механизм сокращает сетевой трафик при передаче одних и тех же блоков данных, а при изменении этих блоков данных потока вычисляет и передает только их разницу.

До NX не было надежного способа подавления избыточного трафика X-протокола на дальних линиях связи. NX может это делать, транслируя X-трафик на удаленном конце(от приложения к nxagent) в трафик протокола NX.

Все три метода совокупно позволяют достичь 70-кратного улучшения работы с удаленным X GUI при использовании наибольшего уровня сжатия на линиях связи с низкой пропускной способностью и большой задержкой (в настройках клиента NX «modem» соответствует максимальному сжатию, а «lan» – отсутствию сжатия). На рис. 1 под цифрой 2 показана взаимосвязь компонентов NX: на модулях NX Proxy осуществляется компрессия/декомпрессия и кэширование, между ними проходит трафик по NX-протоколу, требования к качеству линий связи минимальны, заявляется о возможности работы вплоть до скорости 9600 бит/сек.

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

FreeNX использует очень эффективную компрессию данных и шифрование, поддерживает различные протоколы связи и шифрования.

Есть клиентские программы для доступа к серверу для Linux и MS Windows

Подготовка к работе

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

Порт SSH

Изменять порт не обязательно. Но это полезно для безопасности. Нестандартный порт уменьшает вероятность обнаружения его ботами которые будут пытаться подобрать пароль.

Отредактируйте файл /etc/ssh/sshd_config

Надите строку

Port 42222

Измените на значение в диапазоне от 1025 до 65000 Например укажите:

Port 38888

Перезапустите демон SSHD

/etc/init.d/ssh restart

Отредактируйте файл /etc/nxserver/node.conf

Найдите параметр

SSHD_PORT=42222

измените его на установленный ранее порт

SSHD_PORT=38888

Установка NX

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

/usr/lib/nx/nxsetup --install

После этого FreeNX сервер готов к работе.

Осталось установить клиентские программы и создать учетные записи пользователей.

Создание учетных записей пользователей

Команды выполняются в консоли сервера

Создать учетную запись в Linux

useradd -m -G sudo <имя пользователя>

Задать пароль доступа

passwd <имя пользователя>

Зарегистрировать пользователя на службе FreeNX

nxserver --adduser <имя пользователя>

Установка клиентских программ в Linux

Можете использовать клиентские программы с сайта nomachine.com

Или используйте открытое ПО.

В каждом дистрибутиве Linux могут быть использованы разные утилиты управления программами.

Например: установка QTNX (Opensource client) в Debian или Ubuntu

sudo apt-get install qtnx

Установка клиентских программ в Windows

Для работы с сервером в Windows нужно скачать и установить программу NX Client for Windows

Если будет высокая загрузка процессора, то нужно отключить DirectDraw в настройках NX Client

Настройка клиента

Запустите NX Connection Wizard

Укажите параметры подключения

Укажите тип рабочего стола и режим экрана

установлен и сконфигурирован только Gnome

Укажите логин и пароль. Нажмите кнопку Login и ждите подключения.

Иногда это может длиться несколько минут

Известные проблемы

Не рекомендуем использовать flashplayer, очень тормозит.

Ссылки: