Стенд: 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.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'")
*** This bug has been marked as a duplicate of bug 56634 ***
Не является багом, потому что openuds_tunnel_register добавляет токен для подключения, то есть регистрирует туннельный сервер на главном сервере. А добавить туннель, чтобы потом его использовать в > 3.3 В меню слева выбрать Connectivity -> Transport > 3.4) New -> Tunneled Необходимо сначала создать его в Connectivity -> Tunnels -> New