Скрипт создания vpn подключения windows 10

Обновлено: 05.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

Бесплатные VPN с простым подключением

Про программу autovpn я уже рассказывал в статье «Как быстро поменять IP в Linux». Суть его работы в следующем: он загружает список бесплатных VPN серверов, ищет в них VPN сервера из страны, которую вы указали, и подключается к нему. В результате весь ваш трафик начинает идти через VPN - это очень быстрый и автоматический способ поменять свой IP и обойти блокировки.

Благодаря особенностям работы VPN, весь трафик (а не только запросы веб-браузера), идёт через VPN сеть, то есть если вы используете сетевые инструменты, они также поменяют свой IP.

Автор autovpn удалил исходный код, в результате Rupert Edwards (автор TorIptables2) переписал код autovpn и назвал программу autovpn2. Программа выполняет всё то же самое.

В этой статье мы познакомимся с autovpn2.

Глядя на работу autovpn2, я всегда задавался вопросами:

  • действительно ли нужно каждый раз заново скачивать файл со списком VPN серверов?
  • почему обязательно нужно указывать страну, почему программа не может выбрать просто любой VPN из списка?
  • почему нет поддержки подключения к VPN через прокси (а также скачивание списка VPN через прокси) - это ещё лучше для анонимности
  • почему autovpn2 использует Python 2? Да, из-за отсутствия зависимостей, autovpn2 спокойно работает даже на Python 2 без модулей (как он присутствует в Kali Linux). Но ведь может наступить момент, когда Python 2 всё-таки полностью удалят с дистрибутивов

В общем, я учёл все эти замечания и ещё раз переписал autovpn (в этот раз на Bash) и назвал его autovpn3. Скриптом я тоже поделюсь в этой статье.

Автоматическое подключение к бесплатным VPN с помощью autovpn2

autovpn2 - это клиент VPN Gate (на основе OpenVPN) для Linux, подключает вас к случайному бесплатному VPN в стране по вашему выбору, который указывается двухбуквенным кодом страны.

Программа может помочь вам скрыть ваш реальный IP адрес от посещаемых сайтов, а также открыть сайты, которые заблокированы в вашей стране.

Ключевые особенности программы:

  • перенаправляет весь трафик в системе через VPN (а не только трафик веб-браузеров, как это делают некоторые плагины)
  • использует бесплатные VPN
  • получаемые настройки VPN ни к чему не привязаны - вам не нужно регистрироваться, вводить почту или выполнять какие-либо подобные действия
  • всё выполняется автоматически: поиск бесплатных VPN серверов, получение настроек, запуск OpenVPN клиента с указанием полученных настроек

Программа autovpn2 очень проста для использования, она позволяет быстро, без ручной настройки OpenVPN клиента подключиться к VPN и скрыть свой IP адрес от посещаемых сайтов, а также обходить блокировки.

Поскольку OpenVPN перенаправляет весь трафик через VPN сервер, то любые инструменты, которые вы используете, будут выходить в интернет через VPN сервер.

Программу можно запускать без опций:

В этом случае будет выполнен поиск бесплатных VPN серверов из US (США).

Вы можете указать двухбуквенный код страны (ISO 3166-2), в этом случае будет выбран VPN из указанного государства.

Пример поиска VPN сервера из Японии и автоматическое подключения к нему:

Чтобы проверить свой IP и к какой стране он принадлежит, вы можете использовать этот онлайн сервис или любой другой.

Если сразу после запуска программа быстро завершает свою работу без подключения к VPN, это может означать:

  • вы неправильно ввели код страны
  • отсутствуют VPN из выбранной страны

Если вывод программы завершился строкой содержащей «Initialization Sequence Completed», то это означает, что соединение успешно установлено и теперь вы выходите в сеть через VPN:


Скрипт autovpn2 спрашивает, попробовать ли другой VPN?

Если вы хотите попробовать другой VPN, то нажмите «y», если вы хотите выйти, то нажмите «n».

Как поменять страну по умолчанию в autovpn2

Если не указать страну, то по умолчанию будут искаться VPN сервера в США. Вы можете это изменить, для этого откройте файл autovpn2.py. Если вы переместили скрипт в $PATH, то откройте его следующим образом:

