Как работать из дома с ресурсами которые доступны только внутри корпоративной сети??
Очень часто мы жестко привязаны к компьютеру и к интернету. И беда не в этом факте, а в том что мы привязаны к конкретному компьютеру. Как правило – это компьютер на вашем рабочем месте. Естественно он подключен к корпоративной рабочей сети. И необходимые ресурсы для работы соотвественно тоже находятся в корпоративной сети и доступны только из неё. Вы бы и рады уйти домой пораньше, чего-нибудь там перекусить и с чашкой горячего кофе преспокойно доделать начатое дома… Но ресурс из дома недоступен.. поэтому мы будем сидеть на работе до ишачей пасхи. Что-то не здоровое в такой ситуации.
В этом вопросе может присутствовать огромное множество нюансов и деталей, которые могут нам подыграть или наоборот развеять все наши надежды. К сожалению, описать все пожалуй невозможно, но про один из вариантов расскажу. Сразу откинем варианты связанные с RDP и его вариации. Будем играть голыми руками =)
Предположим, вам необходим доступ из дома к корпоративному порталу corpdomain.local. Давайте поглядим как определяется его ip-адрес корпоративной сети, обычно для этого используют команду/программу/утилиту nslookup. Предположим, адресу corpdomain.local соотвествует внешний ip-адрес. Если на этом веб-сервере крутится всего один сайт – вам уже повезло. Можно попробовать сразу вставить ip в браузер. Если делали адекватные программистах и вам хоть немного везет – работать будет. Если там несколько сайтов, то запрос будет направлен на домен который идёт самым первым в конфигурации (для Apache при использовании include для подключения виртуальных хостов преобладает алфавитная очередность). Если по прямому ip-адресу не вышло – читаем дальше.
Естественно, дома у вас своя сеть, свой провайдер и значит свой DNS-сервер, который наверняка отличен от корпоративного. Из вывода nslookup можно почерпнуть информацию о корпоративном DNS-сервере. Нас интересует его адрес. Опять-таки, если там внешний ip-адрес, то смело втыкаем его в свойствах используемого подключения. После этого на домашнем компьютере набираем в браузере corpdomain.local. С большой долей вероятности вы должны увидеть тоже самое что и на работе =)
И рассмотрим третий вариант. Корпоративный портал на внешнем ip-адресе, DNS-сервер на внутреннем. Веб-сервер при обращении по прямому адресу возвращает не то что нам нужно (например сайт/портал принадлежащий компании, но не тот что нам нужен ), а при вводе доменного имени выводит вообще что-то не понятное: возможна ошибка “Домен не найден” или “Таймаут ответа сервера истек”, или просто какая-то непонятная реклама. В этом случае необходимо, что бы Ваш домашний компьютер корректно определял ip-адрес портала для того чтобы впоследствии браузер корректно формировал поле Host HTTP-пакета. В UNIX-системах существует файл nsswitch.conf который отвечает за порядок опроса источников данных в качестве “серверов имён”, но главное, что во всех системах преимущество имеет локальная база данных, находящая в файле hosts. Путь выглядит %WINDIR%/system32/drivers/etc/hosts и просто /etc/hosts для Windows и UNIX систем соответственно (заценили совпадение?). Вот его и необходимо поправить. Там наверняка уже будет запись вида
127.0.0.1 localhost
По аналогии добавляем запись для corpdomain.local. Обычно, изменения вступают в силу сразу. После этого ваш браузер должен “корректно” определять ip и направлять пакеты туда куда нужно.
Встречаются различные вариации данного метода, например, внутри локальной сети веб-сервер имеет внутренний ip адрес, nslookup показывает внутренний ip для данного домена. Это значит что теоретически получить доступ извне у вас не получится. Однако, на практике, может иметь место проброс в локальную сеть и всё пойдёт по уже описанной схеме.
Не знал куда постить – решил в рубрику про жизнь. Потому как это скорее небольшой лайф-хак, нежели что-то попадающее в иную рубрику справа =)