Использование CMAK для автоматизации клиентского подключения к VPN
Размещено: 24-04-2015, 00:40 | Просмотров: 2490 | Комментариев: 0
В интернете не так уж и мало инструкций по автоматизации подключений к VPN через CMAK, однако, все так или иначе содержали неясные моменты, на разрешение которых пришлось затратить некоторое время, поэтому я решил написать свою инструкцию и сделать ее доступной для других, в надежде на то, что она поможет сэкономить ценное время, или прояснит какой-либо непонятный момент.
Использование CMAK для автоматизации клиентского подключения к VPN

Итак, предположим, что мы устали писать и обновлять инструкции по созданию подключений к нашему VPN серверу для пользователей Windows и хотели бы автоматизировать этот процесс, предоставляя пользователю готовую программу, создающую подключение с заранее предопределенными нами параметрами и готовое к работе в условиях нашей сети. Осуществить это — нам поможет встроенный в Windows Server 2008 и Windows Server 2008 R2 компонент — «Connection Manager Administration Kit» (в русской версии «Пакет администрирования диспетчера подключений»). Итак, для того, чтобы установить CMAK необходимо запустить «Диспетчер сервера» и установить новый компонент «Пакет администрирования диспетчера подключений». Весь текущий пример основан на Windows Server 2008 R2 SP1, русская версия.

Установка компонента в диспетчере сервера:
Использование CMAK для автоматизации клиентского подключения к VPN

После установки пакет администрирования доступен из меню «пуск», или апплет «администрирование» в панели управления. После запуска CMAK нас поприветствует мастер пакета администрирования.
Использование CMAK для автоматизации клиентского подключения к VPN

Не долго думая, нажимаем «далее». В следующем окне мастер предложит выбрать нам семейство операционных систем, для которых мы создаем подключение. Под Windows Server 2008 R2 это «Windows 7, Vista», или «Windows Server 2003, Windows XP и Windows 2000». Впрочем, если мы выберем пункт с Windows 7 и Vista — подключение подойдет и для Windows 8.
Использование CMAK для автоматизации клиентского подключения к VPN

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

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

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

На следующем этапе нам предлагается добавить данные из телефонной книги других существующих профилей, чтобы не вводить их по новой. Т.к. других созданных профилей у нас нет — идем дальше.
Использование CMAK для автоматизации клиентского подключения к VPN

Далее нам необходимо указать IP-адрес VPN сервера для подключения.
Использование CMAK для автоматизации клиентского подключения к VPN

Мы можем указать единственный постоянный адрес, или текстовый файл, содержащий набор адресов для подключения, которые будут предоставлены пользователю на выбор. Файл имеет следующий формат:
[Settings]
default=Имя VPN сервера, который будет использоваться по умолчанию (какое-либо из перечисленных ниже, например «My VPN Server1»).
UpdateURL=Ссылка на текстовый файл, со списком сервером (каждый раз при подключении этот файл будет обновляться из указанного URL).
Message=Сообщение для пользователя, например, «пожалуйста, выберите сервер для подключения».
[VPN Servers]
My VPN Server1=my1.example.com
My VPN Server2=my2.example.com
My VPN Server3=my3.example.com

В нашем примере ограничимся единственным сервером. Кстати, на этой же странице мы можем отметить пункт использовать одни и те же учетные данные для аутентификации как на VPN-сервере, так и на dial-up соединении (если мы, конечно, хотим его использовать перед созданием VPN-подключения). Все это хорошо видно на скриншоте выше.
Следующее окно позволяет перейти к настройкам нашего туннеля.
Использование CMAK для автоматизации клиентского подключения к VPN

Нажав, «изменить», мы сможем настроить основные параметры нашего VPN-соединения. На вкладке «общие» можно выбрать типы адресов, которые мы хотим использовать «IPv4», «IPv6», или же и то и другое, а также отключить «общий доступ к файлам и принтерам», если нам он не требуется.
Использование CMAK для автоматизации клиентского подключения к VPN

Вкладка «IPv4» позволяет задать настройки для одноименного протокола. В числе настроек: DNS, WINS, использование подключения как шлюз по умолчанию и сжатие. В некоторых инструкциях, в случае, если нам нужно было не использовать VPN соединение как шлюз по умолчанию — предлагалось оставить здесь эту настройку включенной, а потом использовать в файле со статическими маршрутами директиву REMOVE_GATEWAY. Опытным путем установлено, что инструкция эта работает криво и приводит к багу, когда хост после подключения вообще перестает использовать свой основной шлюз по умолчанию. А вот настройка эта отработала вполне корректно, т.е. если нам не нужно использовать VPN-сервер как шлюз по умолчанию, то мы просто снимаем здесь эту галочку и добавляем позже статические маршруты для сетей, в которые нам нужно ходить через VPN.
Использование CMAK для автоматизации клиентского подключения к VPN