Нужно изменить строку 21 и 45, указав в них двухбуквенный код желаемой страны (большими буквами) вместо «US».


autovpn3 - дополнительные функции по управлению подключениями к бесплатным VPN

Как я уже написал, на мой взгляд, в autovpn могло бы быть побольше функций.

Дополнительные особенности в autovpn3 по сравнению с autovpn2:

  • список VPN кэшируется и скачивается заново только когда это действительно нужно, благодаря этому переподключение к новому серверу происходит намного быстрее;
  • можно указать страну для поиска VPN серверов в ней, либо использовать VPN из случайно выбранной страны
  • добавлена поддержка подключения к VPN через прокси (а также скачивание списка VPN через прокси) - это ещё лучше для анонимности
  • написана на Bash, у вас не возникнет проблем с Python 2, не требует компиляции
  • можно сохранить список VPN серверов и использовать его без повторной загрузки
  • быстрая смена VPN сервера


В программе уже сделана оптимальная настройка, подходящая для большинства пользователей, поэтому вы можете просто начать работать со скриптом:

Посмотрим на настройки (они прямо в начале скрипта):

Первой настройкой вы можете выбрать страну, из которой должен быть VPN сервер, например, JP, KR, US, TH. То есть двухбуквенный код, буквы обязательно большие. Если оставите пустым, то будет выбираться VPN сервер из любой страны. То есть скрипт не принимает код страны в качестве опции - страну нужно прописывать в коде.

Если вам не понравился выбранный VPN сервер, то нажмите Ctrl+c и программа предложит попробовать снова с другим VPN. В этом случае список серверов не скачивается заново - используется один и тот же. Но если вы закроете программу и запустите её опять, то заново будет скачен список VPN серверов. Если вас это устраивает, то установите значение на 0. Если вы хотите, чтобы при повторном запуске программы использовался старый список, то установите значение на 1. Если список отсутствует, то он будет скачен заново независимо от настроек. При перезагрузке компьютера, список удаляется в любом случае:

Все настройки прокси мы рассмотрим в другой статье, где мы будем подключаться к бесплатным VPN через прокси, в том числе через сеть Tor:

Скрипт выбирает случайный VPN сервер из всего списка (если не указана страна) или из списка для указанной страны. Если вас это устраивает, то установите значение на 0, если вы хотите, чтобы всегда использовался первый сервер, то установите значение на 1. Возможно, показатели первого сервера более высокие (лучше скорость, меньше пинги и т.п. - на самом деле, я это не проверял):

Путь до файла, где сохраняется скаченный список VPN серверов. По умолчанию он хранится в папке /tmp/, которая очищается при каждом перезапуске компьютера. Вы можете выбрать более стабильное расположение, если хотите (имеет смысл при «useSavedVPNlist=1»):

В следующей статье мы будем подключаться к VPN через прокси и через сеть Tor. В том числе, мы будем использовать autovpn3 для подключения через прокси и Tor к бесплатным серверам VPN.

Автоматическое создание VPN соединения в Windows скриптом

На просторах интернета имеется большое количество информации на тему виртуальных частных сетей.Однако очень мало статей, как создать VPN соединение автоматичеки (скриптом). Можно найти как это сделать в UNIX. Мы же опишем как это сделать в Windows, на примере Windows 7. Такой вопрос может встать перед системным администратором (например, если нужно сделать одинаковые настройки VPN соединения на нескольких компьютерах). В других версиях ОС Windows всё делается по аналогии и опытному человеку не составит труда разобраться. Рядовой пользователь может озадачиться данным вопросом с малой вероятностью, поэтому мы пока не будем описывать данный процесс для других операционных систем. Однако постараемся расписать каждый шаг:

  1. Ручное создание соединения через интерфейс.
  2. Настройка использования шлюза (как компьютер будет ходить в интернет, через VPN или минуя его).
  3. Автоматизация подключения уже настроенного соединения.
  4. Автоматизация создания нового подключения.

Cоздание соединения через интерфейс

