Отчет о внедрении решения на базе ОС Linux в учебный класс ЦСО.
Задание:
Разработать и внедрить в учебный класс ЦСО терминальную клиент-серверную архитектуру сети на базе ОС Linux. Обеспечить достаточную функциональность всего программного обеспечения, необходимого для проведения курсов ЦСО (1С:Предприятие 8.1, офисный пакет, ПО для чтения документов в формате *.chm и *.pdf). Подготовить необходимую документацию.
Ход выполнения работ:
Всю работу условно можно разделить на три больших этапа:
- Теоретическая подготовка: изучение необходимых методических материалов и технической документации, знакомство с различными ОС и протоколами удаленного доступа. Анализ подобных внедрений.
- Практическая подготовка: определение необходимого технического и программного обеспечения, разработка плана внедрения.
- Внедрение: покупка недостающих комплектующих, установка и настройка ПО. Тестирование полученной конфигурации и сдача класса в эксплуатацию.
Теоретическая подготовка:
В ходе теоретической подготовки были изучены особенности следующих дистрибутивов: ALTLinux, CentOS, Debian GNU\Linux, Slackware, Mandriva, Fedora, Ubuntu. Были изучены следующие протоколы удаленного рабочего стола: VNC, RDP, SSH, XServer, NX.
Протоколы:
Virtual Network Computing (VNC) система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (Remote FrameBuffer). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть. VNC — очень простой протокол, основанный на графических примитивах: «Положить прямоугольник пиксельных данных на заданную координатами позицию». Сервер посылает небольшие прямоугольники клиенту. Такая схема в своей примитивной форме потребляет большую часть пропускной возможности канала. Для снижения нагрузки на канал используются различные методы. Существуют различные кодировки — методы определения наиболее эффективного способа передачи этих прямоугольников. Протокол VNC позволяет клиенту и серверу «договориться» о том, какая кодировка будет использована. Самый простой метод кодирования, поддерживаемый всеми клиентами и серверами — «raw encoding», при котором пиксели передаются в порядке слева-направо, сверху-вниз, и после передачи первоначального состояния экрана передаются только изменившиеся пиксели. Этот метод работает очень хорошо при незначительных изменениях изображения на экране (движения указателя мыши по рабочему столу, набор текста под курсором), но загрузка канала становится очень высокой при одновременном изменения большого количества пикселей, например, при просмотре видео в полноэкранном режиме.
RDP (англ. Remote Desktop Protocol, протокол удалённого рабочего стола) — протокол прикладного уровня, использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Клиенты существуют практически для всех версий Windows (включая Windows CE и Mobile), Linux, FreeBSD, Mac OS X. По-умолчанию используется порт TCP 3389. Официальное название Майкрософт для клиентского ПО - Remote Desktop Connection или Terminal Services Client (TSC), в частности, клиент в Windows XP/2003/Vista называется mstsc.exe.
Особенности:
• Поддержка 32битного цвета (в дополнении к 8, 15, 16, и 24 битного в предыдущих версиях)
• 128-битовое кодирование, используя алгоритм кодирования RC4 (значение безопасности по умолчанию; старые клиенты могут использовать более слабое кодирование). Но из-за уязвимости ” man-in-the-middle vulnerability ” в версиях ранее 6.0 , во многих случаях, трафик может быть расшифрован по пути.
• Поддержка Transport Layer Security.
• Звук с удалённого ПК переадресовывается и воспроизводится на локальном компьютере.
• Позволяет подключать локальные ресурсы к удалённой машине (мапить их)
• Позволяет использовать локальный или сетевой принтер к удалённому ПК
• Позволяет приложениям, выполняющимся в пределах текущего сеанса обращаться к локальным последовательным и параллельным портам.
• Можно обмениваться информацией через буфер обмена.
X Window System — оконная система, которая обеспечивает стандартные инструменты и протоколы для построения графических интерфейсов пользователя. Почти все современные операционные системы поддерживают X Window System, но в основном она закрепилась в UNIX-подобных системах в качестве стандарта «де-факто». В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя. В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер), а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).
NX. Основной идеей протокола NX является дифференциальное сжатие данных X сервера и уменьшение количества передаваемых данных с помощью прокси-сервера. Идея дифференциального сжатия изначально была реализована в протоколе DXPC, в 1995 году. На основе этих разработок компания NoMachine создала свой коммерческий (но в основной массе открытый) продукт. Также существует полностью открытая и бесплатная реализация NX — FreeNX.
Практическая подготовка.
Основываясь на теоретических данных, полученных в результате теоретической подготовки, была разработана следующая структура класса ЦСО:
1 сервер терминалов: CPU Intel Celeron 2500, 1280 Мб ОЗУ, 80 Гб жесткий диск.
ПО: ОС ALTLinux Desktop 4.0.2, сервер терминалов freenx 0.7.2, WINE@ETERSOFT (свободная сборка), 1С:Предприятие 8.1.
5 тонких клиентов: CPU Intel Celeron 1000, 128 Мб ОЗУ, 20 Гб жесткий диск.
ПО: ОС PuppyRus Linux 1.20 Modern, NoMachine NX Client for Linux.3.2.0.
Данного оборудования вполне достаточно для комфортной работы пользователей с небольшими (до 250 Мб) базами 1С:Предприятия 8.1.
Протокол NX выбран как самый быстрый и нетребовательный к ресурсам компьютеров и сети, но в то же время обеспечивающий достаточное качество передачи данных. FreeNX – open-source реализация сервера терминалов, работающего по протоколу NX.
ОС для сервера ALTLinux Desktop была выбрана из соображений удобства работы в ней как системного администратора, так и пользователей.
ОС для тонких клиентов PuppyRus Linux была выбрана как система, обладающая минимальными системными требованиями, но вместе с тем удобная в работе и настройке.
Ход внедрения:
Ход внедрения описывается в предыдущих моих постах и будет описываться в последующих, пока я не освещу все стороны работы так, чтобы человек, обладающий базовыми познаниями в линуксе смог самостоятельно настроить подобную конфигурацию сети.
Результат работ:
В результате внедрения была получена полностью работоспособная конфигурация сети, состоящая из одного сервера терминалов и пяти тонких клиентов, предназначенная для проведения курсов Центра Сертифицированного Обучения фирмы «1С».
Источники, использованные при подготовке:
Ну, и коллективный разум Linux-community. ;)
P.S. Я играю в Blogowar.ru, чего и вам советую. :)
6 Комментариев
Оставить комментарий







