>>> 5800 и 5900 - два порта,
>>> которые нужны для работы сервиса. 5800 как командный, наверное.Зачем в неработающей системе ненужный порт, организованный разработчиками?
>> А форвардинг включен?
> Включен. -t nat -A POSTROUTING -p tcp --dport 5800 -j LOG показывает,
> что пакеты походят.
Это только на шлюзе. А у VNC сервера на входе появляются? А у клиента VNC сервера?
Подсети VNC сервера, VPN канала на шлюзе и удалённого клиента разные? Если нет, то как это преодолевается?
Порты у сервера и клиента открыты, а как система VNC сервера реагирует на пакеты из несвоих подсетей?
Сложную систему надо разбирать на части и исследовать только после. Впрочем, как и создавать.
Запустить VPN,
отладить пинги на все возможные адреса между двумя VPN серверами (шлюз <-> VNС сервер),
отладить пинги на все возможные адреса между двумя клиентами использующими канал (шлюз <-> внешний клиент),
отладить пинги на все возможные адреса VNС сервер <-> внешний клиент и т.д.,
отладить отдельно VNC сервер для локальных,
отлаживать VNC сервер через VPN для шлюза (или его подмены).
отлаживать VNC сервер через VPN для внешнего клиента.
Инструменты: в терминале, но не в файле, журнал OpenVPN со степенью подробности 5, плюс логи iptables, плюс tcpdump. Для M$ - Wireshark. Прочие логи.