Предполагаем, что где-то имеется сервер виртуальной частной сети и нам известны параметры для подключения к нему (адрес, логин и пароль). Заходим: Пуск -> Панель управления -> Центр управления сетями и общим доступом. В разделе Изменение сетевых параметров, щелкнем по Настройка нового подключения или сети. Откроется окно Установка подключения или сети, где будет предложено выбрать вариант. Щелкаем по Подключение к рабочему месту Настройка телефонного или VPN-подключения к рабочему месту и жмём Далее.

Если уже имеются другие настройки, на следующем шаге будет предложено выбрать что-то из них или создать новое. Выбираем создать новое. На следующем шаге выбираем Использовать моё подключение к Интернету.

В появившемся окне вводим: Интерент-адрес - адрес VPN сревера (IP или доменное имя), Имя местоназначения - любое, оно будет отображаться в списке ваших сетей (если планируется дальнейшая автоматизация процессов, рекомендуем использовать в названии только латиницу и/или цифры.

На следующем шаге вводим пользователя и пароль, а так же выбираем запомнить пароль или нет.

По завершению произойдет попытка соедениться, и если всё указано верно коеенкт произойдет.

Если вам известен протокол, по которум работет ваш сервер, рекомендуем настроить его принудительно, это ускорит процесс подключения. Необходимо отключить ваш VPN: в правом нижнем углу (в трее) раскрываем список сетей, на нашей правой кнопкой мыши -> отключить.

Заходим: Пуск -> Панель управления -> Центр управления сетями и общим доступом -> Изменения параметров адаптера. На нашей сети правой кнопкой мыши -> Свойства. Закладка Безопасность. И выбираем Тип VPN. Если этого не сделать, каждый раз будут попытки соедениться по каждому из протоколов, пока не будет успешной.

Настройка использования шлюза

После типовой настройки, описанной в предыдущем пункте, весь ваш интрнет трафик пойдет через созданный канал, т.е. через сервер. Если сервер имеет интернет канал с пропускной способностью меньше чем у вас, или он прилично нагружен, возможно ощутить замедление скорости доступа в глобальную сеть. Так же, на сайтах или сервисах на которые вы пойдете будет светиться IP адрес сервера, а не ваш. Иногда такое не подходит и есть необходимость, чтобы светился ваш IP адрес. В таком случае необходимо произвести настройку шлюза.

Вновь отключаемся и заходим в свойства соединения как описано чуть выше (в изменениях параметра адаптера). Выбираем закладку Сеть. Выделяем Протокол Интернета версии 4(TCP/IPv4) и жмеме Свойства -> Дополнительно. На закладке Параметры IP снимаем галку Использовать основной шлюз в удаленной сети. Во всех открытых окнах - ОК. Теперь даже при подключенном VPN соединении интернет трафик пойдет через ваш, а не удаленный шлюз.

Автоматизация подключения уже настроенного соединения

Автоматически установит VPN соединение для уже настроенного подоключения, можно не только из интерфейса, но и из-под коммандной стрки, используя команду rasdial.

где Имя подключения - то, что вы указали при создании VPN подключения в Имени местоназначения.

Используя эту команду, можно, например, настроить автоматическое подключение по VPN при загрузке компьютера. Для этого в планировщике задач необходимо создать нужное задание, в котором указать данную команду. Можно так же создать bat файл с одной строчкой - этой командой, и указать в задании его.

Остается одна проблема. Пароль при этом храниться в открытом виде. Если это решение не устраивает, можно скомпилировать bat файл в exe и пароль не будет явно видно. Переделка bat файла в exe - тема отдельной статьи, которых много в интернете. Воспользовавшись поиском, не составит труда найти, как это делается.

Создание VPN соединения скриптом

А теперь к самому интересному. Все созданные пользователем VPN соединения и их настройки храняться в одном файле - rasphone.pbk, который храниться в системной папке пользователя:

или, при типовой настройке Windows

В этом файле первая строка - имя VPN соединения в квадратных скобках. Далее идут пареметры (настройки) этого соединения. После них через пустую строку идет имя следующего VPN соединения в квадратных скобках (если у вас их два и более) и так далее.

Копируем этот файл в другое место, например на флэшку. Если у вас на этом компьютере было несколько настроенных VPN, а вам нужно настраивать на других компьютерах только один или некоторые, открываем скопированный файл в текстовом редакторе (я предпочитаю Notepad++).У даляем лишние соединения вместе с их настройками. Делать это нужно аккуратно, не удалив случайно некоторые из настроек нужных соединений

Создаем bat файл из двух строк

Я кладу созданный bat файл на флэшку в тот же каталог, где находиться отредактированный файл rasphone.pbk. Поэтому в первой строчке скрипта укзываю его имя без пути.

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

/Y означает, что файл в папке назначения будет перезаписан, если существует, без лишних вопросов.

Важно.

В моей реализации предполагается, что на компьютере внедрения отсутствуют существующие настроенные VPN соединения.
Если они присутствуют, то будут утеряны (удалены) при перезаписи файла, а если найдутся подключенные, то скрипт может выдать ошибку.
Если соединения уже есть, и их необходимо сохранить, потребуется не перезаписывать файл rasphone.pbk, а дописывать в него необходимую текстовую информацию.

Вторая строчка скрипта сразу устанавливает соединение для созданного VPN подключения

Запускаем скрипт и получаем результат. Вариаций реализации данного решения множество и у каждого своя ситуация. Охватить одной статьей все ситуации невозможно, цель - описать общий механизм.

Заключение

Если статья оказалась вам интересна и полезна, помогите найти её другим пользователям - сделайте репост в социалных сетях, используя расположенные ниже кнопки.

Управляем VPN-соединениями в Windows при помощи PowerShell

Управление VPN-подключениями в последних версиях Windows трудно назвать понятным и удобным. Часть настроек производится через современное приложение Параметры, другая часть, как и прежде, находится в Панели управления. Какие-то шаги к упорядочению этой ситуации сделаны только в Windows 11, но практического опыта работы с ней еще недостаточно. Но есть гораздо более простой и удобный способ управления VPN-соединениями - это PowerShell, его можно использовать как в интерактивном режиме, так и для написания скриптов автоматизации, которые будут производить настройку подключения в один клик.

Тема VPN является номером один для системных администраторов второй год, сложная эпидемиологическая обстановка диктует свои условия и требует обеспечить простой и безопасный способ удаленной работы для пользователей. И если с созданием VPN-сервера особых проблем нет - на выбор большое количество протоколов и технологий, то с клиентскими устройствами все намного сложнее.

Как мы уже говорили выше, самостоятельно создать VPN-подключение, не совершив при этом ошибок, для обычного пользователя будет достаточно сложной задачей, что потребует от администратора либо длительных консультаций в телефонном режиме, либо самостоятельной настройки через удаленное подключение. Да и в повседневной работе ввести одну команду гораздо быстрее и удобнее, нежели прокликивать несколько форм в разных местах.

Для управления VPN-соединениями мы будем использовать PowerShell, данные возможности поддерживаются начиная с Windows 8 и Windows Server 2012.

Создание VPN-соединения

Для того, чтобы создать новое VPN-подключение используется командлет Add-VpnConnection, использовать который достаточно просто, обязательных параметров всего два: имя подключения и адрес сервера. Но это, конечно же, не наш метод, если возможности позволяют выполнить тонкую настройку, а они позволяют, то ее нужно выполнить. Поэтому давайте изучим доступные параметры, которые могут нам пригодиться:

  • Name - имя подключения, произвольная строка
  • ServerAddress - адрес VPN сервера, можно указать как IP, так и FQDN
  • TunnelType - тип туннеля, доступные значения: Pptp, L2tp, Sstp, Ikev2, Automatic
  • EncryptionLevel - уровень шифрования данных, можно использовать: NoEncryption, Optional, Required, Maximum
  • AuthenticationMethod - способ проверки подлинности, доступно: Pap, Chap, MSChapv2, Eap, MachineCertificate
  • L2tpPsk - только для L2TP - предварительный общий ключ
  • SplitTunneling - отключает перенаправление всего трафика в туннель, аналогично снятию флага Использовать основной шлюз в удаленной сети
  • RememberCredential - запоминать учетные данные пользователя
  • UseWinlogonCredential - использовать для VPN-подключения учетные данные для входа в систему
  • AllUserConnection - создать подключение для всех пользователей

Также нам пригодятся два служебных параметра:

  • PassThru - выводит на экран результат выполнения команды
  • Force - подавляет вывод запросов и некритичных ошибок, в запросах применяется действие по умолчанию

Ниже мы рассмотрим команды для создания подключений всех поддерживаемых типов.

Устаревший и небезопасный протокол, то один из самых быстрых типов подключения, все еще продолжает использоваться там, где не предъявляются высокие требования к защите данных, либо для этого используются иные механизмы, например, SSL/TLS. В качестве способа аутентификации следует использовать MS-CHAP v2, а уровень шифрования не ниже Required, что соответствует параметру Обязательное (отключиться если нет шифрования) в графическом интерфейсе.

Также мы добавили опции для отключения перенаправления трафика в туннель и разрешили запоминать учетные данные.

powershell-vpnconnection-management-001.jpg

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

L2TP/IPsec

В качестве L2TP будем рассматривать подключение с общим ключом, также используем MS-CHAP v2 и уровень шифрования Required и выше.

powershell-vpnconnection-management-002.jpg

Обратите внимание, что в данной команде мы использовали ключ Force, чтобы предотвратить появление запроса о том, что подтверждаем ли мы передачу общего ключа в открытой форме. Также, как и с PPTP-подключением мы отключили шлюз в VPN-сети и разрешили запоминать учетные данные.

Для использования SSTP вам потребуется импортировать корневой CA-сертификат центра сертификации, выдавшего сертификат серверу в локальное хранилище компьютера, а также использовать в качестве адреса сервера FQDN-имя, указанное в его сертификате. В остальном все несложно, соединение создается уже привычной командой:

powershell-vpnconnection-management-003.jpg

Комментировать здесь мы ничего не будем, если вы внимательно читали статью, то все параметры будут вам понятны.

IKEv2

А вот здесь уже интереснее, мы будем настраивать соединение с аутентификацией по сертификатам. Здесь вам также потребуется импортировать сертификаты в хранилище компьютера: сертификат CA и сертификат пользователя. А для настройки соединения используем следующую команду:

powershell-vpnconnection-management-004.jpg

Обращает внимание новый метод аутентификации MachineCertificate и отсутствие параметра RememberCredential, в данном случае пользователю не нужно вводить никаких учетных данных, поэтому и запоминать тут нечего. В качестве имени сервера используем FQDN или IP, в зависимости от того, что указано в Common Name сертификата сервера.

Изменение параметров VPN-соединения

Создавать подключения мы уже научились, но как быть, когда нам требуется что-то в них изменить? На помощь придёт командлет Set-VpnConnection, он использует все те же параметры что и Add-VpnConnection и позволяет изменить любой из них, для указания подключения используется параметр Name. Скажем, мы хотим изменить адрес сервера для PPTP подключения, нет ничего проще, указываем имя подключения, требуемый параметр и его новое значение:

Например, включим разрешение запоминать учетные данные:

Для отключения введите:

powershell-vpnconnection-management-005.jpg

В тоже время служебные параметры PassThru и Force можно просто указывать без ввода значения, само их наличие воспринимается как Истина.

Получение информации о VPN-соединении

Для получения информации о настроенных VPN-соединениях мы можем использовать командлет Get-VpnConnection, из параметров он поддерживает только Name и AllUserConnection, что позволяет отобразить параметры конкретного соединения и уточнить, что мы хотим видеть соединения всех пользователей, а не только текущего.

Чтобы увидеть все VPN-соединения выполните:

Для получения данных о конкретном соединении:

powershell-vpnconnection-management-006.jpg

Возможностей у командлета немного, но со своей работой он справляется.

Удаление VPN-соединения

Для удаления соединения используется командлет, ему достаточно передать единственный параметр - Name, также можно дополнительно указать Force, если вы не хотите подтверждать запрос об удалении соединения.

powershell-vpnconnection-management-007.jpg

Но будьте осторожны и используйте Force только тогда, когда вы точно знаете какое соединение хотите удалить. Не рекомендуем использовать этот параметр интерактивно, так как есть риск, что вы можете указать не то соединение, все-таки запрос - лишний повод остановиться и подумать.

Добавление маршрута при подключении

Автоматическое добавление маршрутов при установлении VPN-подключения - больная тема для пользователей Windows, но PowerShell позволяет решить и этот вопрос, для этих целей есть отдельный командлет Add-VpnConnectionRoute, он весьма прост в использовании, вам нужно указать имя соединения в параметре ConnectionName и сеть назначения в параметре DestinationPrefix.

Например, добавим маршрут к сети 192.168.111.0/24 через подключение L2TP PS:

Автоматизация создания VPN-соединения

Для автоматического создания соединения важно чтобы конечный пользователь совершал минимум необходимых действий. В целях безопасности PowerShell скрипты нельзя запустить двойным кликом, поэтому будем использовать старый добрый CMD, в котором уже будем запускать PS и передавать ему нужные команды.

Ниже пример простого командного файла, который создает VPN-соединение и прописывает маршрут для него:

Обратите внимание, что команда полностью берется в двойные кавычки, а все двойные кавычки внутри команды заменены на одинарные. Данное содержимое вносим в Блокнот и сохраняем с расширением .bat или .cmd, для создания подключения не требуется повышения прав.

powershell-vpnconnection-management-009.jpg

Если вам нужно внести какие-либо изменения в параметры подключения, вы точно также можете создать новый командный файл, в котором будете использовать командлет Set-VpnConnection.

В целом PowerShell предоставляет достаточно широкие возможности по простому и удобному управлению VPN-соединениями на компьютере и позволяет решать множество связанных с этим задач в один клик, используя скрипты и командные файлы.

Развертывание VPN и RDP клиентов для удаленных пользователей

В рамках данного блога были публикации о настройке VPN сервера.

2020 год принес всем сюрприз в виде съеденной летучей мыши.

В марте нынешнего года пришлось организовывать несколько десятков удаленных рабочих мест штатными средствами (Windows 7, 8 и 10 ).

Для себя я выбрал связку Softether VPN как VPN сервер и Windows Terminal Server как Сервер терминалов:)

