Bug 56634 - Не отображается подключенный тунель в веб-интерфейсе OpenUDS
Summary: Не отображается подключенный тунель в веб-интерфейсе OpenUDS
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: openuds-server (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: thatman@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-27 15:36 MSK by Куницкий Дмитрий
Modified: 2025-11-02 19:20 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Куницкий Дмитрий 2025-10-27 15:36:56 MSK
Стенд:
2x Alt server p11 x86-64(обновленный до sisyphus)

Версии пакетов:
openuds-server-nginx-4.0.0-alt3.noarch
openuds-installers-4.0.0-alt1.noarch
openuds-server-4.0.0-alt3.noarch
guacamole-auth-openuds-2.5.0-alt4.noarch
openuds-tunnel-4.0.0-alt1.noarch

Шаги воспроизведения:
1) Настройка OpenUDS сервера
 1.1) Установить и запустить БД
  apt-get install mariadb-server -y && systemctl enable --now mariadb.service

 1.2) Создать БД и пользователя
 # mysql -u root -Be "CREATE DATABASE dbuds CHARACTER SET utf8 COLLATE utf8_general_ci;
 CREATE USER 'dbuds'@'%' IDENTIFIED BY 'PASSWORD';
 GRANT ALL PRIVILEGES ON dbuds.* TO 'dbuds'@'%';
 FLUSH PRIVILEGES;"

 1.3) Отключить apache(если запущен)
 # systemctl disable --now httpd2.service

 1.4) Установить сам сервер
 # apt-get install openuds-server-nginx
 
 1.5) Заполнить БД
 # su -s /bin/bash - openuds -c "cd /usr/share/openuds; python3 manage.py migrate"

 1.6) Запустить сервисы:
 # ln -sv ../sites-available.d/openuds.conf /etc/nginx/sites-enabled.d/openuds.conf &&             
 systemctl enable --now nginx.service && sleep 5; systemctl status nginx.service
 
 systemctl enable --now openuds-web.service && sleep 5; systemctl status openuds-web.service

 systemctl enable --now openuds-taskmanager.service && sleep 5; systemctl status openuds-
 taskmanager.service

2) Настройка тунеля
 2.1)Установить пакет:
 # apt-get install openuds-tunnel

 2.2) Подготовить конфигурационный файл
 # sed -i 's|uds_server =.*|uds_server = http://<IP-адрес сервера OpenUDS>/uds/rest/tunnel/  
 ticket|' /etc/openuds-tunnel/udstunnel.conf

 2.3) Запустить сервис
 # systemctl enable --now openuds-tunnel.service && sleep 5; systemctl status openuds-
 tunnel.service

 2.4) Узнать токен
 # cat /etc/openuds-tunnel/udstunnel.conf | grep uds_token

 2.5)  Узнать мак адрес тунельного сервера 
 ip a | grep ether
 2.6) Зарегистрировать туннель  на сервере OpenUDS
 openuds_tunnel_register -H <IP сервера на котором тунель> -n Tunnel -t <Токен полученный --mac <Mac адрес туннельного сервера>

3) Проверка в веб интерфейсе
  3.1) Зайти  в веб  OpenUDS
  Логин: root
  Пароль: udsmam0 
  3.2) Нажать root(в правом верхнем углу) -> Dashboard
  3.3 В меню слева выбрать  Connectivity -> Transport
  3.4) New -> Tunneled -> Выбрать любой протокол для подключения -> Тунель -> Туннельный        
  сервер

============================
Ожидаемый результат: Добавленный тунель отображается в веб интерфейсе

Реальный результат: Список тунельных серверов пустой

============================
Дополнительно: При этом в БД данный тунель пристуствует. Если попробовать добавить тунель стакими же данными то в терминале вывод:
raceback (most recent call last):
  File "/usr/bin/openuds_tunnel_register", line 135, in <module>
    c.execute("""INSERT INTO uds_server (register_username, register_ip, ip, hostname, token, stamp, uuid, type, subtype, maintenance_mode, version, data, os_type, mac, certificate, listen_port, log_level, locked_until) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);""", 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/lib64/python3/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
MySQLdb.IntegrityError: (1062, "Duplicate entry '10.88.14.58' for key 'token'")
Comment 1 Куницкий Дмитрий 2025-10-27 15:45:40 MSK
*** Bug 56635 has been marked as a duplicate of this bug. ***
Comment 2 Elena Mishina 2025-11-02 19:20:35 MSK
Зарегистрированные туннельные серверы отображаются в разделе Инструменты → Токены → Серверы.

А для того чтобы Туннель отображался при создании туннельного транспорта (в разделе Connectivity  -> Transport , New -> Tunneled -> Выбрать любой протокол для подключения -> Тунель) он должен быть предварительно создан в разделе Подключение → Туннели.