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:” нужно вводить вместе с цифрами.