Для быстроты развертывания на клиентской стороне VPN и RDP были созданы скрипты простые автоматизации.

Общая идея:

  1. Автоматизировать VPN и RDP подключение пользователем запуском одного файла.
  2. При отключении RDP сессии отключаться от VPN сервера.
  3. Ускорить развёртывание на стороне клиента

Реализация:

  1. Шаблон VPN соединения
  2. Шаблон RDP файла
  3. Программа cmdow для сокрытия активного окна CMD
  4. Bat скрипт автоматизации подключения
  5. Bat скрипт создания клиентских подключений

В сети до сих пор есть описания о создании терминальных серверов с пробросами портов в инет.
Как защиту предлагают сменить стандартный порт 3389 на другой.
!Никогда так не делайте, обязательно ставьте в разрыв VPN сервер!

Создадим директорию проекта:

Настраиваем и тестируем VPN соединение, после удачного теста сохраняем его данные в текстовый файл под именем my.pbk.

Для этого открываем текстовым редактором файл:

Если на вашей машине одно соединение, то можно просто скопировать данный файл в рабочую папку проекта.

Если несколько подключений, то скопируйте руками в новый файл данные нужного подключения.

Конец конфигурации заканчивается блоком:
DEVICE=vpn

Encoding=1
PBVersion=4
Type=2
AutoLogon=0
UseRasCredentials=1
LowDateTime=1140277904
HighDateTime=30850051
DialParamsUID=4810171
Guid=0CDB884F96A5084D83311721A107FAF9
VpnStrategy=3
ExcludedProtocols=8
LcpExtensions=1
DataEncryption=256
SwCompression=0
NegotiateMultilinkAlways=0
SkipDoubleDialDialog=0
DialMode=0
OverridePref=15
RedialAttempts=3
RedialSeconds=60
IdleDisconnectSeconds=0
RedialOnLinkFailure=1
CallbackMode=0
CustomDialDll=
CustomDialFunc=
CustomRasDialDll=
ForceSecureCompartment=0
DisableIKENameEkuCheck=0
AuthenticateServer=0
ShareMsFilePrint=1
BindMsNetClient=1
SharedPhoneNumbers=0
GlobalDeviceSettings=0
PrerequisiteEntry=
PrerequisitePbk=
PreferredPort=VPN3-0
PreferredDevice=WAN Miniport (L2TP)
PreferredBps=0
PreferredHwFlow=1
PreferredProtocol=1
PreferredCompression=1
PreferredSpeaker=1
PreferredMdmProtocol=0
PreviewUserPw=1
PreviewDomain=1
PreviewPhoneNumber=0
ShowDialingProgress=1
ShowMonitorIconInTaskBar=0
CustomAuthKey=0
AuthRestrictions=512
IpPrioritizeRemote=1
IpInterfaceMetric=0
IpHeaderCompression=0
IpAddress=0.0.0.0
IpDnsAddress=0.0.0.0
IpDns2Address=0.0.0.0
IpWinsAddress=0.0.0.0
IpWins2Address=0.0.0.0
IpAssign=1
IpNameAssign=1
IpDnsFlags=0
IpNBTFlags=1
TcpWindowSize=0
UseFlags=2
IpSecFlags=1
IpDnsSuffix=
Ipv6Assign=1
Ipv6Address=::
Ipv6PrefixLength=0
Ipv6PrioritizeRemote=1
Ipv6InterfaceMetric=0
Ipv6NameAssign=1
Ipv6DnsAddress=::
Ipv6Dns2Address=::
Ipv6Prefix=0000000000000000
Ipv6InterfaceId=0000000000000000
DisableClassBasedDefaultRoute=0
DisableMobility=0
NetworkOutageTime=0
ProvisionType=0
PreSharedKey=
CacheCredentials=1
NumCustomPolicy=0
NumEku=0
UseMachineRootCert=0
NumServers=0
NumRoutes=0
NumNrptRules=0
AutoTiggerCapable=0
NumAppIds=0
NumClassicAppIds=0
SecurityDescriptor=
ApnInfoProviderId=
ApnInfoUsername=
ApnInfoPassword=
ApnInfoAccessPoint=
ApnInfoAuthentication=1
ApnInfoCompression=0
WebPreAuth=
DisableDefaultDnsSuffixes=0
NumTrustedNetworks=0
NumDnsSearchSuffixes=0
PowershellCreatedProfile=0
ProxyFlags=0
ProxySettingsModified=0
ProvisioningAuthority=
AuthTypeOTP=0
GREKeyDefined=0
NumPerAppTrafficFilters=0
AlwaysOnCapable=0
PrivateNetwork=0

