Настроив многоступенчатую удалёнку, я обнаружил, что офисный VPN-клиент под виртуалкой блокирует все мои домашние соединения и соединение с интернетом — можно ходить только на разрешённые офисные IP. То есть в скайп и аську не выйдешь, справочник в интернете не посмотришь, на FTP не зайдёшь. Добавление всевозможных сетевых соединений на виртуальную машину результата не дало — всё блокируется наглухо.
Выяснилось, что VPN-клиент не блокирует расшаренные для виртуальной машины папки, подключённые как диски. Решение: создаём расшаренную папку на виртуалке. Туда будут по специальному шаблону кидаются файлы «соединений», наличие и изменение размера которых свидетельствует о приходе новых данных. Хост-машина будет следить за файлами и пришедшие данные отправлять старшему HTTP-прокси. Виртуалка станет следить за файлами и пришедшие данные отдавать браузеру, у которого мы пропишем адрес прокси 127.0.0.1.
Пишу утилиту «ФайлоПрокся v1.0».
Было бы скучно, если бы этим всё кончилось. В офисе запретили интернет — мол, чтобы не бездельничали на рабочих местах. А мне справочники по работе нужны, программистские форумы. Мне что, через Гугл-переводчик их смотреть? Нет, это редкостное извращение. Стоп! У меня ведь есть виртуальная машина в офисной локалке! Проблема: ей разрешены только исходящие соединения, к ней подключиться невозможно, да и вообще её в сети не видно. Решение: пусть виртуальная машина сама ломится на офисную с предложением подключиться.
Пишу утилиту «ПроксиМост v1.0».
Финальный тест: сидим дома. В виртуалке заходим по удалёнке на офисный комп, запускаем ПроксиМост-Клиент, выходим на виртуалку, запускаем ПроксиМост-Сервер (пошёл коннект на офисный комп, мост «виртуалка-офис» налажен), запускаем ФайлоПрокси-Клиент, выходим на хост-машину, запускаем ФайлоПрокси-Сервер (появляется HTTP-интернет на виртуальной машине, мост «хост-виртуалка» налажен).
И вот когда заработало это, я понял ответ на последний вопрос из предыдущей истории: нет, это не лечится, и я действительно законченный извращенец! Сомневаетесь? Держитесь: всё это написано на VB6!