Прошел недавно хитрый квест… Попросили меня организовать удаленный доступ к компьютерам офиса.  Причем RDP (удаленный рабочий стол) не устраивал, нужно было сделать именно VNC доступ. Проброс rdp портов роутером на честный-фиксированный ip-адрес я давно сделал, с ним проблем не было. Ставлю и настраиваю ultraVNC на компьютеры, делаю на роутере пробросы  портов по типу «внешний_ип:1111 -> внутренний_ип_1:5900″, «внешний_ип:1112 -> внутренний_ип_2:5900″…

… и нифига оно не работает. Внутри локалки я нормально подключаюсь ко всем компьютерам, а с интернета проброшенные порты тупо не работают… Начинаю решать ребус. Делаю проброс этих же портов на 3389 — нормально подключаюсь по rdp, возвращаю пробросы на :5900 — опять порты недоступны с сети…

Полез ковырять виндовый брандмаузер. Без результата. Отключаю этот чудный файрволл вообще — тоже никакого толку. Называется «я уже и мышку с клавиатурой почистил, и экран вытер, все равно компьютер не работает…»

Лезу в гугль. Ничего толкового нет…

И тут в голову приходит маленькая идея…

Полез обратно в управление роутером. Удалил все созданные правила пробросов, создал единственный «внешний_ип:5900 -> внутренний_ип_1:5900″ Свершилось чудо! Заработал доступ с интернета к первому компьютеру офиса. Настраиваю ultraVNC на первом компе, перевесив его на порт :1111, меняю в настройках роутера проброс на «внешний_ип:1111 -> внутренний_ип_1:1111″ — ура, работает!

Настраиваю на втором компе порт uvnc :1112, делаю на роутере проброс «внешний_ип:1112 -> внутренний_ип_2:1112″ — тоже работает. Дальше дело пяти минут настроить доступы к оставшимся компам.

Почему эта падла ultraVNC отказывалась работать, если проброшенный для нее порт на роутере не совпадал с ее портом на компьютере — для меня так и осталось загадкой.