- Windows Server или Linux-дистрибутивы? Выбираем серверную ОС
- Windows Server
- Ubuntu
- Debian
- CentOS
- Вместо вывода
- VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04
- Оглавление:
- Установка графического окружения
- Русификация сервера и установка ПО
- Установка и настройка сервера RDP
- Настройка межсетевого экрана
- Подключение к серверу RDP
- Менеджер сессий и сеансы пользователей
- Переключение раскладок клавиатуры
Windows Server или Linux-дистрибутивы? Выбираем серверную ОС
Операционные системы — это краеугольный камень современной индустрии. С одной стороны они потребляют ценные ресурсы сервера, которые можно было бы пустить на что-нибудь более полезное. С другой — операционная система выступает оркестратором для приложений сервера и позволяет сделать из однозадачного вычислительного комплекса многозадачную платформу, а также облегчает взаимодействие всех заинтересованных сторон с оборудованием. Сейчас основной мейнстрим серверных ОС — это Windows Server + несколько Linux-дистрибутивов различной направленности. Каждая из этих операционных систем имеет свои плюсы, минусы и ниши применения. Сегодня мы кратко поговорим о тех системах, которые поставляются вместе с нашими серверами.
Windows Server
Эта операционная система крайне популярна в корпоративном сегменте, хотя большинство рядовых пользователей и ассоциируют Windows исключительно с десктопной версией для ПК. В зависимости от задач и необходимой к поддержке инфраструктуры сейчас в эксплуатации компаний находятся сразу несколько версий Windows Server, начиная с Windows Server 2003 и заканчивая последней версией — Windows Server 2019. Мы поставляем серверы со всеми перечисленными операционными системами, то есть это Windows Server 2003, 2008 R2, 2016 и 2019.
Windows Server 2003 используется, в основном, для поддержки корпоративных систем и сетей, построенных на базе Windows XP. Удивительно, но снятая около пяти лет назад с поддержки версия десктопной ОС от Microsoft до сих пор находится в эксплуатации, так как под нее в свое время было написано много проприетарного ПО для производства. То же касается и Windows Server 2008 R2 и Windows Server 2016 — они наиболее совместимы со старым, но рабочим программным обеспечением и поэтому используются по сей день.
Основные плюсы серверов под управлением Windows — относительная простота администрирования, достаточно большой пласт информации, мануалов и ПО. Кроме того, вы не сможете обойтись без сервера на Windows, если в экосистеме компании есть программное обеспечения или решения, использующие библиотеки и части ядра систем Microsoft. Также сюда можно добавить технологию RDP для доступа пользователя к серверным приложениям и общую универсальность системы. Кроме того, Windows Server обладает облегченной версией без GUI с ресурсопотреблением на уровне Linux-дистрибутива — Windows Server Core, о которой мы писали ранее. Все серверы под управлением Windows мы поставляем с активированной лицензией (для новых пользователей она бесплатная).
В минусы Winserver можно записать сразу два параметра: стоимость лицензии и потребление ресурсов. Среди всех серверных ОС Windows Server наиболее прожорлива и требует минимум одно ядро процессора и от полутора до трех гигабайт оперативной памяти просто для работы ядра и стандартных служб. Эта система не подходит для маломощных конфигураций, а также имеет ряд уязвимостей, связанных с RDP и политиками групп и пользователей.
Чаще всего Windows Server предназначена для администрирования интранетов компаний и обеспечения работоспособности специфического ПО, работы баз данных MSSQL, инструментов ASP.NET или другого созданного специально для Windows ПО. При этом это все еще полноценная ОС, на которой можно развернуть маршрутизацию, поднять DNS или любую другую службу.
Ubuntu
Ubuntu — один из наиболее популярных и стабильно развивающихся дистрибутивов семейства Linux, выпущенный впервые в 2004 году. Некогда «линь для домохозяек» в оболочке Gnome, со временем Ubuntu стала дефолтной серверной ОС за счет обширного коммьюнити и непрекращающейся разработки. Последняя популярная версия — 18.04, но мы поставляем сервера и под 16.04, а около недели назад состоялся релиз версии 20.04, в которую завезли множество вкусностей.
Если Windows Server использовалась как ОС для поддержки специфического и windows-ориентированного ПО, то Ubuntu как Linux-дистрибутив — это история про open source и веб-разработку. Так, именно линуксовые серверы используют для размещения веб-серверов на nginx или Apache (в противовес Microsoft IIS), для работы с PostgreSQL и MySQL или популярными сейчас скриптовыми языками разработки. На сервер с Ubuntu отлично встанут и службы маршрутизации и управления трафиком.
В плюсы стоит записать и меньшее потребление ресурсов, чем Windows Server, а также нативную для всех unix-систем работу с консолью и пакетными менеджерами. Кроме того, Ubuntu, являясь изначально «десктопным домашним юниксом» достаточно дружелюбна к пользователю, что облегчает ее администрирование.
Основной минус — это unix, со всеми вытекающими. Пусть и Ubuntu и дружелюбна — но лишь относительно других Linux-систем. Так что для работы с ней, особенно в полноценной серверной конфигурации — то есть исключительно через терминал — потребуются определенные навыки. Кроме того, Ubuntu больше ориентирована на персональное использование и не всегда подходит для решения корпоративных кейсов.
Debian
Иронично то, что Debian — это прародитель крайне популярной и упоминаемой нами ранее Ubuntu. Первый билд Debian был опубликован более 25 лет назад — в далеком 1994 году и именно код Debian лег в основу Ubuntu. По сути, Debian является одним из старейших и при этом хардкорных дистрибутивов среди семейства Linux-систем. При всей схожести Ubuntu, в отличие от своего «наследника», Debian не получила того уровня доброжелательности к пользователю, как младшая система. Однако это дает и свои преимущества. Debian — более гибок по сравнению с Ubuntu и может подвергаться более глубокому конфигурированию и эффективнее решать ряд специфических задач, в том числе и корпоративного характера.
Основной плюс Debian — большая секьюрность и стабильностью по сравнению с Ubuntu и, тем более, с Windows. Ну и конечно же, как и у любой Linux-системы — низкое потребление ресурсов, особенно в форме серверной ОС под управлением терминала. Кроме того, Debian-сообщество это open source, так что эта система, в первую очередь, ориентирована на корректную и эффективную работу с бесплатными решениями.
Однако за гибкость, хардкорность и безопасность приходится платить. Debian разрабатывается open source-сообществом без четкого ядра через систему мастеров веток, со всеми вытекающими. В один момент времени у Debian есть сразу три версии: стабильная, нестабильная и тестовая. Проблема в том, что stable-ветка разработки серьезно отстает от тестовой, то есть часто в ядре могут встречаться уже устаревшие части и модули. Все это выливается в ручную пересборку ядра или вообще в переход на тестовую ветку, если ваши задачи обгоняют возможности стабильной версии Debian. В Ubuntu таких проблем с разрывом версий нет: там раз в два года разработчики выпускают стабильную LTS-версию системы.
CentOS
Ну и закончим наш разговор о серверных ОС RUVDS на CentOS. На фоне более массивных Ubuntu и, тем более, Debian, CentOS выглядит подростком. И хотя система стала популярна в массах не так давно, как Debian или Ubuntu, релиз ее первой версии состоялся в один момент с Ubuntu, то есть еще в 2004 году.
В основном CentOS используется для виртуальных серверов, так как еще менее требовательна к ресурсам, чем Ubuntu или Debian. Мы поставляем конфигурации под управлением двух версий этой ОС: CentOS 7.6.1810 и более старой CentOS 7.2.1510. Основной сценарий использования — корпоративные задачи. CentOS — это история про работу. Никогда не являясь системой домашнего пользования, как это было, например, с Ubuntu, CentOS сразу разрабатывалась как RedHat-подобный дистрибутив на базе открытого исходного кода. Именно наследственность от RedHat и дает CentOS ее основные преимущества — ориентированность на решение корпоративных задач, стабильность и безопасность. Самый частый сценарий использования системы — это веб-хостинг, в котором CentOS показывает лучшие, чем у других Linux-дистрибутивов результаты.
Однако есть у системы и ряд минусов. Более сдержанный цикл разработки и обновлений, чем у той же Ubuntu, приводит к тому, что в какой-то момент вам придется мириться с уязвимостями или уже решенными в других дистрибутивах проблемами. Также отличается и система самих обновлений и установки компонентов: никакого apt-get, только yum и RPM-пакеты. Также CentOS не совсем подходит для размещения и работы с контейнерными решениями Docker/k8s, в которых Ubuntu и Debian ее очевидно превосходят. Последнее важно, так как виртуализация веб-серверов и приложений через контейнеризацию в последние годы все набирает обороты в среде DevOps. Ну и конечно же, у CentOS намного меньшее коммьюнити по сравнению с более популярными Debian и Ubuntu.
Вместо вывода
Как видно, любая ОС имеет свои плюсы и минусы и получила собственную нишу. Особняком стоят серверы под управлением Windows — в Microsoft-среде, так сказать, своя атмосфера и правила работы.
Все Linux-дистрибутивы схожи между собой в плане потребления ресурсов, но имеют свои специфические черты и отличия в зависимости от поставленной задачи. Ubuntu проще в использовании, Debian — более тонко конфигурируется. CentOS может выступать как замена платному RedHat, что немаловажно, если вам нужна полноценная корпоративная ОС в unix-исполнении. Но при этом она слаба в вопросах контейнеризации и виртуализации приложений.В любом случае, вы можете связаться с нашими специалистами и мы подберем для вас необходимое решение и конфигурацию исходя из ваших задач.
Источник
VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04
В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабочему столу на Linux по RDP (Remote Desktop Protocol). Система VNC основана на передаче массивов пикселей по протоколу RFB (Remote Framebuffer), а RDP позволяет отправлять более сложные графические примитивы и высокоуровневые команды. Обычно он используется для организации служб удаленных рабочих столов в Windows, но серверы для Linux также доступны.
Оглавление:
Установка графического окружения
Мы возьмем виртуальную машину с Ubuntu Server 18.04 LTS с двумя вычислительными ядрами, четырьмя гигабайтами оперативной памяти и жестким диском (HDD) на двадцать гигабайт. Более слабая конфигурация плохо подходит для графического десктопа, хотя это зависит от решаемых задач. Не забывайте использовать промокод Habrahabr10 для получения скидки в 10% при заказе.
Установка окружения рабочего стола со всеми зависимостями выполняется следующей командой:
Как и в предыдущем случае, мы выбрали XFCE из-за относительно невысоких требований к вычислительным ресурсам.
Русификация сервера и установка ПО
Часто виртуальные машины разворачиваются только с английской локализацией. На десктопе может потребоваться русская, настроить которую несложно. Сначала установим переводы для системных программ:
Того же эффекта можно достичь, отредактировав вручную файл /etc/default/locale.
Для локализации GNOME и KDE в репозитории есть пакеты language-pack-gnome-ru и language-pack-kde-ru — они понадобятся, если вы будете использовать программы из этих сред рабочего стола. В XFCE переводы устанавливаются вместе с приложениями. Дальше можно инсталлировать словари:
Кроме того, инсталляция переводов может потребоваться для некоторых прикладных программ:
На этом подготовка окружения рабочего стола завершена, осталось настроить сервер RDP.
Установка и настройка сервера RDP
В репозиториях Ubuntu есть распространяемый свободно сервер Xrdp, которым мы и воспользуемся:
Если все прошло нормально, сервер должен запуститься автоматически:
Сервер Xrdp запускается с правами пользователя xrdp и по умолчанию берет cертификат /etc/ssl/private/ssl-cert-snakeoil.key, который можно заменить собственным. Для доступа на чтение файла нужно добавить пользователя в группу ssl-cert:
Настройки по умолчанию можно найти в файле /etc/default/xrdp, а все прочие конфигурационные файлы сервера лежат в каталоге /etc/xrdp. Основные параметры находятся в файле xrdp.ini, который можно не менять. Конфиг хорошо документирован, к тому же в комплекте имеется соответствующие manpages:
Осталось только отредактировать скрипт /etc/xrdp/startwm.sh, который исполняется при инициализации пользовательской сессии. Предварительно сделаем резервную копию скрипта из дистрибутива:
Чтобы запустить окружение рабочего стола XFCE, потребуется сценарий примерно такого содержания:
Обратите внимание: в скриптах лучше прописывать полный путь к исполняемым файлам — это хорошая привычка. Сделаем скрипт исполняемым и на этом настройку сервера Xrdp можно считать законченной:
Настройка межсетевого экрана
По умолчанию Xrdp слушает TCP-порт 3389 на всех интерфейсах. В зависимости от конфигурации виртуального сервера может потребоваться настройка межсетевого экрана Netfilter. В Linux это обычно делается с помощью утилиты iptables, но в Ubuntu лучше использовать ufw. Если IP-адрес клиента известен, настройка осуществляется следующей командой:
Разрешить соединения с любого IP можно так:
Протокол RDP поддерживает шифрование, но открывать доступ к серверу Xrdp из сетей общего пользования — плохая идея. Если у клиента нет фиксированного IP, для повышения уровня безопасности сервер должен слушать только localhost. Доступ к нему лучше настроить через туннель SSH, который безопасно перенаправит трафик с клиентского компьютера. Аналогичный подход мы использовали в предыдущей статье для сервера VNC.
Подключение к серверу RDP
Для работы с окружением рабочего стола лучше создать отдельного непривилегированного пользователя:
Добавим пользователя в группу sudo, чтобы он мог решать связанные с администрированием задачи. Если такой потребности нет, этот шаг можно пропустить:
Подключиться к серверу можно с помощью любого клиента RDP, включая встроенный клиент службы удаленных рабочих столов Windows. Если Xrdp слушает внешний интерфейс, никаких дополнительных телодвижений не понадобится. Достаточно указать в настройках соединения IP-адрес VPS, имя пользователя и пароль. После подключения мы увидим примерно такую картину:
После первичной настройки окружения рабочего стола мы получим полноценный десктоп. Как видите, он потребляет не так много ресурсов, хотя дальше все будет зависеть от используемых приложений.
Если сервер Xrdp слушает только localhost, на клиентском компьютере трафик придется упаковать в туннель SSH (на VPS должен быть запущен sshd). Под Windows можно использовать графический клиент SSH (например, PuTTY), а в UNIX-системах нужна утилита ssh:
После инициализации туннеля клиент RDP будет подключаться уже не к удаленному серверу, а к локальному хосту.
С мобильными устройствами сложнее: способные поднять туннель клиенты SSH придется покупать, к тому же в iOS и iPadOS фоновая работа сторонних приложений затруднена из-за слишком хорошей оптимизации энергопотребления. На iPhone и iPad поднять туннель в отдельном приложении не получится — потребуется приложение-комбайн, которое само умеет устанавливать соединение RDP через SSH. Такое, например, как Remoter Pro.
Менеджер сессий и сеансы пользователей
Возможность многопользовательской работы реализована непосредственно в сервере Xrdp и не требует дополнительной настройки. После запуска сервиса через systemd один процесс работает в режиме демона, слушает порт 3389 и взаимодействует через localhost с менеджером сессий.
Менеджер сеансов пользователям обычно не виден, потому что заданные в настройках клиента логин и пароль передаются ему автоматически. Если этого не произошло или при аутентификации возникла ошибка, вместо рабочего стола появится интерактивное окно для входа в систему.
Автоматический запуск менеджера сессий прописан в файле /etc/default/xrdp, а конфигурация хранится в /etc/xrdp/sesman.ini. По умолчанию выглядит она примерно так:
Здесь можно ничего не менять, стоит только запретить вход с правами root (AllowRootLogin=false). Для каждого авторизовавшегося в системе пользователя запускается отдельный процесс xrdp: если отсоединиться не завершив сеанс, пользовательские процессы по умолчанию продолжат работать, а к сеансу можно будет подключиться заново. Настройки можно изменить в файле /etc/xrdp/sesman.ini (секция [Sessions]).
Переключение раскладок клавиатуры
С двухсторонним буфером обмена проблем обычно не возникает, а вот с русской раскладкой клавиатуры придется немного пошаманить (русская локаль должна быть уже установлена). Отредактируем клавиатурные настройки сервера Xrdp:
В конец конфигурационного файла нужно добавить следующие строки:
Остается сохранить файл и перезапустить Xrdp:
Как видите, поднять сервер RDP на линуксовом VPS несложно, а в предыдущей статье мы уже разобрали настройку VNC. Помимо этих технологий, есть еще один интересный вариант: использующая модифицированный протокол NX 3 система X2Go. С ней мы разберемся в следующей публикации.
Источник