Практически такие же настройки для протокола IPv6.
Использование CMAK для автоматизации клиентского подключения к VPN

На вкладке «безопасность» можно выбрать нужный нам туннельный протокол (PPTP, L2TP, SSTP), причем можем выбрать единственный, а можем выбрать очередность попыток подключения. К примеру, если мы выберем сначала использовать L2TP, то после L2TP будет использоваться PPTP, а затем SSTP и т.д. Здесь также доступны различные параметры шифрования. Для L2TP, к примеру, можно указать разделенный ключ. В таком случае после настройки VPN соединения мастер предложит зашифровать наш ключ ПИН-кодом, который придется ввести пользователю при установке соединения. В этом же окне можно настроить методы аутентификации — более безопасный в общем случае EAP, или MS-CHAP 2, к примеру. Для данной статьи был выбран приоритет L2TP с разделенным ключом.
Использование CMAK для автоматизации клиентского подключения к VPN

На вкладке «дополнительно» — можно указать DNS-суфикс, который будет использоваться клиентским соединением.
Использование CMAK для автоматизации клиентского подключения к VPN

Окно для ввода разделенного ключа и ПИН-кода для его шифрования.
Использование CMAK для автоматизации клиентского подключения к VPN

Далее мастер предлагает ввести телефонную книгу для дозвона к dial-up серверу. В настоящее время, думаю, это не актуально, поэтому снимаем галку с пункта «автоматически загружать обновления телефонной книги» и нажимаем «далее».
Использование CMAK для автоматизации клиентского подключения к VPN

Если dial-up для нас не актуален, то и следующее окно пропускаем таким же образом.
Использование CMAK для автоматизации клиентского подключения к VPN

Далее нам предлагается возможность сделать обновление для таблицы маршрутизации. Если это актуально, добавляем файл маршрутов. Приведу пример файла маршрута. Допустим, мы хотим, чтобы клиент ходил в сеть 192.168.0.0/24 через наше VPN подключение (VPN-сеть имеет отличную адресацию от сети 192.168.0.0/24), при этом шлюз по умолчанию у него должен остаться свой. Тогда мы должны добавить текстовый файл с маршрутом такого содержания:
ADD 192.168.0.0 MASK 255.255.255.0 default METRIC default IF default

Внимание! Файл должен быть обязательно в кодировке ANSI, а не UTF-8, например. Если мы убрали галочку с пункта «Сделать это подключение основным шлюзом клиента» никаких директив REMOVE_GATEWAY здесь писать не нужно.
Использование CMAK для автоматизации клиентского подключения к VPN

Можно также указать URL на файл, содержащий таблицу маршрутизации, в таком случае она будет обновляться при каждом подключении.

В следующем окне мастера можно указать параметры прокси-сервера для Internet Explorer во время VPN-подключения. Возможны следующие варианты — вообще не настраивать параметры прокси (первый пункт), использовать уже настроенные пользователем параметры (второй пункт), или использовать предварительно настроенный файл, содержащий параметры прокси (третий вариант).
Использование CMAK для автоматизации клиентского подключения к VPN

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

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

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

И также для телефонной книги:
Использование CMAK для автоматизации клиентского подключения к VPN

Можно поменять иконку подключения:
Использование CMAK для автоматизации клиентского подключения к VPN

На следующем экране можно установить свой hlp-файл справки, или оставить справочную информацию, предложенную по-умолчанию.
Использование CMAK для автоматизации клиентского подключения к VPN

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

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

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

Однако есть тонкий момент — скорее всего созданное подключение будет требовать модема. Чтобы этого избежать — нужно на предпоследнем окне с галочкой «Дополнительно» открыть меню настроек, выбрать Manage Connecton и там присвоить параметру dialup значение 0.
Использование CMAK для автоматизации клиентского подключения к VPN

и вот тут отключаем:
Использование CMAK для автоматизации клиентского подключения к VPN

На этом настройка закончена и остается нажать «далее» в следующем окне и «готово» в финальном. Мы увидим путь, по которому создался профиль для подключения.
Использование CMAK для автоматизации клиентского подключения к VPN

Вот, собственно, и все. Папку с нашим профилем можно копировать клиенту и устанавливать подключение в два клика. Запускаем exe-файл с именем нашего подключения:
Использование CMAK для автоматизации клиентского подключения к VPN

После утвердительного ответа появится окно, где можно выбрать — устанавливается подключение только для данного пользователя, или же для всех, а также указать создать ярлык подключения на рабочем столе.
Использование CMAK для автоматизации клиентского подключения к VPN

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

На этом все. Надеюсь, что данная инструкция окажется кому-нибудь полезной.