NETCOMPONENTS=
ms_msclient=1
ms_server=1

MEDIA=rastapi
Port=VPN3-0
Device=WAN Miniport (L2TP)

Этот файл в дальнейшем мы будем импортировать клиентам.

При импорте мы потеряем логин, пароль и общий ключ IPSec.

Создадим в директории проекта RDP файл (текстовый файл c расширением rdp):

screen mode id:i:2
use multimon:i:0
desktopwidth:i:1920
desktopheight:i:1080
session bpp:i:32
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:2
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
bitmapcachepersistenable:i:1
full address:s:192.168.66.223
audiomode:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
autoreconnection enabled:i:1
authentication level:i:0
prompt for credentials:i:1
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
redirectdirectx:i:1
drivestoredirect:s:Локальный диск (C:);
username:s:MYDOMAIN\vladimir

Обращаем внимание на 3 строки и меняем их на нужные:

Докидываем в директорию проекта cmdow.exe из скаченного архива по пути \bin\Release (альтернативная ссылка).

Итого в директории у нас 3 файла:

Создадим 2 bat-скрипта в директории проекта:

Заполняем корректными данными RDP файл (адрес сервера, имя пользователя).

В файле connect.bat указываем корректные имя и пароль.

Разворачиваем клиентов

Копируем директорию проекта на компьютер клиента.

