Создаем сервер терминалов на базе CentOS 8

Главная Форумы SOFTWARE System settings Создаем сервер терминалов на базе CentOS 8

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #1085
    E-tec
    Хранитель

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

      За основу был взят минимальный образ CentOS 8 x64 (CentOS-8.1.1911-x86_64-dvd1.iso). Установка интуитивна понятна, по этому думаю не стоит заострять внимание на этом процессе. Единственный нюанс, я выбрал минимальную установку, для того, чтоб выбрать GUI самому, мне нужен был наиболее легковесный, по этому выбор упал на Xfce!

      После установки ОС и успешного запуска, залогинимся под пользователем root и выполнить апдейт системы и пакетов до актуальных.
      # yum update

      Возможно у Вас возникнут проблемы с кодировкой в ОС и вы увидите вместо букв “квадратики” исправляется эта ошибка сменой кодировки. Идем в настройки и меняем параметры:
      # nano /etc/vconsole.conf
      В строчке FONT меняем значение, чтоб было следующее:
      FONT="UniCyr_8x16"

      После чего выставляем свою тайм зону, если не сделали этого во время первоначальной настройки перед установкой.
      # timedatectl set-timezone Asia/Yekaterinburg

      Устанавливаем нужный нам GUI, я выбрал Xfce и добавляем его в автозапуск:

      # yum install epel-release -y
      # yum groupinstall "Xfce" -y
      # systemctl isolate graphical.target
      # systemctl set-default graphical.target
      # echo "PREFERRED=xfce4-session" >> /etc/sysconfig/desktop

      Далее можно перезапустить нашу ОС, чтоб зайти в GUI, либо продолжить установку и начать устанавливать сам терминальный сервер xRDP:

      # yum install xrdp tigervnc-server
      # systemctl enable xrdp
      # systemctl start xrdp

      Редактируем параметры firewall, чтоб наш сервер был доступен для “внешних” клиентов:

      # firewall-cmd --permanent --zone=public --add-port=3389/tcp
      # firewall-cmd --reload

      Примечание! Это НЕ безопасный вариант, нужно будет так же пробросить порт RDP через фаерволл вашего используемого шлюза (роутера), что приведет к дополнительной “дыре” в вашей сети, особенно критично при использовании внешнего IP. Более безопасный вариант использовать VPN – например OpenVPN.

      Теперь немного настроим нашу xrdp открываем файл конфигураций
      # nano /etc/xrdp/xrdp.ini
      Ищем секцию [Globals] устанавливаем настройки:

      crypt_level=medium
      max_bpp=16

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

      Для активации многопользовательских сессий, у нас как ни как терминальный сервер, идем в настройки сессий xrdp:
      # nano /etc/xrdp/sesman.ini

      Установите параметры для следующих конфигурации:

      KillDisconnected=true
      Policy=UBDC

      Примечание! Некоторые браузеры не поддерживают работу нескольких сессий, по этому если в терминале будет использоваться браузер, лучше поставить firefox mozilla (chrome как раз НЕ работает). Предполагается режим -no-remote и создание/выбор отдельного профиля под каждый экземпляр программы.

      Установим firefox mozilla

      # cd /usr/local
      # wget http://ftp.mozilla.org/pub/firefox/releases/74.0/linux-x86_64/ru/firefox-74.0.tar.bz2
      # tar -jxvf firefox-74.0.tar.bz2 -C /usr/local/
      # rm -rf /usr/bin/firefox
      # ln -s /usr/local/firefox/firefox /usr/bin/firefox
      # mv /usr/bin/firefox /usr/bin/backup_firefox
      # echo "exclude=firefox" >> /etc/dnf/dnf.conf
      # ln -s /usr/local/firefox/firefox /usr/bin/firefox

      На этом настройки полностью завершены. Можно использовать наш терминальный сервер на CentOS!

      #1246
      E-tec
      Хранитель

        ВНИМАНИЕ! Версия мануала имеет ошибки и баги, новый мануал в разработке!

        СТАРАЯ ВЕРСИЯ НА CENTOS 7:

        Скрытый текст
        За основу был взят минимальный образ CentOS 7 x64 (CentOS-7-x86_64-Minimal-1708.iso). Установка интуитивна понятна, по этому думаю не стоит заострять внимание на этом процессе. После установки ОС и успешного запуска, залогинимся под пользователем root и доустановим пакеты, которые нам понадобятся в процессе установки. Перед этим так же можно выполнить апдейт системы т.к. на текущий день уже вышел образ CentOS 8.

        # yum update
        # yum install nano git net-tools ssh mc

        После установки доп. пакетов выставляем свой часовой пояс
        # timedatectl set-timezone Asia/Yekaterinburg

        Устанавливаем GUI, добавляем в автозапуск:

        # yum install epel-release -y
        # yum groupinstall "Xfce" -y
        # systemctl isolate graphical.target
        # systemctl set-default graphical.target
        # echo "PREFERRED=xfce4-session" >> /etc/sysconfig/desktop

        После чего можно установить сам терминальный сервер xRDP:

        # yum install xrdp
        # systemctl enable xrdp
        # systemctl start xrdp

        Ищем секцию [Globals] устанавливаем настройки:

        crypt_level=medium
        bitmap_cache=true
        bitmap_compression=true
        bulk_compression=true
        max_bpp=16

        Отключим Xnvc т.к. из-за нее возникают проблемы с вводом символов с клавиатуры, открываем файл:
        # nano /etc/xrdp/xrdp.ini

        Ищем секцию [Xnvc], комментируем, либо просто удаляем ее (В редакторе nano поиск осуществляется сочетанием кнопок Ctrl+W):

        Если ресурсы для виртуальной машины ограничены, можно отключить эффекты GUI и установить сплошной цвет рабочего стола (на подобии windows server 2k8). Эффекты отключаются в «Настройки» -> «Диспетчер окон (дополнительно)» -> «Эффекты». Сплошной фон в «Настройки» -> «Рабочий стол».

        Далее нужно настроить параметры клавиатуры для xrdp. Открываем конфиг xrdp:
        # nano /etc/xrdp/xrdp_keyboard.ini

        Как обычно через сочетание клавиш Ctrl+W ищем секции и заменяем параметры:

        [default_rdp_layouts]
        rdp_layout_us=0x00000409
        rdp_layout_de=0x00000407
        rdp_layout_fr=0x0000040C
        rdp_layout_it=0x00000410
        rdp_layout_jp=0x00000411
        rdp_layout_jp2=0xe0010411
        rdp_layout_jp3=0xe0200411
        rdp_layout_jp4=0xe0210411
        rdp_layout_ru=0x00000419
        rdp_layout_se=0x0000041D
        rdp_layout_pt=0x00000816
        rdp_layout_br=0x00000416
        rdp_layout_pl=0x00000415
        
        [rdp_keyboard_ru]
        keyboard_type=4
        keyboard_type=7
        keyboard_subtype=1
        model=pc105
        options=grp:alt_shift_toggle
        rdp_layouts=default_rdp_layouts
        layouts_map=layouts_map_ru
        
        [layouts_map_ru]
        rdp_layout_us=us,ru
        rdp_layout_ru=us,ru

        Для активации многопользовательских сессий, у нас как ни как терминальный сервер, идем в настройки сессий xrdp:
        # nano /etc/xrdp/sesman.ini

        Установите параметры для следующих конфигурации:

        Policy=UBDC
        KillDisconnected=true

        Примечание! Некоторые браузеры не поддерживают работу нескольких сессий, по этому если в терминале будет использоваться браузер, лучше поставить firefox mozilla (chrome как раз НЕ работает). Предполагается режим -no-remote и создание/выбор отдельного профиля под каждый экземпляр программы.

        Полезно сразу отредактировать строку запуска Firefox в системном меню:
        # nano /usr/share/applications/firefox.desktop

        Ищем строчку:
        Exec=firefox %u

        Заменяем на:
        Exec=firefox %u -no-remote -P

        Т.к. терминальный сервер будет использоваться и для “внешних” клиентов, нужно настроить фаерволл:

        # firewall-cmd --permanent --zone=public --add-port=3389/tcp
        # firewall-cmd --reload

        Примечание! Это НЕ безопасный вариант, нужно будет так же пробросить порт RDP через фаерволл вашего используемого шлюза (роутера), что приведет к дополнительной “дыре” в вашей сети, особенно критично при использовании внешнего IP. Более безопасный вариант использовать VPN – например OpenVPN.

        Дополнительные опции:
        Установка темы Ant можно так же установить и применить доп. оформление через xcfe gui:

        $ wget https://github.com/EliverLara/Ant/archive/master.zip
        # unzip master.zip -d /usr/share/themes/
        $ rm master.zip

        Установим значки из arc-icon-theme:

        $ git clone https://github.com/horst3180/arc-icon-theme --depth 1 && cd arc-icon-theme
        # ./autogen.sh --prefix=/usr
        # make install

        Применим параметры оформления для текущего пользователя:

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

        $ xfconf-query -c xsettings -p /Net/ThemeName -s "Ant-master"
        $ xfconf-query -c xfwm4 -p /general/theme -s "Ant-master"
        $ xfconf-query -c xsettings -p /Net/IconThemeName -s "Arc"
        $ xfconf-query -c xsettings -p /Gtk/FontName -s "Cantarell 10"

        Сделаем настройки Xfce шаблонными для всех новых пользователей.

        Предполагается, что вы выполнили нужные настройки Xfce в некоторой учётке (в примере — eu) и хотите их сделать шаблонными.

        # mkdir /etc/skel/.config
        # cp -r /home/eu/.config/xfce4 /etc/skel/.config
      Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
      • Для ответа в этой теме необходимо авторизоваться.
      Авторизация
      *
      *
      Регистрация
      *
      *
      *
      Пароль не введен
      *
      Генерация пароля