Сентябрь 11th, 2008 at 16:36
Что-то ни как не могу понять зачем тебе протоколы понадобились в этом деле для удаленной работы, поясни пожалуйста. И если можно расспиши о ходе внедрения по подробнее уж очень интересно как это все вместе связывается и работает.
Статья замечательная, давай зачетку: “Пять!” =)
Сентябрь 11th, 2008 at 22:29
Как это зачем? А каким еще образом осуществлять удаленный доступ, кроме как посредством программ, работающих по этим самым протоколам удаленного доступа? :)
А статьи про ход внедрения будут, куда же я без них. Про установку сервера написал, на очереди статьи про настройку клиентских машин и про грамотную настройку WINE для условий терминального доступа(одновременная работа нескольких пользователей на одной машине).
Сентябрь 12th, 2008 at 20:40
все понял, ты доступ терминально настроил…
>>статьи про настройку клиентских машин и про грамотную настройку >>WINE для условий терминального доступа
ждем-с, тема очень занимательная, интересная и самое главное актуальная.
Сентябрь 12th, 2008 at 21:34
>>все понял, ты доступ терминально настроил…
Ну, иначе 1С-восьмерку на тысячном целероне со 128 метрами RAM хрен заведешь…
З.Ы. Анонс: Статья про клиенты будет завтра (13.09), про WINE - на следующей неделе.
Сентябрь 16th, 2008 at 9:32
В посте много чего упрощено, в отличии от реалий. И это нормально.
Сентябрь 25th, 2008 at 5:42
Спасибо! Супер статья! Блог уже в ридере )