Переходим в директорию и запускаем от администратора install.bat.

L2TP общий ключ

Устанавливаем IPSec ключ в свойствах сетевого адаптера:
На рабочем столе клиента появились два файла:

После запуска connect.bat произойдет подключение к VPN серверу и после этого запустится RDP сессия.

На этом наверное все:)
P.S. Из массы разнообразных домашних компьютеров попались два экземпляра:

У меня есть среда поддержки, где мы подключаемся ко многим системам наших клиентов с помощью VPN и удаленного рабочего стола. Прямо сейчас сотрудники службы поддержки должны вручную настроить VPN-соединение на своей рабочей станции. Есть ли способ программно создать VPN-подключение?

Проверьте проект DotRas на CodePlex, компонент RasPhoneBook имеет полную поддержку по управлению телефонными книгами, используемыми Windows.

Это будет намного проще, чем работать с API напрямую, что я могу. :)

в Windows ras телефонная книга хранится в простом ini-файле, который можно найти по адресу

C:\Documents и настройки\все пользователи\данные приложения\Microsoft\сеть\соединения\Pbk\rasphone.ПБК

вы можете подготовить такой файл на своем компьютере, а затем развернуть этот файл для клиентов, просто скопировав его по указанному пути (или добавьте его содержимое к существующему). Чтобы отобразить новое соединение на панели "Сетевые подключения", просто обновите вид проводника (через Ф5 key), перезапуск проводника даже не требуется.

