Hardware A: Ubuntu 20.04 (192.168.1.61): Установлен VNC сервер и добавлен конфиг OpenVPN клиента для некоторого удаленного сервера C.
Hardware B: MacOS 11.1 (192.168.1.51): стандартный предустановленный VNC-клиент.
С B на A у меня идеальное VNC соединение, когда OpenVPN отключен. Но при подключении от A (как клиента) к серверу OpenVPN, VNC соединение сразу же разрывается. В то же время smb
, ping
(A <-> B) и traceroute
(A <-> B) работают идеально и с таким же поведением, как при отключенном OpenVPN (отключен только VNC).
От B к A (с VPN и без):
% traceroute 192.168.1.61
traceroute to 192.168.1.61 (192.168.1.61), 64 hops max, 52 byte packets
1 192.168.1.61 (192.168.1.61) 27.855 ms 2.296 ms 35.563 ms
От A к B (с VPN и без):
$ traceroute 192.168.1.51
traceroute to 192.168.1.51 (192.168.1.51), 64 hops max, 52 byte packets
1 192.168.1.51 (192.168.1.51) 27.855 ms 2.296 ms 35.563 ms
Почему VNC не работает, когда OpenVPN клиент подключен к VNC серверу и как обойти это поведение? Мне нужно подключить VNC сервер к OpenVPN сети и не потерять VNC соединение в то же время.
В моем случае я просто включаю этот переключатель в сети OpenVPN в меню «Настройки» -> «Общий доступ» -> «Общий доступ к экрану» в ОС vnc server. Вам нужен физический доступ к серверу vnc и сначала подключите OpenVPN.
Теперь все работает!
Попробуйте ssh
перейти из B в A (в терминале), а затем использовать его как туннель для подключения VNC.
Шаги:
ssh -l <имя пользователя> -L 59000:localhost:5900 <сервер A>
.
Или ssh -L 59000:localhost:5900 <имя пользователя>@<сервер A>
Примечания: <имя пользователя>
необходимо только в том случае, если оно не совпадает на сервере и клиенте. 59000 и 5900 можно изменить. <сервер A>
можно указать в ~/.ssh/config
или использовать напрямую с ip. localhost:5900
. Источники:
Получите IP-адрес сервера A в сети и подключите VNC к этому IP-адресу.