Вопрос или проблема
Мой Ubuntu Desktop 22.04.4 LTS потерял доступ через XRDP, и я не могу понять, как это решить. Служба XRDP запущена, ошибок в логах XRDP нет.
netstat -an | grep "LISTEN " | grep ":3389"
tcp6 0 0 :::3389 :::* LISTEN
Все выглядит нормально локально для XRDP. UFW отключен. Я думаю, что iptables блокируют его, но не могу понять, почему. Я добавил исключение для 3389, но все равно не работает. Список iptables можно найти здесь:
https://pastebin.com/yAK1b0Fj
Вот недавние логи:
/var/log/xrdp.log
[20240423-16:35:44] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240423-16:35:44] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240423-16:35:44] [INFO ] xrdp_listen_pp завершено
[20240423-16:35:46] [INFO ] запуск xrdp с pid 7789
[20240423-16:35:46] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240423-16:35:46] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240423-16:35:46] [INFO ] xrdp_listen_pp завершено
[20240423-16:36:52] [INFO ] Получен сигнал завершения, остановка потока принятия новых соединений сервера
[20240423-16:36:52] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240423-16:36:52] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240423-16:36:52] [INFO ] xrdp_listen_pp завершено
[20240423-16:36:54] [INFO ] запуск xrdp с pid 7961
[20240423-16:36:54] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240423-16:36:54] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240423-16:36:54] [INFO ] xrdp_listen_pp завершено
[20240424-09:34:24] [INFO ] Получен сигнал завершения, остановка потока принятия новых соединений сервера
[20240424-09:38:39] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240424-09:38:39] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240424-09:38:39] [INFO ] xrdp_listen_pp завершено
[20240424-09:38:41] [INFO ] запуск xrdp с pid 953
[20240424-09:38:41] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240424-09:38:41] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240424-09:38:41] [INFO ] xrdp_listen_pp завершено
[20240424-09:40:47] [INFO ] Получен сигнал завершения, остановка потока принятия новых соединений сервера
[20240424-09:51:10] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240424-09:51:10] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240424-09:51:10] [INFO ] xrdp_listen_pp завершено
[20240424-09:51:12] [INFO ] запуск xrdp с pid 966
[20240424-09:51:12] [INFO ] адрес [0.0.0.0] порт [3389] режим 1
[20240424-09:51:12] [INFO ] прослушивание порта 3389 на 0.0.0.0
[20240424-09:51:12] [INFO ] xrdp_listen_pp завершено
~/.xsession-errors
Xsession: X сессия начата для *** в Вт Апр 23 16:37:21 UTC 2024
dbus-update-activation-environment: установка DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: установка DISPLAY=:3
localuser:*** добавляется в список управления доступом
dbus-update-activation-environment: установка GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: установка QT_ACCESSIBILITY=1
dbus-update-activation-environment: установка VNCDESKTOP=Ubuntu-Desktop-***:3 (***)
dbus-update-activation-environment: установка LESSOPEN=| /usr/bin/lesspipe %s
dbus-update-activation-environment: установка USER=***
dbus-update-activation-environment: установка SSH_CLIENT=85.255.26.116 17280 22
dbus-update-activation-environment: установка XDG_SESSION_TYPE=x11
dbus-update-activation-environment: установка SHLVL=1
dbus-update-activation-environment: установка MOTD_SHOWN=pam
dbus-update-activation-environment: установка HOME=/home/***
dbus-update-activation-environment: установка SSH_TTY=/dev/pts/0
dbus-update-activation-environment: установка GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: установка DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
dbus-update-activation-environment: установка IM_CONFIG_PHASE=1
dbus-update-activation-environment: установка LOGNAME=***
dbus-update-activation-environment: установка GTK_IM_MODULE=ibus
dbus-update-activation-environment: установка XDG_SESSION_CLASS=user
dbus-update-activation-environment: установка TERM=xterm
/var/log/xrdp-sesman.log
[20240423-16:35:44] [INFO ] запуск xrdp-sesman с pid 7779
[20240423-16:36:52] [INFO ] выключение sesman 1
[20240423-16:36:52] [INFO ] запуск xrdp-sesman с pid 7951
[20240424-09:34:25] [INFO ] выключение sesman 1
[20240424-09:38:39] [INFO ] запуск xrdp-sesman с pid 897
[20240424-09:40:47] [INFO ] выключение sesman 1
[20240424-09:51:10] [INFO ] запуск xrdp-sesman с pid 926
Я развернул и настроил эту машину в Azure. Она была передана разработчику для запуска контейнеров Docker.
Я тестирую RDP с виртуальной машины Windows в одной локальной сети. Могу пинговать и SSH, но RDP больше не работает.
Помощь будет очень актуальна. Пожалуйста, дайте знать, если вам нужны дополнительные детали.
Ответ или решение
К сожалению, возникли проблемы с доступом к XRDP на вашем Ubuntu Desktop 22.04.4 LTS. Давайте поэтапно разберемся в возможных причинах и способах решения данной проблемы.
1. Подтверждение состояния XRDP
Сначала мы убедимся, что сервис XRDP работает корректно. Согласно предоставленной информации, сервис запущен, и в логах XRDP нет ошибок:
[20240423-16:35:44] [INFO ] listening to port 3389 on 0.0.0.0
Это свидетельствует о том, что сервис готов принимать соединения. Также, команда netstat
подтверждает, что порт 3389 прослушивается:
tcp6 0 0 :::3389 :::* LISTEN
2. Проверка конфигурации брандмауэра
Вы отметили, что UFW выключен, что является хорошей новостью, но вы также предполагаете, что iptables могут блокировать соединения. Давайте рассмотрим ваш список iptables, который вы предоставили в Pastebin.
-
Проверка правил iptables: Убедитесь, что правило для порта 3389 действительно установлено правильно. Для этого выполните команду:
sudo iptables -L -n -v
Убедитесь, что в списке правил есть разрешение для порта 3389.
-
Добавление правила: Если правило отсутствует, добавьте его:
sudo iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
-
Сохранение правил: Не забудьте сохранить изменения в правилах iptables:
sudo iptables-save > /etc/iptables/rules.v4
3. Конфигурация XRDP
Проверьте параметры конфигурации XRDP, особенно файл /etc/xrdp/xrdp.ini
. Убедитесь, что там правильно указаны порты и параметры для подключения. Важные моменты:
- Убедитесь, что пользователь, под которым вы пытаетесь подключиться, имеет разрешение на доступ через XRDP.
- Проверьте, что используется правильная сессия (например, X11 или Xorg).
4. Логирование и отладка
Логи, которые вы предоставили, не показывают явных ошибок, но стоит дополнительно проверить следующие файлы:
/var/log/xrdp-sesman.log
: убедитесь, что сессия запускается корректно.~/.xsession-errors
: ищите сообщения об ошибках, которые могут указывать на проблемы с графической средой пользователя.
5. Проверка сети
Вы указали, что можете выполнять ping и SSH. Это показывает, что соединение устанавливается, но вы можете проверить доступность порта 3389 с помощью инструмента telnet
из другой машины:
telnet <IP-адрес> 3389
Если соединение было отклонено, это может указывать на проблему с конфигурацией брандмауэра или с самой службой XRDP.
6. Завершение работы и перезапуск
Попробуйте выполнить перезапуск службы XRDP:
sudo systemctl restart xrdp
Затем проверьте статус:
sudo systemctl status xrdp
Заключение
Если ни одно из вышеперечисленных действий не помогло, возможно, стоит переустановить XRDP. Это можно сделать, удалив пакет и установив его заново:
sudo apt remove xrdp
sudo apt install xrdp
Если проблема сохраняется, пожалуйста, предоставьте более подробную информацию о любых изменениях в конфигурации или о попытках подключения. Это поможет более точно диагностировать проблему.