Ссылки:
1 2 3 4 5 6 7 |
https://sevo44.ru/xrdp-terminalnyj-server-linux/ https://ask-ubuntu.ru/questions/803859/2004-problema-podklyucheniya-xrdp-kde-plasma https://fileenergy.com/linux/instruktsiya-po-ustanovke-i-nastrojke-terminalnogo-servera-na-baze-linux-debian-10-s-graficheskoj-obolochkoj https://newadmin.ru/udalenii-rabochii-stol-linux/ https://habr.com/ru/company/ruvds/blog/312556/ https://setiwik.ru/kak-ustanovit-xrdp-na-ubuntu-20-04/ - черный экран https://ask.fedoraproject.org/t/networkmanager-insufficient-privileges-from-remote-login/7643 - insuffucient privileges network manager |
Для работы клиента l2tp/ipsec в KDE:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
!!! strongswan - пакет IPSEC !!! xl2tpd - пакет L2TP !!! libreswan - пакет для IPSEC 0. Установка в debian apt install vim mc apt install strongswan xl2tpd network-manager-l2tp libreswan 1. Перезапускаем daemon network-manager systemctl restart network-manager 2. Отключаем постоянные запросы паролей при настройке под учетной записью из группы admin 2.0 usermod -aG admin username 2.1 Политики polkit-1 такие полезные ... vim /etc/polkit-1/localauthority/50-local.d/46-all-allow.pkla ----------------------------------------------------------------------- [Allow ALL from group admin] Identity=unix-group:admin Action=* ResultAny=yes ResultInactive=yes ResultActive=yes ----------------------------------------------------------------------- 3. Использование Network-manager в консоли: nmcli - network manager client nmcli connection show - показать доступные соединения nmcli connection up [vpnName] - подключение к VPN из командной строки nmcli connection down [vpnName] - отключение от VPN из командной строки Пример: nmcli connection up vpn.site.ru nmcli connection dowm vpn.site.ru |
Настройка сервера l2tp\ipsec:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
0. Устанавливаем пакеты для работы ipsec: apt install strongswan 1. Проверяем: /etc/ipsec.conf --------------- conn rw-base fragmentation=yes dpdaction=clear dpdtimeout=90s dpddelay=30s conn l2tp-vpn also=rw-base ike=aes128-sha256-modp3072 esp=aes128-sha256-modp3072 leftsubnet=%dynamic[/1701] rightsubnet=%dynamic mark=%unique leftauth=psk rightauth=psk type=transport auto=add --------------- 2. Генерируем общий ключ: openssl rand -base64 18 3. Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку: %any %any : PSK "mySharedKey" Где mySharedKey - общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. 4. После внесения указанных настроек перезапустим службу: !!! Имя демона Ubuntu называется strongswan-starter systemctl restart strongswan 5. Устанавливаем пакеты для работы l2tp apt install xl2tpd 6. Редактируем /etc/xl2tpd/xl2tpd.conf # auth file указывает на файл с данными для аутентификации # pppoptfile - набор опций для PPP-соединения, которое используется внутри L2TP-туннеля # name - имя сервера, которое будет использоваться для поиска данных аутентификации в файле chap-secrets # local ip и ip range отвечают за локальный адрес сервера в VPN-сети и диапазон адресов для выдачи удаленным клиентам. # Здесь можно использовать два подхода: выдавать клиентам адреса из диапазона локальной сети офиса и включить ProxyARP # в этом случае настраивать маршрутизацию на клиентах не требуется, они будут как-бы включены в общую сеть офиса на канальном уровне (L2) # либо выдавать адреса из непересекающегося диапазона и использовать маршрутизацию. --------------------------------------- [global] port = 1701 auth file = /etc/ppp/chap-secrets access control = no ipsec saref = yes force userspace = yes [lns default] exclusive = no ip range = 10.2.2.100-10.2.2.199 hidden bit = no local ip = 10.2.2.1 length bit = yes require authentication = yes name = l2tp-vpn pppoptfile = /etc/ppp/options.xl2tpd flow bit = yes ----------------------------------------- 7. Настройка PPP cd /etc/ppp - переходим в каталог cp options options.xl2tpd - копируем файл опций 8. Редактируем /etc/ppp/options.xl2tpd # Если вы будете использовать ProxyARP то дополнительно раскомментируйте опцию: proxyarp # Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла. # Также для Windows-клиентов можно передать настройку DNS-серверов, для этого добавьте опции: ms-dns 192.168.1.1 -------------------------------------- asyncmap 0 auth crtscts lock hide-password modem mtu 1460 lcp-echo-interval 30 lcp-echo-failure 4 noipx refuse-pap refuse-chap refuse-mschap require-mschap-v2 multilink mppe-stateful -------------------------------------- 8. Для применения настроек перезапускаем xl2tp systemctl restart xl2tpd 9. Добавляем пользователей # указываем логин # имя службы, оно должно совпадать с тем, которое мы указали в опции name в xl2tpd.conf # пароль # IP-адрес клиента, символ * обозначает что можно присвоить любой адрес из выбранного диапазона vim /etc/ppp/chap-secrets ------------------------- ivanov l2tp-vpn Pa$$word_1 * petrov l2tp-vpn Pa$$word_1 10.2.2.99 ------------------------- 10. настраиваем firewall Для доступа к L2TP-серверу следует разрешить в брандмауэре входящие подключения к портам 500 UDP 4500 UDP !!! подключение к 1701 UDP, вопреки распространенному заблуждению, разрешать не следует Диагностика: ipsec statusall ip xfrm state ip xfrm policy |
Настройки и установка xrdp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
0. Устанавливаем: apt install xrdp xorgxrdp ssl-cert- устанавливаем 1. Переконфигурируем: dpkg-reconfigure xserver-xorg-legacy - переключаем разрешение для всех 2. Редактируем выбор раскладки vim /etc/xrdp/xrdp_keyboard.ini --------------------------- [default_rdp_layouts] # ищем и убеждаемся что файлы существуют rdp_layout_us=0x00000409 # ищем и убеждаемся что файлы существуют rdp_layout_ru=0x00000419 # ищем и убеждаемся что файлы существуют [layouts_map_ru] rdp_layout_us=ru,us rdp_layout_ru=ru,us [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 --------------------------- 3. Добавить пользователя xrdp в группу ssl-cert usermod -aG ssl-cert xrdp . После настройки перезапустим xrdp service xrdp restart |
Выпуск собственного сертификата для XRDP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
0. Создаем и выпускаем сертификаты mkdir /etc/xrdp/certificate/ cd /etc/xrdp/certificate/ openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 1. Подключаем сертификаты отредактировав файл !!! ищем строки (certificate=) и (key_file=) и правим их vim /etc/xrdp/xrdp.ini ---------------------- certificate=/etc/xrdp/certificate/cert.pem key_file=/etc/xrdp/certificate/key.pem ---------------------- 2. Изменяем права для файла chown -R xrdp:xrdp /etc/xrdp/certificate/ 3. После настройки перезапустим xrdp service xrdp restart |
Запрет авторизации ROOT в XRDP
1 2 3 4 5 6 |
vim /etc/xrdp/sesman.ini ------------------------- [Security] # Авторизация root. true - разрешено false - запрещено AllowRootLogin=false ------------------------- |
Разрешаем перезагрузка системы пользователем XRDP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
!!! Вместо auth_admin_keep указываем yes vim /usr/share/polkit-1/actions/org.freedesktop.login1.policy ------------------------------------------------------------- <action id="org.freedesktop.login1.reboot"> <description gettext-domain="systemd">Reboot the system</description> <message gettext-domain="systemd">Authentication is required for rebooting the system.</message> <defaults> <allow_any>yes</allow_any> <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate> </action> ------------------------------------------------------------- |
insuffucient privileges network manager
1 2 3 4 5 6 7 8 9 10 |
vim /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy <action id="org.freedesktop.NetworkManager.settings.modify.system"> [...] <defaults> <allow_any>auth_admin_keep</allow_any> <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> |
Более правильное решение insuffucient privileges network manager
1 2 3 4 5 6 7 8 9 |
vim /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla ----------------------------------------------------------------------- [Prevent foo from modifying all network states and settings] Identity=unix-user:foo Action=org.freedesktop.NetworkManager.* ResultAny=yes ResultInactive=yes ResultActive=yes ----------------------------------------------------------------------- |
Одна сессия для пользователя XRDP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
!!! Подключатся к существующей сессии vim /etc/xrdp/sesman.ini ------------------------ [Sessions] ;; X11DisplayOffset - x11 display number offset ; Type: integer ; Default: 10 X11DisplayOffset=10 ;; MaxSessions - maximum number of connections to an xrdp server ; Type: integer ; Default: 0 # Выставляем количество пользователей для одновременной работе на сервере MaxSessions=3 ;; KillDisconnected - kill disconnected sessions ; Type: boolean ; Default: false ; if 1, true, or yes, kill session after 60 seconds # Не разрываем сеанс при отключении пользователя чтобы потом попасть в туже сессию KillDisconnected=false ------------------------ |
XRDP черный экран при подключении:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
!!! Баг был при использовании использовании ubuntu, debian 10, debian 11 !!! В окружение KDE !!! Нужно вставить следующие строки в файл /etc/xrdp/startwm.sh !!! unset DBUS_SESSION_BUS_ADDRESS !!! unset XDG_RUNTIME_DIR 0. vim /etc/xrdp/startwm.sh ------------------------ #!/bin/sh # xrdp X session start script (c) 2015, 2017 mirabilos # published under The MirOS Licence if test -r /etc/profile; then . /etc/profile fi unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR if test -r /etc/default/locale; then . /etc/default/locale test -z "${LANG+x}" || export LANG test -z "${LANGUAGE+x}" || export LANGUAGE test -z "${LC_ADDRESS+x}" || export LC_ADDRESS test -z "${LC_ALL+x}" || export LC_ALL test -z "${LC_COLLATE+x}" || export LC_COLLATE test -z "${LC_CTYPE+x}" || export LC_CTYPE test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT test -z "${LC_MESSAGES+x}" || export LC_MESSAGES test -z "${LC_MONETARY+x}" || export LC_MONETARY test -z "${LC_NAME+x}" || export LC_NAME test -z "${LC_NUMERIC+x}" || export LC_NUMERIC test -z "${LC_PAPER+x}" || export LC_PAPER test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE test -z "${LC_TIME+x}" || export LC_TIME test -z "${LOCPATH+x}" || export LOCPATH fi if test -r /etc/profile; then . /etc/profile fi test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession ------------------------ 1. Перезапускаем демон xrdp sudo systemctl restart xrdp |
Название подключенной локальной папки в XRDP
1 2 3 4 5 6 7 8 |
0. Редактируем файл vim /etc/xrdp/sesman.ini ------------------------ FuseMountName=Mount_FOLDER ------------------------ 1. Перезапускаем демон xrdp sudo systemctl restart xrdp |
Настройка вида окна авторизации XRDP
1 2 3 4 5 6 7 8 9 10 11 12 |
0. Редактируем файл vim /etc/xrdp/xrdp.ini ----------------------- ls_title=YOU SUPER SERVER # заголовок окна сервера ls_top_window_bg_color=000000 # Цвет фона RGB ls_logo_filename=/etc/xrdp/logo_xrdp.bmp #Логотип ; Session types # После этой строки ищем и убираем лишние сессии, оставляем только [Xorg] ----------------------- 1. Перезапускаем демон XRDP service xrdp restart |
Отключение screensaver
1 2 3 4 |
Вариант первый, можно просто его удалить apt-get remove xscreensaver Вариант второй, можно настроить электропитание в настройках экрана |