сначала создайте vpn-соединение на своем персональном компьютере. Это будет хранение в %userprofile%\AppData\Roaming\Microsoft\Network\Connections\PBK

затем откройте rasphone.файл pbk с текстовым редактором (например. Notepad++) и скопируйте информацию о подключении. Но не забудь. Перед этим шагом, вы должны быть завершены к вашему параметры подключения. А затем скопируйте информацию о подключении из rasphone.pbk-файл и вставить в скрипт (в строку rasphone). Совет: в телефонной книге rasphone.файл pbk содержит только настройки. Нет имени пользователя и паролей.

код проверяет ваш VPN подключение. Если у вас есть соединение, имя которого RAS или IP-адрес ras.ugurturhal.com, код ничего не меняет и предупреждает вас. Если у вас много VPN-подключений, и ни у одного из них нет одинаковых настроек (выше), он также "добавит" эту VPN. И последнее, если у вас нет VPN-соединения, это будет создание нового.

Я надеюсь, что это помогает кто-то..

и вы можете скачать мой файл проекта моего Хост..

PS: Я попытался добавить все мои коды сюда, но очень новый в stackoverflow. Пожалуйста, прости меня. Вы можете скачать образец ;)

PS2: или вы можете проверить его от GitHub. Спасибо @axrwkr

