У меня есть локальная сеть, состоящая из шлюзового маршрутизатора / брандмауэра с dd-wrt, машины под управлением OS X с именем mac и хоста Debian с именем ssh-server. Брандмауэр перенаправляет порт 22 на ssh-сервер.
Я хотел бы сделать VNC на Mac доступным за пределами локальной сети, при этом только порт SSH на ssh-сервере открыт для WAN. Другими словами, я не хочу настраивать брандмауэр для перенаправления портов на mac: 5900 или открытия любых других портов. Это возможно? Как?
У меня есть решение для удаленного доступа, но оно требует открытия другого порта. Он использует ssh-туннелирование между ssh-сервером и Mac (подробности см. Ниже). Однако мне не нравится это решение, потому что мне нужно открыть другой порт для WAN, а оно без необходимости использует безопасный протокол в LAN.
Я сделал следующее: ssh-server $ ssh -nNT -L *: 12345: mac: 5900 user @ mac
Затем настройте брандмауэр для перенаправления порта 12345 на ssh-server: 12345.
Наконец, из WAN я использую переадресацию портов ssh для подключения к wan: 12345.
Однако мне не нравится, что это решение оставляет порт 12345 открытым в глобальной сети и перенаправляется в VNC.
Что о
remote-client% ssh firewall-port22-which-goes-to-ssh-server -L 5900:mac:5900
с последующим
remote-client% vncviewer localhost:5900