xRDP не работает на Ubuntu Server 20.04 в экземпляре виртуальной машины Oracle Cloud и установлен ubuntu-desktop

Я столкнулся с проблемой, когда xRDP не может отвечать на любые запросы RDP, отправленные экземпляру виртуальной машины, работающей в OCP под Ubuntu Server 20.04 с установленным графическим интерфейсом GNOME (через sudo tasksel install ubuntu-desktop ). У экземпляра UFW находится в "неактивном" состоянии, а список безопасности VCN настроен так, чтобы разрешать все порты с моего IP-адреса NAT.

Экземпляр успешно получает пакеты на dst-порту 3389 как видно из следующего захвата, сделанного на экземпляре OCP:

ubuntu@hitc-lab-vm1:~$ sudo tcpdump -nn -i ens3 port 3389
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes
03:01:34.578853 IP <omitted>.56726 > 172.20.1.2.3389: Flags [S], seq 972912567, win 64240, options [mss 1460,nop,nop,sackOK], length 0
03:01:35.579071 IP <omitted>.56726 > 172.20.1.2.3389: Flags [S], seq 972912567, win 64240, options [mss 1460,nop,nop,sackOK], length 0
03:01:37.579039 IP <omitted>.56726 > 172.20.1.2.3389: Flags [S], seq 972912567, win 64240, options [mss 1460,nop,nop,sackOK], length 0
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel

Если я пропущу /var/log/xrdp.log, я не увижу упоминания о запросе сеанса, даже если пакеты попадают на сервер:

ubuntu@hitc-lab-vm1:~$ sudo cat /var/log/xrdp.log
[20200922-02:39:22] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200922-02:39:22] [INFO ] listening to port 3389 on 0.0.0.0
[20200922-02:39:22] [INFO ] xrdp_listen_pp done
[20200922-02:39:22] [DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
[20200922-02:39:24] [INFO ] starting xrdp with pid 2426
[20200922-02:39:24] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200922-02:39:24] [INFO ] listening to port 3389 on 0.0.0.0
[20200922-02:39:24] [INFO ] xrdp_listen_pp done
[20200922-02:40:03] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20200922-02:40:03] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200922-02:40:03] [INFO ] listening to port 3389 on 0.0.0.0
[20200922-02:40:03] [INFO ] xrdp_listen_pp done
[20200922-02:40:03] [DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
[20200922-02:40:05] [INFO ] starting xrdp with pid 2687
[20200922-02:40:05] [INFO ] address [0.0.0.0] port [3389] mode 1
[20200922-02:40:05] [INFO ] listening to port 3389 on 0.0.0.0
[20200922-02:40:05] [INFO ] xrdp_listen_pp done

xrdp- Журнал sesman показывает очень похожую историю, но с соответствующими портами на localhost из sesman p rocess:

ubuntu@hitc-lab-vm1:~$ sudo cat /var/log/xrdp-sesman.log
[20200922-02:39:22] [DEBUG] libscp initialized
[20200922-02:39:22] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
[20200922-02:39:22] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200922-02:39:22] [INFO ] starting xrdp-sesman with pid 2416
[20200922-02:39:22] [INFO ] listening to port 3350 on 127.0.0.1
[20200922-02:40:03] [INFO ] shutting down sesman 1
[20200922-02:40:03] [DEBUG] Closed socket 7 (AF_INET6 ::1 port 3350)
[20200922-02:40:03] [DEBUG] libscp initialized
[20200922-02:40:03] [DEBUG] Testing if xrdp-sesman can listen on 127.0.0.1 port 3350.
[20200922-02:40:03] [DEBUG] Closed socket 5 (AF_INET6 ::1 port 3350)
[20200922-02:40:03] [INFO ] starting xrdp-sesman with pid 2666
[20200922-02:40:03] [INFO ] listening to port 3350 on 127.0.0.1

Если я разверну виртуальную машину Ubuntu Server 20.04 в VMware, установлю ubuntu-desktop через tasksel, затем установлю xrdp, все будет работать, как ожидалось. Любая помощь здесь приветствуется.

1
задан 22 September 2020 в 06:18
1 ответ

Я отправил запрос в службу поддержки Oracle, чтобы решить эту проблему, и получил следующий ответ:

Образы, предоставленные Oracle, предварительно настроены с помощью правил брандмауэра, экземпляров для выполнения исходящих соединений с загрузочным и блочные объемы. Дополнительные сведения см. в разделе Основные правила брандмауэра. УФВ может удалить эти правила, чтобы во время перезагрузки экземпляр не возможность подключения к загрузочным и блочным томам.

Чтобы изменить или добавить новые правила брандмауэра, обновите файл /etc/iptables/rules.v4. файл вместо этого. Изменения правил брандмауэра здесь вступят в силу после перезагрузки.

После этого я перенастроил пользовательский файл OCP /etc/iptables/rules.v4, чтобы разрешить все входящие и исходящие соединения на экземпляре, используя список безопасности VCN для выполнения своей работы:

-A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
-A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"

Соединения теперь работают как положено. Соединения с экземпляром теперь защищены списком безопасности, а не IPTABLES.

Поскольку это экспериментальная среда, приведенных выше правил достаточно, чтобы разрешить входящие подключения. В производственной среде я бы использовал правило для внесения в белый список IP-адреса и используемого входящего порта. Тем не менее, я не сторонник настройки двух брандмауэров для одного и того же потока трафика...

1
ответ дан 23 September 2020 в 21:56

Теги

Похожие вопросы