Я знаю, что это не "утверждено". но я занимаюсь этим годами без проблем.

настройте vpn на своем компьютере, убедитесь, что там есть только одна настройка VPN, или вы развернете их все для своего персонала. Найти в телефонной книге rasphone.файл pbk на вашем ПК, переименуйте его в myVPN.pbk (или все, что вы хотите) и использовать Altiris или что угодно, чтобы развернуть его на каждом рабочем столе.

когда они нажимают на него, он открывается и работает нормально. В качестве дополнительного преимущества положите его онлайн и скажите своим сотрудникам щелкнуть правой кнопкой мыши по ссылке и сохранить ее на рабочем столе и dbl нажмите на нее. наш uni делает это таким образом, так как я впервые обнаружил, что он работает большую часть 10 лет назад.

вам нужен пакетный скрипт для подключения к VPN, который настроен на базовой машине. У меня была похожая проблема некоторое время назад и я нашел этой и этой ссылка, чтобы быть полезным. Я использовал это решение (первая ссылка) в прошлом, поэтому он работает, но у меня больше нет пакетного сценария.

1.) Включают в телефонной книге rasphone.pbk в вашем скрипте (под C:\Documents и настройки\все пользователи\данные приложения\Microsoft\сеть\соединения\Pbk\ в XP. под C:\Users\USERNAME\AppData\Roaming\Microsoft\Network\Connections\Pbk в Vista)

2.) Установите рабочий каталог в имя переменной, чтобы вы могли вернуться к нему

3.) Перейдите в каталог, где хранится телефонная книга, используя имена переменных на основе профиля пользователя

4.) Проверьте, что телефонная книга есть, если она есть, переименуйте ее в rasphone.ПБК.bk, затем xcopy из местоположения скрипта (как сохранено в переменной) в новую телефонную книгу на новое место.

6.) Когда будете готовы, отключите и перепишите телефонную книгу с вашими настройками в исходном файле, если он есть, иначе просто удалите телефонную книгу.

Читайте также: