324 Dec. 9, 2022, 5:42 p.m.

uVNC Repeater для работы с удаленными серверами за NAT

Задача реализовать обратное подключение uVNC для работы с серверами за NAT.

Настройка сервера uVNC Repeater:

sudo apt-get install build-essential
sudo useradd -c 'UltraVNC Repeater User' -M -s /sbin/nologin uvncrep
wget http://www.wisdomsoftware.gr/download/uvncrep017-ws.tar.gz
tar -xzvf uvncrep017-ws.tar.gz && cd uvncrep017-ws
make
sudo ./install.sh

Редактируем настройки /etc/uvnc/uvncrepeater.ini Устанавливаем более подробный режим логгирования.

logginglevel = 2

Устанавливаем режим работы:

allowedmodes = 2

Блокируем отправку сообщений:

useeventinterface = false

Запускаем службу:

sudo systemctl start uvncrepeater

Важно не забыть открыть соответсвующие порты для работы системы.

Для удобства создан репозиторий на GitHub с кодом Dockerfile и готовый контейнер на DockerHub. Ссылки ниже. Команды для запуска готового контейнера:

docker run -d -t -p5901:5901 -p5500:5500 h963z57/uvncrepeater:main
docker logs container_name -n

Настройка сервера: Устанавливаем ПО с оффициального сайта, при установке можно выбрать установку только серверного модуля. После установки нужно зайти в свойства, задать пароль для подлючения, а также установить галочку на испольщоавние шифрования. Переходим в папку с программой и отрываем ini файл в котором нужно, в разделе [admin], добавить следующую строку:

service_commandline = -autoreconnect ID:123456789 -connect repeater_ip_address:5500  ,  где 123..89 придуманный ID и должен быть уникальным.

После чего нужно перезагруть сервис uVNC. Если всё сделано верно, то в логгах появится соответсвующие сообщение. Для подключения к серверну на компьютер, который будет испольнять роль viewer, нужно установить соответствующий модуль из программного обеспечения, при подключении к серверу необходимо в вкладке Security указать использование шифрования. Подключаться нужно в режиме репитера и ВАЖНО “ID:” нужно вводить вместе с цифрами.