Описание.
В связи с переводом работников офиса на удаленный режим работы, обычно организовывается доступ сотрудников по RDP. Напрямую порт RDP в Интернет показывать опасно, а автоматизация VPN подключений для пользователей в понятном открытом доступе отсутствует и каждому пользователю не просто объяснить, как настроить VPN у себя на компьютере. А если пользователей 100 и больше? Чтобы пользователь на удаленном рабочем месте не мучился с настройкой VPN и RDP клиентов и написано данное приложение. Процедура использования приложения выглядит примерно так: настраиваем программу для доступа определенного пользователя, сжимаем папку с настроенной программой в архив с паролем и присылаем по почте или иным способом (можно также все это сделать на любом переносном информационном носителе, на флешке например и раздать пользователям), а пароль передаем каким-либо другим способом. Пользователь дома распаковывает архив (например, на рабочий стол), запускает ярлык из папки и сразу подключается к своему рабочему столу с вводом пароля к RDP или полностью автоматически (зависит от настройки программы). Программа сама создает VPN соединение и инициирует RDP сессию. Пользователь максимум вводит пароль к RDP. В оконном режиме позволяет выбрать из нескольких RDP подключений. Если стоит задача установить VPN до корпоративной сети в программе предусмотрен и такой вариант. Можно сделать инсталятор (setup.exe) (по запросу).
Так же приложение можно использовать как переносной VPN (на любом переносном носителе информации), который всегда с собой.
Или для быстрой установки/разрыва VPN соединения (в режиме /onlyvpnhide) с индикацией в трее на своем рабочем столе.
Программа для установки соединения использует открытую библиотеку dotras.dll, написана под .net 4.5. Настройки хранятся в файле в одной папке с программой. Настройки шифруются средствами windows. Для защиты просмотра и изменения настроек, установлен ПИН (по умолчанию 1948591, можно сменить, сбрасывается вместе с настройками удалением файла autovpn.ini из папки программы). Умеет устанавливать VPN L2TP/IPSEC и L2TP, PPTP туннели - протестированы. Возможны другие варианты (такие как SSTP и IKEv2), но их не тестировал. Доступны разные варианты настройки авторизации и шифрования (по кнопке Optins на вкладке Parameters). По умолчанию без включенных твиков - это L2TP поверх IPSEC. Сетевые настройки для VPN сети: только протокол IP версии 4 с получением настроек по DHCP.
На открытой форме по кнопке RDP, если в папке с программой лежат один или несколько файлов .rdp, будет предложен выбор из настроек по умолчанию на вкладке параметры и из списка .rdp файлов в папке программы.
Настройки.
VPN server address: адрес основного VPN сервера
VPN2 server address: адрес запасного VPN сервера
Secret: IPSEC ключ, если отсутствует будет установлен только L2TP туннель.
VPN user, VPN password: соответственно логин и пароль для VPN (имейте ввиду: для большинства VPN серверов регистр букв в имени пользователя имеет значение).
RDP server address, RDP server port: адрес и порт RDP сервера в или за VPN сетью. Можно оставить пустым если используется только для VPN.
RDP user, RDP password: логин и пароль для сервера RDP. Можно не заполнять, например пароль - тогда при подключении его надо будет ввести.
По умолчанию без ключей запускается в оконном режиме со скрытой вкладкой настойки параметров. Если настройки заданны корректно, то жмем кнопку "Connect", смотрим в лог подключения, если подключение выполнено, то разблокируется кнопка "RDP". Можно подключаться к серверу рабочих столов.
Ключи запуска программы (используйте для создания ярлыков, Файлы exe, dll, ini советую сделать скрытыми в папке).
/auto - выполняет подключение к VPN и RDP в оконном и автоматическом режиме. После закрытия RDP сессии закроется.
/autohide - выполняет подключение к VPN и RDP в скрытом (в трее) и автоматическом режиме. После закрытия RDP сессии закроется.
/onlyvpn - оконный режим только для VPN, кнопка RDP скрыта.
/onlyvpnhide - в трее только VPN.
/prep - оконный режим с вкладкой настройки параметров. Здесь можно сменить ПИН. Тонкая настройка VPN по кнопке Options.
Для подключения использует средства ОС, поэтому для нее firewall настраивать дополнительно не надо. Работает сразу после запуска.
Протестировано на windows 7, 8, 10. Для работы необходим установленный Microsoft .NET Framework 4.5 (установщик входит в поставку). Начиная с Windows 8 и Windows Server 2012 Microsoft .NET Framework 4.5 входит в состав операционной системы.
Важно. Опция "использовать шлюз по умолчанию" для направления всего трафика (в том числе Интернет) через установленное VPN соединение по умолчанию отключена. Для включения необходимо установить эту опцию в дополнительных настройках (вкладка Parameters - кнопка Options).
Версия 1.0.2.0 Добавлена настройка Wins серверов. А так же сетевого расположения для соединения (для установки необходимо запустить программу от имени администратора и установить соединение хотя бы один раз). Добавлена возможность быстрого разрыва RDP-сессий и VPN-соединения при извлечении флешки с программой (если она была запущена с флешки). Все вышеперечисленные опции настраиваются в окне 'Options' по соответствующей кнопке на вкладке 'Parameters'.
Версия 1.0.2.2 Добавлена возможность запуска программы в нужных режимах без создания ярлыков с ключами. Следующим образом: в той же директории, что и программа, можно создать пустой файл с определённым именем. Варианта 4: start.auto, start.autohide, start.onlyvpn и start.onlyvpnhide. Файлы могут быть скрытыми. Если несколько файлов, то сработает первый по приоритету (я их описал в приоритетном порядке). Ключ "prep" имеет приоритет перед файлами. Файлы имеют приоритет перед остальными ключами запуска. Ну ещё косметика, пароли теперь можно прятать/открывать на формах.
Для изменения свойств RDP-подключения по умолчанию (например: размер рабочего окна, проброс портов и т.д.), можно в папке с программой сохранить файл "default.rdp" с установленными настройками.
Ограничения пробной версии. Умеет устанавливать только L2TP/IPSEC туннель, кнопка Options для тонкой настройки VPN заблокирована, после 2 минут соединение будет разрываться.