Windows server 2008 openvpn server

Время на прочтение9 мин

Количество просмотров184K

Представляю подробную инструкцию по OpenVPN v2.3.8 на Windows server 2008R2 c уровнем шифрования TLS. Так же будут подробно описаны все параметры.

Настройка сервера

Для начала качаем дистрибутив с официально сайта. Запускаем установщик openvpn-install-2.3.8-I001-x86_64. В компонентах включаем следующее:

image

Указываем путь установки (

Все дальнейшие действия будут ориентироваться на данный путь указанный в примере

):

image

В процессе установке потребуется установить виртуальный сетевой адаптер, соглашаемся с установкой.

image

После успешной установки переходим в каталог “C:\Programm Files\OpenVPN” где создаем директорию “SSL” (каталог может называться как угодно, в последующих настройках будет использоваться именно этот каталог), в данном каталоге будут располагаться сертификаты сервера, алгоритмы шифрования и проверка подлинности клиента.

image

Переходим в каталог “C:\Programm Files\OpenVPN\easy-rsa”, открываем с помощью notepad или notepad++ (более правильный вариант) «vars.bat» (скрипт, содержащий в себе параметры ответов для создания и генерации клиентских/серверных сертификатов и последующих настроек сервера).

В самом низу файла есть следующие параметры, которые нужно настроить под себя:

set KEY_COUNTRY=RU
set KEY_PROVINCE=MO
set KEY_CITY=MOSCOW
set KEY_ORG=OpenVPN
set KEY_EMAIL=local@mos.local
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=OU
set PKCS11_MODULE_PATH=changeme rem Параметр по умолчанию
set PKCS11_PIN=1234 rem Параметр по умолчанию

Сохраняем.

В этом же каталоге “C:\Programm Files\OpenVPN\easy-rsa”, есть конфигурационный файл “openssl-1.0.0.cnf”, открываем его с помощью notepad или notepad++ (более правильный вариант) и изменяем настройку, отвечающую за срок жизни сертификатов, по умолчанию 365 дней, продлим срок жизни до 3650 дней.

default_days = 3650 # how long to certify for

Сохраняем.

Далее будем генерировать следующее:

ca.crt — Собственный доверенный сертификат (Certificate Authority — далее CA) для подписи клиентских сертификатов и для их проверки при авторизации клиента.
dh1024.pem — ключ Диффи Хельмана позволяющий двум и более сторонам получить общий секретный ключ
server.crt — сертификат сервера
server.key — ключ сервера
ta.key — дополнительный ключ для tls-аутентификации (повышение безопасности соединения), сервер и каждый клиент должны иметь копию этого ключа

Открываем командную строку и переходим в каталог “C:\Program Files\OpenVPN\easy-rsa”

cd C:\Program Files\OpenVPN\easy-rsa

Вводим команду “vars” нажимаем Enter (инициируем работу со скриптами, в случае закрытия командной строки, команду “vars” придется вводить заного)

Вводим команду “clean-all” (Очищаем каталог “C:\Program Files\OpenVPN\easy-rsa\keys” c последующим созданием файла“index.txt” (база клиентов, она же database) и “serial” (ключ))

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должны создаться файлы “index.txt и serial”.

Вводим команду “openvpn —genkey —secret %KEY_DIR%\ta.key

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должен создаться файл “ta.key”.

Вводим команду “build-dh” — генерация ключа Диффи Хельмана.

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должен создаться файл “dh1024.pem”.

Вводим команду “build-ca” — генерация ключа центра сертификации (CA)
На все вопросы отвечаем по умолчанию нажатием клавиши Enter, эти параметры мы прописали в “vars.bat

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должны создаться файлы “ca.crt и ca.key”.

Вводим команду “build-key-server server” — генерация сертификата сервера.
На вопросы Country Name, State Name, Locality Name и т.д. отвечаем по умолчанию нажатием клавиши Enter до самого конца, эти параметры мы прописали в “vars.bat”, далее будет предложено создание сертификата сроком на 3650 дней (данный параметр мы указывали в openssl-1.0.0.cnf) нажимаем “Y”, будет предложено записать сертификат сервера в базу, нажимаем “Y”.

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должены создаться файлы “server.crt, server.key, server.csr”.

Вводим команду “build-key revokecrt” — команда для создания пользовательского сертификата, но в данном случае мы создаем произвольный сертификат “revokecrt” для последующей генерации файла “crl.pem”, который отвечает за проверку и последующий отзыв сертификатов. Теоретически данную процедуру можно проделать в самом конце и даже жить без нее, но тогда не сможем отзывать сертификаты и конфигурационный файл “server.ovpn” будет выглядеть иначе.

На вопросы Country Name, State Name, Locality Name и т.д. отвечаем по умолчанию нажатием клавиши Enter до вопросов Common Name и Name, на эти вопросы нужно отвечать согласно названию создаваемого сертификата пользователя, в нашем случае это произвольный сертификат “revokecrt” на оставшиеся вопросы нажимаем Enter, далее будет предложено создание сертификата сроком на 3650 дней (данный параметр мы указывали в openssl-1.0.0.cnf) нажимаем “Y”, будет предложено записать сертификат сервера в базу, нажимаем “Y”.

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должны создаться файлы “revokecrt.crt, revokecrt.key, revokecrt.csr

Вводим команду “revoke-full revokecrt” – команда отвечает за отзыв сертификата и последующего создания файла “crl.pem

image

Не закрывая командную строку, проверяем содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должен создаться файл “crl.pem

Теперь создадим сертификат пользователя, аналогично сертификату “revokecrt” см. выше.
Вводим команду “build-key user1” – создаем сертификат пользователя с именем user1

image

.

На данном этапе работа с консолью закончена, можно закрыть окно и проверить содержимое каталога “ C:\Program Files\OpenVPN\easy-rsa\keys”, должны создаться файлы “user1.crt, user1.key, user1.csr

Рекомендую создать папку “Clients” в любом удобном для Вас месте и скопировать туда необходимые файлы для передачи пользователям:

1 — ca.crt
2 — user1.crt
3 — user1.key
4 — ta.key

Также хочу обратить Ваше внимание на то, что содержимое папки “keys” удалять нельзя, при создании пользовательских сертификатов или любых изменениях в консоли, делайте копию данного каталога во избежание потерь или случайных генераций сертификатов сервера и обновления базы данных.

Копируем файлы сервера в раннее созданную папку “ssl” в каталоге “ C:\Program Files\OpenVPN\ssl”:

1 — ca.crt
2 — server.crt
3 — server.key
4 — dh1024.pem
5 — ta.key

Переходим в каталог “C:\Program Files\OpenVPN\config” и создадим файл конфигурации сервера “server.ovpn” со следующим содержимым:

# Создаем маршрутизируемый IP туннель.
dev tun
# Указываем протокол для подключения.
proto udp
# Указываем порт на котором будем слушать.
port 1194
# Указываем что это TLS сервер.
tls-server
# Указываем путь к доверенному сертификату.
ca «C:\\Program Files\\OpenVPN\\ssl\\ca.crt»
# Указываем путь к сертификату сервера.
cert «C:\\Program Files\\OpenVPN\\ssl\\Server.crt»
# Указываем путь к ключу сервера.
key «C:\\Program Files\\OpenVPN\\ssl\\Server.key»
# Указываем путь к ключю Диффи Хельмана
dh «C:\\Program Files\\OpenVPN\\ssl\\dh1024.pem»
# Указываем адресацию сети.
server 10.8.0.0 255.255.255.0
# Указываем алгоритм шифрования должен быть одинаковый клиент/сервер.
cipher AES-128-CBC
# Указываем не перечитавать файлы ключей при перезапуске туннеля.
persist-key
# Указываем путь к ключу безопасности и устанавливаем параметр сервера 0
tls-auth «C:\\Program Files\\OpenVPN\\ssl\\ta.key» 0
# Разрешаем общаться клиентам внутри тоннеля.
client-to-client
# Указываем каталог с описаниями конфигураций каждого из клиентов.
client-config-dir «C:\\Program Files\\OpenVPN\\ccd»
# Указываем файл с описанием сетей между клиентом и сервером.
ifconfig-pool-persist «C:\\Program Files\\OpenVPN\\ccd\\ipp.txt»
# Указывает сверку по отозванным сертификатам.
crl-verify «C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\crl.pem»
# Указываем путь к логу со статусом.
status «C:\\Program Files\\OpenVPN\\log\\logopenvpn-status.log»
# Указываем путь к логу.
log «C:\\Program Files\\OpenVPN\\log\\openvpn.log»
# Указывает MTU для туннеля, должны быть одинаковые параметры клиент/сервер.
tun-mtu 1500
# Включаем сжатие.
comp-lzo
# Устранение проблем с передачей MTU.
mssfix
# Указывает отсылать ping на удаленный конец тунеля после указанных n-секунд,
# если по туннелю не передавался никакой трафик.
# Указывает, если в течении 120 секунд не было получено ни одного пакета,
# то туннель будет перезапущен.
keepalive 10 120
# Указываем уровень логирования.
verb 3

Сохраняем.

На сервере где будет крутиться OpenVPN необходимо проделать следующее:

1 – Если вы используете встроенный Брандмауэр Windows, создайте разрешающее правило для входящих и исходящих подключений по протоколу UDP на порт 1194.

2 – В службах сервера найдите OpenVPN Service и установите запуск на автоматический, это позволит автоматически запускаться сервису при перезагрузке сервера.

C рабочего стола сервера запускаем “OpenVPN GUI”, в трее дважды щелкаем по значку “OpenVPN GUI” откроется окно лога, если после запуска сервиса в пункте 2 нечего не произошло, нажимаем слева внизу подключиться и если все хорошо, мы должны увидеть следующее содержимое:

image

Сервис VPN на сервере запущен и готов принимать клиентов.

Настройка клиента

Запускаем ранее скаченный установщик openvpn-install-2.3.8-I001-x86_64, выбор компонентов оставляем по умолчанию, путь сохраняется прежний.

image

После успешной установки переходим в каталог “C:\Program Files\OpenVPN\config” и создаем файл конфигурации клиента “test.ovpn” со следующим содержимым:

# Создаем маршрутизируемый IP туннель.
dev tun
# Указываем протокол для подключения.
proto udp
# Указываем IP аддрес сервера с портом.
remote X.X.X.X 1194
# Указываем задержку в секундах для построения маршрута.
route-delay 3
# Указываем чтобы клиент забирал информацию о маршрутизации с сервера.
client
# Указываем что мы являемся TLS клиентом.
tls-client
# Параметр защиты от MitM атак.
ns-cert-type server
# Указываем путь к доверенному сертификату.
ca «C:\\Program Files\\OpenVPN\\ssl\\ca.crt»
# Указываем путь к клиентскому сертификату.
cert «C:\\Program Files\\OpenVPN\\ssl\\user1.crt»
# Указываем путь к клиентскому ключу.
key «C:\\Program Files\\OpenVPN\\ssl\\user1.key»
# Указываем путь к ключу безопасности и устанавливаем параметр клиента 1
tls-auth «C:\\Program Files\\OpenVPN\\ssl\\ta.key» 1
# Указываем алгоритм шифрования должен быть одинаковый клиент/сервер.
cipher AES-128-CBC
# Включаем сжатие.
comp-lzo
# Устранение проблем с передачей MTU.
mssfix
# Указывает MTU для туннеля, должны быть одинаковые параметры клиент/сервер.
tun-mtu 1500
# Указываем, сли в течении 60 секунд не было получено ни одного пакета,
# то туннель будет перезапущен.
ping-restart 60
# Указывает отсылать ping на удаленный конец тунеля после указанных n-секунд,
# если по туннелю не передавался никакой трафик.
ping 10
# Указываем уровень логирования.
verb 3

Сохраняем.

C рабочего стола запускаем “OpenVPN GUI”, в трее дважды щелкаем по значку “OpenVPN”, откроется окно лога, нажимаем подключиться и если все хорошо, то мы увидим следующее:

image

Запускаем пинг на 10.8.0.1 и видим что сеть доступна (10.8.0.1 адрес, который получил виртуальный сетевой адаптер на сервере).
На сервере мы увидим лог подключения:

image

Собственно на этом этапе можно закончить и все в дальнейшем будет работать. Но я хотел бы еще кое-что добавить. Для уменьшения количества файлов у клиента и добавление еще одного пункта в безопасности (пароль на подключение), можно сделать следующее, на этапе создания сертификата пользователя на сервере, выполняем команду “build-key-pkcs12 user2” вместо “build-key user1”, выполняем все аналогично первой команде, до пункта Export Password, в этом пункте необходимо указать пароль, например 12345, данный пароль по факту назначается на сертификат “user2.p12”, при попытке подключения через “OpenVPN”, программа обращается к сертификату и требует пароль (зная пароль, его можно изменить, удалить и т.д).

image

В таком случае, комплект для пользователя будет состоять из:

1 – user2.p12
2 – ta.key

Конфигурационный файл “test.ovpn” должны быть следующего содержания:

# Создаем маршрутизируемый IP туннель.
dev tun
# Указываем протокол для подключения.
proto udp
# Указываем IP аддрес сервера с портом.
remote X.X.X.X 1194
# Указываем задержку в секундах для построения маршрута.
route-delay 3
# Указываем чтобы клиент забирал информацию о маршрутизации с сервера.
client
# Указываем что мы являемся TLS клиентом.
tls-client
# Параметр защиты от MitM атак.
ns-cert-type server
# Указываем путь к сертификату.
pkcs12 «C:\\Program Files\\OpenVPN\\ssl\\user2.p12»
# Указываем путь к ключу безопасности и устанавливаем параметр клиента 1
tls-auth «C:\\Program Files\\OpenVPN\\ssl\\ta.key» 1
# Указываем алгоритм шифрования должен быть одинаковый клиент/сервер.
cipher AES-128-CBC
# Включаем сжатие.
comp-lzo
# Устранение проблем с передачей MTU.
mssfix
# Указывает MTU для туннеля, должны быть одинаковые параметры клиент/сервер.
tun-mtu 1500
# Указываем, сли в течении 60 секунд не было получено ни одного пакета,
# то туннель будет перезапущен.
ping-restart 60
# Указывает отсылать ping на удаленный конец тунеля после указанных n-секунд,
# если по туннелю не передавался никакой трафик.
ping 10
# Указываем уровень логирования.
verb 3

Сохраняем.

Пробуем подключиться, вводим пароль 12345

image

Если все хорошо видим следующее:

image

Ну и на последок, как отозвать сертификат пользователя и вообще посмотреть список выданных сертификатов. Сам список храниться по следующему пути “C:\Program Files\OpenVPN\easy-rsa\keys\index.txt”

image

Для того чтобы отозвать сертификат, заходим в командную строку. Переходим в каталог “C:\Programm Files\OpenVPN\easy-rsa”:

cd C:\Program Files\OpenVPN\easy-rsa

Вводим команду “vars” нажимаем Enter (инициируем работу со скриптами). Вводим команду для отзыва сертификата пользователя “revoke-full user2” (указываем название заведенного раннее пользователя).

image

После заходим в “index.txt” “C:\Program Files\OpenVPN\easy-rsa\keys\index.txt” и видим, что сертификат отозван “R”.

image

Не готов сказать на 100%, но судя по описанию, файл “index.txt” проверяется каждый час, соответственно через час, сертификат будет заблокирован, ну или просто достаточно перезапустить сервис на сервере.

Еще рекомендую использовать отдельную учетную запись для службы “OpenVPN Service” и в случае если пользователи будут работать с этим сервером, где развернут VPN, обязательно уберите права у простых пользователей на каталог “C:\Program Files\OpenVPN”.

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

This is a step-by-step guide on how to configure an Open VPN server on Windows Server 2008/2012 operating systems and connect clients to the created virtual private network.

Open VPN is an open implementation of VPN technology — the Virtual Private Network, which is designed to create virtual private networks between groups of geographically distant nodes on top of an open data transmission channel (Internet). Open VPN is suitable for tasks such as secure remote network connection to a server without opening Internet access to it, as if you are connecting to a host on your local network. Connection security is achieved by Open SSL encryption.

How it works?

When the Open VPN configuration is completed, the server will be able to accept external SSL-protected network connections to the virtual network adapter created at the start of the VPN service (tun / tap) without affecting the traffic processing rules of other interfaces (external Internet adapter, etc.). You can configure client sharing Open VPN to a specific network adapter from those present on the server. In the second part of the instruction, this tunneling of users’ Internet traffic is considered. With this method of forwarding, the host that handles VPN connections will also perform the function of a proxy server (Proxy) — to unify the rules of network activity of users and to route client Internet traffic on its own behalf.

Installing Open VPN on the server

Download and install version of Open VPN that matches your operating system. Run the installer; make sure that all features are selected for installation in the third step of the installation wizard.

open VPN -- install open VPN-choose all_1

Please note that in this instruction further commands are based on the fact that Open VPN is installed in the default directory «C: \ Program Files \ OpenVPN».

We allow adding a virtual network adapter TAP in response to the corresponding request and wait until the installation is complete (it may take several minutes).

Key generation (PKI) of the certification center, server, client; Diffie-Hellman algorithm

To manage the key / certificate pairs of all nodes of the private network being created, use the easy-rsa utility, which works via the command line, by analogy with the Linux console. To work with it, open, run the command line (Keyboard shortcut Win + R, then type cmd and press Enter)

Configuration files.

Running init-config.bat script will generate a new vars.bat file in our easy-rsa directory, this file will contain our configuration:

cd "C:\Program Files\OpenVPN\easy-rsa"
init-config.bat

So now we need to open up the following directory using Windows Explorer: C:\Program Files\OpenVPN\easy-rsa

Now, using Notepad (or another text editor) edit the batch file named vars.bat, we need to configure some variables…

Change the following settings (nearer the bottom of the file) to meet your requirements:

set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=OpenVPN
set KEY_EMAIL=mail@host.domain
set KEY_CN=changeme
set KEY_NAME=changeme

Note: if the value of the variable contains a space, enclose it in quotes.

Next you should save the changes to the file and then using Command Prompt, run the following commands:

cd "C:\Program Files\OpenVPN\easy-rsa"
vars.bat
clean-all.bat

Certification Center and Server Key Generation

Let’s proceed to the creation of the key / certificate of the certification authority. Run the script:

build-ca.bat

In response to the prompts that appear, you can simply press Enter. The only exception is the KEY_CN (Common Name) field — be sure to specify a unique name and insert the same name in the Name field:

open VPN -- install open VPN-ca generation

Similarly, we generate a server certificate. Here the value of the Common Name and Name fields is SERVER:

.\build-key-server.bat server

Note: the server argument is the name of the future file.

All generated keys will now be asked whether to sign the generated certificate (Sign the certificate) on behalf of the certification authority. Answer y (yes).

open VPN -- install open VPN-server key generation

Generating client keys and certificates

For each VPN client, you need to generate a separate SSL certificate.

There is an option in the Open VPN configuration, by enabling which you can use one certificate for several clients (see the server.ovpn file -> «dublicate-cn» file), but this is not recommended from a security point of view. Certificates can be generated in the future, as new customers connect. Therefore, now we will create only one for client1:

Run the following commands to generate client keys:

cd \
cd "C:\Program Files\OpenVPN\easy-rsa"
.\build-key.bat client1

Note: client1 argument is the name of the future file.

In the Common Name field, specify the name of the client (in our case client1).

open VPN -- install open VPN-client key generation

Diffie Hellman Parameters

To complete the encryption setting, you need to run the Diffie-Hellman parameter generation script:

.\build-dh.bat

Displaying information about creating parameters looks like this:

open VPN -- install open VPN-dh generation

Transferring generated keys / certificates

The generated certificates are located in the C: \ Program Files \ OpenVPN \ easy-rsa \ keys directory. Copy the files listed below to the directory C:\Program Files\OpenVPN\config:

  • ca.crt
  • dh2048.pem/dh1048.pem
  • server.crt
  • server.key

Open VPN server configuration

Let’s proceed to the configuration of the VPN server directly, use our configuration file with the name server.ovpn and place it in the C: \ Program Files \ OpenVPN \ config directory.

copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\config"
copy "C:\Program Files\OpenVPN\sample-config\client.ovpn" "C:\Program Files\OpenVPN\config"

    Open the file; find the path to the keys (see below). Check the paths to the previously copied certificates ca.crt, dh1024.pem / dh2048.pem, server.key, server.crt and, if necessary, change:

    port 1194
    proto udp
    dev tun
    server 10.8.0.0 255.255.255.0
    ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
    cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
    key "C:\\Program Files\\OpenVPN\\config\\server.key"
    dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
    push "redirect-gateway def1"
    push "dhcp-option DNS 8.8.8.8"
    keepalive 10 120
    comp-lzo
    persist-key
    persist-tun
    verb 3

    Save the file.

    Now you need to allow traffic forwarding between adapters. Follow these steps: Control Panel -> Network and Internet -> Network and Sharing Center -> Change adapter settings. Choose an adapter that looks to the external Internet (TAP-adapter is responsible for the VPN connection). In our example, this is Ethernet 2.

    Double-click the adapter Properties and go to the Access tab, tick all the checkboxes. Save the changes.

    Next you need to enable IP addressing.

    Using Windows Search, locate the REGEDIT.exe application.

    In the tree, find the directory HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters. In the right part of the window, find the IPEnableRouter variable, double-click into the value editing window and change it to 1, thereby allowing addressing on the VPS.

    open VPN -- enable ip addressing regedit

      Autorun Open VPN

      Immediately configure the Open VPN service to autorun at system startup.

      Open the Windows Services. Find in the list Open VPN -> right-click -> Properties -> Start: Automatic

      open VPN -- enable service.png

      This completes the basic configuration of the virtual private network server. Find the file C: \ Program Files \ OpenVPN \ config \ server.ovpn -> right-click -> «Start OpenVPN on this config» to start the virtual private network server and the configuration file we prepared.

      Open VPN Client Configuration

      Open VPN client applications are available for all popular operating systems: Windows / Linux / iOS / Android. For MacOS, the Tunnelblick client is used. All of these applications work with the same configuration files. Only some differences of several options are possible. You can learn about them by examining the documentation for your Open VPN client. In this guide, we will look at connecting a Windows client using the same distribution package of the program that we installed on the server. When using applications for other operating systems, the setup logic is similar.

      1. Install the current version of Open VPN on the client computer.
      2. Copy to the directory C: \ Program Files \ OpenVPN \ config the client certificate files created earlier on the server (2 certificates with the .crt extension and the key with the .key extension) and use our client.ovpn client configuration file. After copying to the user’s device, the last file is deleted from the server or transferred from the config folder to avoid confusion in the future.
      3. Open the client.ovpn file. Find the line remote my-server-1 1194 and specify the ip-address or domain name of the vpn-server in it:

        remote <ip-address> 1194</ip-address>

        For example:

        remote 83.166.241.155 1194
      4. Find ways to certificates. Specify in it the paths to the ca.crt, client1.key, client1.crt certificates copied earlier as in the example below:

        # See the server config file for more
        # description. It's best to use
        # a separate .crt/.key file pair
        # for each client. A single ca
        # file can be used for all clients.
        ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
        cert "C:\\Program Files\\OpenVPN\\config\\client1.crt"
        key "C:\\Program Files\\OpenVPN\\config\\client1.key"
        # This file should be kept secret
      5. Save the file. Client setup complete.

      Verify Windows Firewall Rules

      Attention! For the correct operation of the OpenVPN service, it is required that the corresponding ports be opened on the server (by default UDP 1194). Check the relevant rule in your Firewall: Windows Firewall or third-party anti-virus software.

      Check OpenVPN connections

      Start the Open VPN server, to do this, go to the directory C: \ Program Files \ OpenVPN \ config and select the server configuration file (we have server.ovpn -> right-click -> «Start OpenVPN on this config file»).

      Start the client, to do this, go to the directory C: \ Program Files \ OpenVPN \ config and select the client configuration file (we have client.ovpn -> right-click -> «Start Open VPN on this config file»).

      The screen displays the connection status window. In a few seconds it will be minimized to tray. The green indicator of the Open VPN shortcut in the notification area indicates a successful connection.

      Check the accessibility from the client device of the OpenVPN server using its internal private network address:

      1. Press the Win + R keys and type cmd in the window that appears to open the command line.
      2.  Execute the ping command to the address of our server in a virtual private network (10.8.0.1):

        ping 10.8.0.1

        If the VPN is configured correctly, the packet exchange with the server will start.

        openVPN -- ping.png

      3. With the help of the tracert utility, we will check on which route the packets from the client go. In the console, enter the following command:

      From the result of the utility, we see that the packets are first sent to the VPN server, and only then to the external network.

      Now you have a ready-to-work virtual private network that allows you to make secure network connections between its clients and the server using open and geographically distant points of connection to the Internet.

      This document describes how to install and configure OpenVPN on a Windows Server computer.

      Environment

        • OpenVPN 2.3.2 I003

        • Windows Server 2008 R2

        1. First, download the Windows installer, then run the file on the server you want to install OpenVPN.

        2. In the Welcome window, click the Next button.

        3. In the License Agreement window, click the I Agree button.

        4. In the Choose Components window, specify that all of the components should be installed. If you intend to use OpenSSL to create certificates, be sure to specify that the OpenSSL Utilities and the OpenVPN RSA scripts should be installed; this will give you the EasyRSA scripts which make configuring and creating certificates easier. Click the Next button.

        5. In the Choose Install Location window, click the Install button.

        6. The install was start and a window titled Windows Security will appear asking if you would like to install the TAP-Win32 Provider V9 Network adapter. Click the Install button to install this driver.

        7. In the Installation Complete window, click the Next button.

        8. In the Completing window, click the Finish button.

      A Windows service named OpenVPN Service will now exist on the server, and it will be set to start manually.

      In addition to the OpenVPN software shown in the Programs and Features control panel applet, the TAP-Windows software will also have been installed.

      Also, a network adapter named TAP-Win32 Adapter V9 will have been created.

      Copy the server.ovpn file from:

      C:\Program Files\OpenVPN\sample-config

      to:

      C:\Program Files\OpenVPN\config

      Edit this server.ovpn file and configure the following parameters.

      local

      If the server has more than one IP address then enable the local parameter and set it to the IP address you want to use.

      For example: 10.11.12.1

      port

      Leave the port parameter set to 1194.

      proto

      Leave the proto parameter set to udp.

      dev

      Leave the dev parameter set to tun, in order to create a router IP tunnel.

      ca, cert, key

      Set the ca, cert, and key parameters appropriately for your system. If you need to generate these files, the EasyRSA scripts provice an easy way to do this. Refer to the EasyRSA section below for further details.

      …………………………

      This section describes how to use EasyRSA to configure and create certificates.

      Организация VPN каналов между филиалами компании имеет большое значение в работе любого IT-специалиста. В данной статье рассматривается один из способов реализации этой задачи на основе программного продукта OpenVPN.

      Онлайн-курс по устройству компьютерных сетей
      На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

      Ниже мы рассмотрим топологию сети, в которой будем организовывать VPN-туннель, разберем особенности конфигурирования программы OpenVPN и пошагово настроим маршрутизацию для наших офисов. Статья написана из расчета, что OpenVPN будет устанавливаться на платформы Windows 7 и Windows Server 2008.

      Топология сети.

      Использованная нами сетевая топология стандартна. Имеется Сеть Центрального Офиса (назовем её СЦО) и Сеть Филиала (назовем её СФ). Стоит задача соединить офисы таким образом, чтобы конечный пользовательский компьютер (далее ПК1) офиса СЦО имел доступ к общим ресурсам пользовательского компьютера (далее ПК2) СФ.

      OpenVPN-channels-001v.jpg

      CЦО имеет в своем составе:

      • Интернет-шлюз (назовем его ИШ1) с двумя сетевыми интерфейсами:
        • 111.111.111.111 — выдаётся провайдером, смотрит в интернет.
        • 192.168.0.1 — назначается нами, смотрит в СЦО.
      • OpenVPN Сервер (далее ОС) на котором будем поднимать OpenVPN с одним виртуальным и одним физическим интерфейсом:
        • 10.8.0.1 — адрес виртуального интерфейса (интерфейс устанавливается в процессе установки программы OpenVPN). Адрес для этого интерфейса назначается программой. Мы с вами не должны менять адрес самостоятельно из управления сетевыми адаптерами.
        • 192.168.0.2 — физический интерфейс, параметры задаются нами, смотрит в СЦО.
      • ПК1 — пользовательский компьютер 1, с сетевым интерфейсом 192.168.0.3, смотрит аналогично в СЦО.

      СФ имеет в своем составе:

      • Интернет-шлюз (далее ИШ2) с двумя сетевыми интерфейсами:
        • 222.222.222.222 — выдаётся провайдером, смотрит в интернет.
        • 192.168.1.2 — назначается нами, смотрит в СФ.
      • OpenVPN Клиент (далее ОК) на котором будем поднимать OpenVPN с одним виртуальным и одним физическим интерфейсом:
        • 10.8.0.2 — адрес виртуального сетевого интерфейса (интерфейс устанавливается в процессе установки программы OpenVPN). Адрес для этого интерфейса так же назначается программой OpenVPN.
        • 192.168.1.2 — физический интерфейс, параметры задаются нами, смотрит в СФ.
      • ПК2 — пользовательский компьютер 2, с сетевым интерфейсом 192.168.1.3, смотрит в СФ.

      Настраиваем OpenVPN сервер.

      Теперь перейдем к самой программе, основам и особенностям её конфигурирования. OpenVPN доступен в вариантах для Linux и Windows. Вы можете скачать установочный пакет на сайте разработчика.

      Сам процесс инсталлирования не вызовет никаких проблем. Единственное, стоит отключить антивирус на время установки, дабы избежать дополнительных проблем. На момент написания статьи, к примеру, продукты Лаборатории Касперского не блокировали установку, а лишь выводили подозрение на некоторые устанавливаемые компоненты.

      В процессе установки в систему инсталлируется виртуальный сетевой адаптер TAP-Win32 Adapter V9 и, соответственно, драйвер к нему. Этому интерфейсу программа OpenVPN как раз и будет назначать ip адрес и маску виртуальной сети OpenVPN. В нашем случае ему назначен адрес 10.8.0.1 с маской 255.255.255.0 на сервере ОС и 10.8.0.2 с аналогичной маской на клиенте ОК.

      OpenVPN-channels-002.jpg

      По стандарту программа устанавливается в C:\ProgramFiles\OpenVPN. В этой директории следует сразу же создать дополнительно папку keys (здесь мы будем хранить ключи аутентификации) папку ccd (здесь будут находится конфиги настроек сервера для клиента).

      В директории C:\ProgramFiles\OpenVPN\sample-config представлены стандартные конфиги. Конфиги, которые мы будем создавать, должны размещаться в директории C:\Program Files\OpenVPN\config.

      Настройка OpenVPN начинается с генерации ключей. Генерируемые ключи делятся на:

      • главный CertificateAuthority (CA) сертификат и ключ, используемый для подписывания каждого сертификата сервера и клиента.
      • публичный и приватный ключи для сервера и каждого (это важно) клиента отдельно.

      Последовательность создания ключей следующая (названия файлов сертификатов и ключей указаны в скобках):

      • Генерируем основной CA (ca.crt) сертификат и CA (ca.key) ключ.
      • Генерируем сертификат (server.crt) и ключ (server.key) сервера.
      • Генерируем сертификат (office1.crt) и ключ (office1.key) для клиента.
      • Генерация параметров DiffieHellman (dh1024.pem).
      • Генерация ключа tls-auth (ta.key) для аутентификации пакетов.

      Разберем каждый пункт более подробно.

      Генерируем основной сертификат СА и СА ключ:

      Заходим в Пуск — Выполнить набираем cmd, жмем OK, заходим в командную строку. Пишем:

      cd C:/Program Files/OpenVPN/easy-rsa

      Таким образом мы находимся в директории easy-rsa:

      OpenVPN-channels-003.jpg

      Во время выполнения всех пунктов генерации ключей вы должны находиться именно в ней. Выполняем команду:

      init-config

      Не закрывая командную строку, зайдем в C:\ProgramFiles\OpenVpn\easy-rsa и отредактируем файл vars.bat, заполнив следующие параметры (указав, естественно, свои данные):

      KEY_COUNTRY=RF
      KEY_PROVINCE=MO
      KEY_CITY=Malinino
      KEY_ORG =Organization
      KEY_EMAIL=organization@email.ru

      Теперь создадим СА сертификат и СА ключ. Раскрываем командную строку, которая все это время висела где то на рабочем столе, и продолжаем вписывать команды:

      vars
      clean-all
      build-ca

      Последняя команда как раз и выполняет генерацию СА сертификата и СА ключа. В процессе создания ключа вам будут задавать вопросы, на которые вы можете отвечать просто нажатием Enter’a (тогда значения будут браться из файла vars.bat который мы редактировали выше) или же вводить свои. Стоит обратить внимание на вопрос:

      Common Name (eg, your name or your server's hostname) []: OpenVPNS

      Здесь вы должны задать название для сервера — в примере мы ввели OpenVPNS.

      Генерируем сертификат (server.crt) и ключ (server.key) сервера.

      Не выходя из директории, в нашей командной строке продолжим вводить команды. Сгенерируем сертификат сервера и ключа командой:

      build-key-server server

      На вопросы отвечаем так же как в первом пункте. На вопрос:

      Common Name *: server

      Введем: server. На вопросы:

      Sign the certificate? [y/n]

      и

      1 out of 1 certificate requests certified, commit? [y/n]

      надо дать положительный ответ: Y.

      Генерируем сертификат (office1.crt) и ключ (office1.key) для клиента.

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

      build-key office1

      если требуется еще сертификаты и ключи, скажем для второго клиента, то вводим:

      build-key office2

      В процессе ответа на вопросы не забывайте, что каждый клиент на вопрос CommonName должен получить уникальное имя, например: office1, office2 и т.д.

      Генерация параметров DiffieHellman (dh1024.pem).

      Вводим в командной строке, находят во все той же директории easy-rsa:

      build-dh

      Генерация ключа tls-auth (ta.key) для аутентификации пакетов

      В конце создаем ключ для tls-аутификации командой:

      openvpn --genkey --secret ta.key

      Теперь разберемся с тем, какие файлы оставлять на сервере, а какие перенести клиенту. На сервере (OC) должны находиться в созданной нами папке keys только следующие файлы:

      • ca.crt
      • ca.key
      • dh1024.pem
      • server.crt
      • server.key
      • ta.key

      OpenVPN-channels-004.jpg

      На клиенте OK аналогично серверу ОС создадим так же папочку keys, там должны быть:

      • ca.crt
      • office1.crt
      • office1.key
      • ta.key

      Все файлы с расширением .key являются секретными. Передавать их стоит только по защищенным каналам, лучше на физическим носителе.

      Далее приступим к созданию конфига для нашего сервера ОС и клиента ОК. В директории config создаем файл со следующим названием и расширением: server.ovpn Открываем его блокнотом и начинаем писать конфиг:

      Выбираем протокол для передачи данных — в данном случае upd:

      proto udp

      Стандартный порт для OpenVPN:

      port 1194

      Режим работы программы L3-туннель. В данном режиме OpenVPN — роутер:

      dev tun

      Режим клиент-сервер:

      tls-server

      Данного топология доступна с версии 2.1 и заключается в том что каждому клиенту выдается по 1 адресу, без виртуальных портов маршрутизатора:

      topology subnet

      Маршруты добавляются через .exe — это важно:

      route-method exe

      Задержка при добавлении маршрута, можно уменьшить до 5:

      route-delay 10

      Данная опция задает организацию сети. У нас появляется виртуальная сеть 10.8.0.0 /24. Первый адрес из этой сети, то есть 10.8.0.1 выдается серверу, последующие (10.8.0.2, 10.8.0.3 и т.д.) клиентам. DHPC сервер получает адрес 10.8.0.254:

      server 10.8.0.0 255.255.255.0

      Задаем шлюз в openvpn сеть:

      route-gateway 10.8.0.1

      Директория, в которой мы должны расположить файл с названием нашего клиента, то есть office1 без расширения, и в нем записать команды, которые будут выполнятся на клиенте:

      client-config-dir "C:\\Program Files\\OpenVPN\\ccd"

      Далее идут пути до файлов сертификатов и ключей сервера. Заметим, что пути обязательно пишутся с двойной чертой, а именно \\:

      ca  "C:\\Program Files\\OpenVPN\\keys\\ca.crt"  
      cert "C:\\Program Files\\OpenVPN\\keys\\server.crt"
      key "C:\\Program Files\\OpenVPN\\keys\\server.key"
      dh "C:\\Program Files\\OpenVPN\\keys\\dh1024.pem"
      tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 0

      Задаем серверу ОС маршрут на всю сеть:

      route 10.8.0.0 255.255.255.0 

      Выбираем метод сжатия:

      cipher BF-CBC

      Задаем сжатие трафика:

      comp-lzo

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

      verb 1

      Cервер пингует противоположную сторону с интервалом в 10 секунд и если сторона не отвечает за 60 секунд, то сервер запустит пересоединение:

      keepalive 5 60

      Далее переходим в директорию ccd и создаем файл, в котором будут лежать команды, посылаемые клиенту от сервера. Назвать его надо так же как мы называли самого клиента, например office1. Файл не будет иметь расширения.

      OpenVPN-channels-005.jpg

      Редактируем его через блокнот. Все параметры, заданные ниже, будут автоматически переданы клиенту:

      Задаем ip и маску для нашего клиента office1:

      ifconfig-push 10.8.0.2 255.255.255.0

      Передаем ему маршрут на всю сеть:

      push "route 10.8.0.0 255.255.255.0"

      Задаем для него шлюз:

      push "route-gateway 10.8.0.1"

      Эта команда говорит серверу ОС о том, что за данным клиентом, а именно ОК (office1) находится сеть 192.168.1.0:

      iroute 192.168.1.0 255.255.255.0

      Таким образом, мы закончили конфигурирование сервера на стороне ОС.

      Настройка клиента.

      Далее приступим к изменению параметров клиента. Зайдем на машине ОК в папку config. Создадим в ней файл office1.ovpn Приступим к его редактированию, ряд опций повторяет аналогичные на сервере, поэтому мы их пояснять не будем:

      dev tun
      proto udp
      port 1194

      Указываем внешний адрес ИШ1:

      remote 111.111.111.111

      Клиент будет в работать в режиме тлс-клиента:

      tls-client 

      Эта опция защищает от подмены сервера третьим лицом:

      remote-cert-tls server

      Эти опции аналогичны серверу:

      route-method exe
      route-delay 10

      Задаем маршрут к сети 192.168.0.0:

      route 192.168.0.0 255.255.255.0

      Этой командой разрешаем прием конфигурации клиента с сервера:

      pull

      Пути к ключам:

      ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt"
      cert "C:\\Program Files\\OpenVPN\\keys\\office1.crt"
      key "C:\\Program Files\\OpenVPN\\keys\\office1.key"
      tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 1

      Остальные опции также аналогичны серверу:

      cipher BF-CBC
      comp-lzo
      verb 1
      keepalive 5 60

      На этом настройка программы на стороне клиента ОК закончена.

      Настройка брандмауэра и маршрутизация.

      И так, мы имеем настроенные конфиги на ОК и на ОС. Теперь разберем очень важные моменты. Заранее оговоримся, если вы использует KIS 2011 или подобные антивирусные программы, то в настройках сетевого экрана следует разрешить прохождение ICMP пакетов. Это позволит беспрепятственно пинговать хосты в наших сетях.

      OpenVPN-channels-006.jpg

      Так же стоит добавить наш виртуальный интерфейс программы OpenVPN в список доверенных сетей.

      OpenVPN-channels-007.jpg

      На ИШ1 должны быть проделаны следующие действия:

      • Настроено перенаправление порта 1194 протокола UDP с интерфейса 111.111.111.111 на интерфейс сервер ОС 192.168.0.2
      • В файерволе должна быть разрешена передача по порту 1194 протокола UDP, иначе пинг не будет проходить даже между ОС и ОК.

      На ИШ2 надо предпринять аналогичные действия:

      • Настроить перенаправление порта 1194 протокола UDP с интерфейса 222.222.222.222 на интерфейс клиента ОК 192.168.1.2
      • Проверить, открыт ли порт 1194 протокола UDP в файерволе.

      В Usergate 5.2, к примеру, настройка форвардинга пакетов по порту 1194 протокола UDP выглядит так:

      OpenVPN-channels-008.jpg

      На этом этапе мы уже пингуем ОК и ОС по их OpenVPN адресам, то есть 10.8.0.1 и 10.8.0.2. Далее нам необходимо обеспечить правильный маршрут пакетов с клиента ОК до удаленной сети 192.168.0.0. Делаем это одним из нескольких способов:

      Либо задаем постоянный маршрут до этой сети на самом клиенте ОК:

      route  -p add 192.168.0.0 mask 255.255.255.0 10.8.0.1

      Либо задаем этот маршрут в ccd конфиге клиента на сервер, а именно в файле office1 допишем:

      push "route 192.168.0.0 255.255.255.0"

      Так же это можно сделать, добавив строку напрямую в конфиг клиента ОК:

      route 192.168.0.0 255.255.255.0

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

      Затем необходимо обеспечить маршрут пакетов с сервера ОС до удаленной сети 192.168.1.0. делается это аналогично варианту выше за несколькими исключениями.

      Добавляем команду в конфиг сервера ОС:

      route 192.168.1.0 255.255.255.0 10.8.0.2 

      или же добавляем команду непосредственно в командной строке:

      route -p add 192.168.1.0 mask 255.255.255.0 10.8.0.2

      Так же необходимо на сервере ОС и клиенте ОК включить в службах службу Маршрутизации и удаленного доступа, таким образом обеспечив маршрутизацию на внутреннюю сеть (форвардинг). Без этого внутренние адреса в сетях СЦО И СФ клиента ОК и сервера ОС не будут пинговаться.

      OpenVPN-channels-009.jpg

      На этом этапе мы уже свободно можем пинговать внутренние адреса наших ОС и ОК, т.е. набирая на сервере ОС ping 192.168.1.2 и на клиенте ОК ping 192.168.0.2 мы получаем положительный результат в виде:

      OpenVPN-channels-010.jpg

      Таким образом ОК и ОС взаимно пингуются по своим OpenVPN и внутренним СЦО и СФ адресам. Дальше нам надо прописать маршрут в командной строке в сеть 10.8.0.0 на наших ПК1 и ПК2. Делается это следующими командами:

      Для ПК1:

      route -p add 192.168.1.0 mask 255.255.255.0 192.168.0.2

      Для ПК2:

      route -p add 192.168.0.0 mask 255.255.255.0 192.168.1.2

      В результате расшаренные ресурсы в ПК1 и ПК2 будут доступны по их внутрисетевому адресу:

      OpenVPN-channels-011.jpg

      Онлайн-курс по устройству компьютерных сетей
      На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

      Содержание

      1. Настройка OpenVPN-сервера на Windows Server 2008/2012
      2. Содержание:
      3. Виртуальный сервер на базе Windows
      4. Как это работает?
      5. Установка OpenVPN на сервер
      6. Генерация ключей (PKI) центра сертификации, сервера, клиента; алгоритм Диффи-Хеллмана
      7. Конфигурация сервера OpenVPN
      8. Конфигурация клиента OpenVPN
      9. Проверка правил Брандмауэра Windows
      10. Проверка OpenVPN-соединения
      11. Записки IT специалиста
      12. Настраиваем VPN сервер. Часть 5 — L2TP. Платформа Windows.
      13. Дополнительные материалы:
      14. Настройка VPN сервера на Windows Server 2008, 2012, 2016 на VPS/VDS
      15. Настройка VPN сервера на Windows Server 2008, 2012, 2016 на VPS/VDS
      16. Устанавливаем роль VPN
      17. Настройка VPN сервера
      18. Предоставляем доступ пользователям для подключения через VPN
      19. Подключаемся к виртуальной сети VPN

      Настройка OpenVPN-сервера на Windows Server 2008/2012

      Это пошаговое руководство о том, как настроить OpenVPN-сервер в операционных системах Windows Server 2008/2012 и подключить клиентов к созданной виртуальной частной сети.

      OpenVPN — открытая реализация технологии VPN — Virtual Private Network, которая предназначена для создания виртуальных частных сетей между группой территориально удаленных узлов поверх открытого канала передачи данных (интернет). OpenVPN подходит для таких задач, как безопасное удаленное сетевое подключение к серверу без открытия интернет-доступа к нему, как будто вы подключаетесь к хосту в своей локальной сети. Безопасность соединения достигается шифрованием OpenSSL.

      Содержание:

      Виртуальный сервер на базе Windows

      Как это работает?

      По окончанию настройки OpenVPN сервер сможет принимать внешние защищенные SSL сетевые подключения к созданному при запуске VPN-сервиса виртуальному сетевому адаптеру (tun/tap), не затрагивая правила обработки трафика других интерфейсов (внешний интернет-адаптер и др.) Имеется возможность настроить общий доступ клиентов OpenVPN к конкретному сетевому адаптеру из присутствующих на сервере. Во второй части инструкции рассмотрено такое туннелирование интернет-трафика пользователей. При этом способе переадресации обрабатывающий VPN-подключения хост будет выполнять и функцию прокси-сервера (Proxy) — унифицировать правила сетевой активности пользователей и осуществлять маршрутизацию клиентского интернет-трафика от своего имени.

      Установка OpenVPN на сервер

      Скачайте и установите актуальную версию OpenVPN, соответствующую вашей операционной системе. Запустите установщик, убедитесь что на третьем шаге мастера установки выбраны все компоненты для установки.

      Обратите внимание, что в этой инструкции дальнейшие команды приведены из расчета, что OpenVPN установлен в директорию по-умолчанию «C:\Program Files\OpenVPN».

      Разрешаем добавление виртуального сетевого адаптера TAP в ответ на соответствующий запрос и дожидаемся завершения установки (может занять несколько минут).

      Генерация ключей (PKI) центра сертификации, сервера, клиента; алгоритм Диффи-Хеллмана

      Для управления парами «ключ/сертификат» всех узлов создаваемой частной сети используется утилита easy-rsa, работающая через командную строку по аналогии с консолью Linux. Для работы с ней откройте запустите командую строку (Сочетание клавиш Win+R, затем наберите cmd и нажмите Enter)

      Скачайте наши файлы конфигурации и скрипты и замените их в каталоге C:\Program Files\OpenVPN\easy-rsa.

      Если пути по умолчанию не совпадают, откорректируйте их во всех файлах.

      В файле конфигурации openssl-1.0.0.conf обязательно задайте значения переменным, соответствующие вашим данным: countryName_default
      stateOrProvinceName_default
      localityName_default
      0.organizationName_default
      emailAddress_default

      Примечание: если значение переменной содержит пробел, то заключите ее в кавычки.

      Генерация ключей Центра Сертификации и Сервера

        Переименуйте файл index.txt.start в index.txt, serial.start в serial с помощью следующих команд: cd \
        cd «C:\Program Files\OpenVPN\easy-rsa»
        ren index.txt.start index.txt
        ren serial.start serial

      Перейдем к созданию ключа/сертификата центра сертификации. Запустите скрипт: .\build-ca.bat

      В ответ на появляющиеся запросы вы можете просто нажимать Enter. Единственное исключение — поле KEY_CN (Common Name) — обязательно укажите уникальное имя и такое же имя вставьте в поле name.

      Аналогичным образом генерируем сертификат сервера. Здесь значение полей Common Name и Name — SERVER: .\build-key-server.bat server

      Примечание: аргумент server — имя будущего файла.

      Для всех генерируемых ключей теперь будет задаваться вопрос о том, подписать ли создаваемый сертификат (Sign the certificate) от имени центра сертификации. Отвечаем y (yes).

      Для каждого клиента VPN необходимо сгенерировать отдельный SSL-сертификат.

      В конфигурации OpenVPN присутствует опция, включив которую вы можете использовать один сертификат для нескольких клиентов (см. файл server.ovpn -> опция «dublicate-cn»), но это не рекомендуется с точки зрения безопасности. Сертификаты можно генерировать и в дальнейшем, по мере подключения новых клиентов. Поэтому сейчас создадим только один для клиента client1:

      Выполните следующие команды для генерации клиентских ключей: cd \
      cd «C:\Program Files\OpenVPN\easy-rsa»
      .\build-key.bat client1

      Примечание: аргумент client1 — имя будущего файла.

      В поле Common Name указываем имя клиента (в нашем случае client1).

      Параметры Diffie Hellman

      Для завершения настройки шифрования, необходимо запустить скрипт генерации параметров Диффи-Хеллмана: .\build-dh.bat

      Отображение информации о создании параметров выглядит так:

      Перенос созданных ключей/сертификатов

      Сгенерированные сертификаты находятся в директории C:\Program Files\OpenVPN\easy-rsa\keys. Скопируйте перечисленные ниже файлы в каталог C:\Program Files\OpenVPN\config:

      Конфигурация сервера OpenVPN

      В дереве найдите каталог HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. В правой части окна найдите переменную IPEnableRouter, двойным щелчком мыши перейдите в окно редактирования значения и измените его на 1, тем самым разрешив адресацию на VPS.

        Перейдем к настройке непосредственно VPN-сервера, используйте наш файл конфигурации с именем server.ovpn и поместите его в директорию C:\Program Files\OpenVPN\config.

      Откройте файл, находим пути до ключей (см. ниже). Проверяем в нем пути до скопированных ранее сертификатов ca.crt, dh1024.pem/dh2048.pem, server.key, server.crt и при необходимости меняем: port 1194
      proto udp
      dev tun
      server 10.8.0.0 255.255.255.0
      ca «C:\\Program Files\\OpenVPN\\config\\ca.crt»
      cert «C:\\Program Files\\OpenVPN\\config\\server.crt»
      key «C:\\Program Files\\OpenVPN\\config\\server.key»
      dh «C:\\Program Files\\OpenVPN\\config\\dh2048.pem»
      push «redirect-gateway def1»
      push «dhcp-option DNS 8.8.8.8»
      keepalive 10 120
      comp-lzo
      persist-key
      persist-tun
      verb 3

      Теперь необходимо разрешить пересылку трафика между адаптерами. Выполните следующие шаги: Панель управления -> Сеть и интернет -> Центр управления сетями и общим доступом -> Изменение параметров адаптера. Выберете адаптер который смотрит во внешнюю сеть Интернет (TAP-адаптер отвечает за VPN соединение). В нашем примере это Ethernet 2.

      С помощью двойного щелчка мыши откройте Свойства адаптера и перейдите во вкладку Доступ, отметьте галочкой все пункты. Сохраните изменения.

      Далее нужно включить IP-адресацию.

      С помощью поиска Windows найдите приложение REGEDIT.exe.

      Сразу настроим службу OpenVPN на автозапуск при старте системы. Открываем «Службы»(Services) Windows. Находим в списке OpenVPN -> ПКМ -> Свойства (Properties) -> Запуск: Автоматически

      На этом базовая настройка сервера виртуальной частной сети завершена. Найдите файл C:\Program Files\OpenVPN\config\server.ovpn -> кликните правой кнопкой мыши -> «Start OpenVPN on this config» для запуска сервера виртуальной частной сети и подготовленного нами файла настроек.

      Конфигурация клиента OpenVPN

      Клиентские приложения OpenVPN доступны для всех популярных ОС: Windows / Linux / iOS / Android. Для MacOS используется клиент Tunnelblick. Все эти приложения работают с одними и теми же файлами конфигурации. Возможны лишь некоторые различия нескольких опций. Узнать о них вы можете, изучив документацию к своему клиенту OpenVPN. В этом руководстве мы рассмотрим подключение Windows-клиента с использованием того же дистрибутива программы, который мы устанавливали на сервер. При использовании приложений для других операционных систем логика настройки аналогична.

      1. Устанавливаем актуальную версию OpenVPN на клиентский компьютер.
      2. Копируем в директорию C:\Program Files\OpenVPN\config созданные ранее на сервере файлы клиентских сертификатов (2 сертификата с расширением .crt и ключ с расширением .key) и используем наш файл конфигурации клиента client.ovpn. Последний файл после копирования на устройство пользователя удаляем с сервера или переносим из папки config во избежание путаницы в будущем.
      3. Откройте файл client.ovpn. Найдите строку remote my-server-1 1194 и укажите в ней ip-адрес или доменное имя vpn-сервера:
        remote 1194

      Например: remote 111.222.88.99 1194

    1. Находим пути до сертификатов. Указываем в нем пути до скопированных ранее сертификатов ca.crt, client1.key, client1.crt как в примере ниже:
      # See the server config file for more
      # description. It’s best to use
      # a separate .crt/.key file pair
      # for each client. A single ca
      # file can be used for all clients.
      ca «C:\\Program Files\\OpenVPN\\config\\ca.crt»
      cert «C:\\Program Files\\OpenVPN\\config\\client1.crt»
      key «C:\\Program Files\\OpenVPN\\config\\client1.key»
      # This file should be kept secret
    2. Сохраните файл. Настройка клиентской части завершена.
    3. Проверка правил Брандмауэра Windows

      Внимание! Для корректной работы сервиса OpenVPN требуется, чтобы на севере были открыты соответствующие порты (по-умолчанию UDP 1194). Проверьте соответствующее правило в вашем Firewall’е: Брандмауэре Windows или стороннем антивирусном ПО.

      Проверка OpenVPN-соединения

      Запустите OpenVPN сервер, для этого перейдите в директорию C:\Program Files\OpenVPN\config и выберите файл конфигурации сервера (у нас server.ovpn -> ПКМ -> «Start OpenVPN on this config file»).

      Запустите клиент, для этого перейдите в директорию C:\Program Files\OpenVPN\config и выберите файл конфигурации клиента (у нас client.ovpn -> ПКМ -> «Start OpenVPN on this config file»).

      На экране отобразится окно статуса подключения. Через несколько секунд оно будет свернуто в трей. Зеленый индикатор ярлыка OpenVPN в области уведомлений говорит об успешном подключении.

      Проверим доступность с клиентского устройства сервера OpenVPN по его внутреннему адресу частной сети:

      1. Нажимаем клавиши Win+R и появившемся окне вводим cmd для открытия командной строки.
      2. Выполняем команду ping до адреса нашего сервера в виртуальной частной сети (10.8.0.1): ping 10.8.0.1
      3. В случае корректной настройки VPN начнется обмен пакетами с сервером

      С помощью утилиты tracert проверим по какому маршруту идут пакеты от клиента. В консоли введите следующую команду: tracert ya.ru
      Из результата работы утилиты мы видим, что сначала пакеты отправляются на сервер VPN, а уже потом во внешнюю сеть.

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

      Источник

      Записки IT специалиста

      Технический блог специалистов ООО»Интерфейс»

      • Главная
      • Настраиваем VPN сервер. Часть 5 — L2TP. Платформа Windows.

      Настраиваем VPN сервер. Часть 5 — L2TP. Платформа Windows.

      Протокол L2TP является более предпочтительным для построения VPN-сетей, нежели PPTP, в основном это касается безопасности и более высокой доступности, благодаря тому, что для для каналов данных и управления используется одна UDP-сессия. Сегодня мы рассмотрим настройку L2TP VPN-сервера на платформе Windows.

      Несмотря на простоту развертывания и подключения самых различных клиентов протокол PPTP имеет ряд существенных недостатков. Самый существенный — это однофакторная аутентификация при помощи пары логин / пароль, а так как логин пользователя чаще всего известен (или не составляет труда его выяснить), то по факту для аутентификации используется только пароль, будучи скомпрометированным он позволяет третьим лицам получить полный доступ к корпоративной сети.

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

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

      L2TP не имеет указанного недостатка, так как использует только одну UDP-сессию для передачи данных и управления, что облегчает подключение клиентов и администрирование сетевой инфраструктуры.

      Вторым достоинством L2TP является двухфакторная аутентификация. Перед установлением соединения узлы проверяют подлинность друг друга на основании сертификата или предварительного ключа и только после этого приступают к соединению. Аутентификация с использованием сертификатов требует развернутой в сети инфраструктуры PKI, при ее отсутствии можно использовать аутентификацию по предварительному ключу. Мы будем рассматривать именно этот вариант.

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

      Для развертывания VPN L2TP-сервера мы будем использовать Windows Server 2008 R2 SP1, однако все сказанное, с небольшими поправками, будет справедливо и для иных версий Windows Server.

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

      Дальнейшая настройка производится через оснастку Маршрутизация и удаленный доступ, доступной в меню Пуск — Администрирование. При первом обращении будет запущен мастер, который поможет вам быстро настроить необходимые службы. Если вы планируете использовать это сервер как роутер, для обеспечения доступа в интернет компьютеров локальной сети, то следует выбрать Доступ к виртуальной частной сети (VPN) и NAT, если вам нужен только VPN-сервер, то Удаленный доступ (VPN или модем).

      Настройку служб NAT мы рассматривать не будем, при необходимости обратитесь к данной статье. Также довольно часто встречается ситуация, когда службы NAT уже развернуты, в этом случае нужно включить службы VPN вручную. Для этого в оснастке Маршрутизация и удаленный доступ щелкните правой кнопкой мыши на имени сервера и выберите Свойства. В открывшемся окне на вкладке Общие поставьте переключатель IPv4-маршрутизатор в положение локальной сети и вызова по требованию, а также установите галочку IPv4-сервер удаленного доступа.

      На вкладке Безопасность введите предварительный ключ.

      Остальные параметры мы подробно рассматривать не будем, так как подробно рассматривали их в статье посвященной настройке PPTP-сервера. Применяем изменения, перезапускам службу.

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

      В итоге в списке портов должны остаться только L2TP порты в указанном вами количестве.

      Настройка L2TP подключения на клиенте производится стандартными методами, на вкладке Безопасность выберите тип VPN как L2TP с IPsec и нажмите кнопку Дополнительные свойства, в открывшемся окне укажите использование предварительного ключа и введите сам ключ.

      Также не забудьте включить использование протокола расширенной проверки подлинности EAP.

      В остальном никаких отличий от создания PPTP подключения нет, пользователи могут подключаться к нашему серверу используя свои учетные данные.

      Дополнительные материалы:

      Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

      Или подпишись на наш Телеграм-канал:

      Источник

      Настройка VPN сервера на Windows Server 2008, 2012, 2016 на VPS/VDS

      Настройка VPN сервера на Windows Server 2008, 2012, 2016 на VPS/VDS

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

      Как правило, это используется для объединения удаленных офисов или мелких филиалов в одну сеть.

      Меня зовут Севостьянов Антон и в данном видео давайте рассмотрим процесс настройки VPN сервера на базе Windows Server 2016. И делать мы это будем на арендованном виртуальном сервере от компании NeoServer.

      Несмотря на то, что я буду выполнять все действия в Windows Server 2016, аналогичным образом все можно настроить на 2008 и 2012 серверах.

      Как я и говорил, весь процесс настройки у нас будет проходить на арендованном виртуальном сервере. Поэтому первым делом нам нужно создать виртуальный сервер, для этого переходим на сайт neoserver.ru \ Войти \ Виртуальные сервера.

      Если вы никогда не работали с сервисом NeoServer, то на эту тему у меня есть более подробное видео «Настройка виртуального VPS VDS сервера Windows», в котором я рассказываю все от процесса регистрации до конфигурации сервера.

      Соберем сервер, у меня он будет состоять из следующих характеристик: Windows Server 2016 ru, 2Гб ОЗУ, все остальное по умолчанию.

      Я буду работать через RDP подключение, так как для меня этот способ наиболее удобен.

      Устанавливаем роль VPN

      Пуск \ Диспетчер серверов \ Управление \ Добавить роли и компоненты \ Далее \ Далее \ Далее \ Удаленный доступ \ Далее \ Далее \ DirectAccesss и VPN \ Добавить компоненты \ Далее \ Далее \ Установить.

      Настройка VPN сервера

      Мы можем запустить процесс настройки либо сразу из окна мастера добавления ролей и компонентов, либо через оснастку «Маршрутизация и удаленный доступ» (Средства \ Маршрутизация и удаленный доступ \ Выбираем наш сервер \ ПКМ \ Настроить и включить маршрутизацию и удаленный доступ \ Далее \ Особая конфигурация \ Далее \ Доступ к виртуальной частной сети (VPN) \ Далее \ Готово \ Запустить службу)

      Отлично, службу мы запустили, остается выполнить более тонкие настройки (Имя сервера \ Свойства \ IPv4 \ Сервер может назначать адреса используя статический пул адресов, так как у нас в сети нет DHCP, то выбираем эту настройку, если у вас DHCP есть, то оставляем, по умолчанию \ 192.168.0.10-192.168.0.20 \ Безопасность \ Разрешить пользовательские политики \ Вводим ключ безопасности \ Применить \ Перезапускаем службу Маршрутизации и удаленного доступа \ Диспетчер задач \ Службы \ Маршрутизация и удаленный доступ \ Перезапустить)

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

      (Пуск \ Управление компьютером \ Пользователи \ Администратор \ Входящие звонки \ Разрешить доступ)

      Настраиваем VPN подключение на клиентском компьютере (Центр управления сетями и общим доступом \ Создание и настройка нового подключения \ Подключение к рабочему месту \ Использовать мое подключение к интернету (VPN) \ IP адрес \ Свойства подключения \ Безопасность \ Протокол L2TP \ Дополнительные параметры \ Для проверки подлинности использовать общей ключ \ вводим ключ \ Шифрование данных \ Обязательное, отключить если нет шифрования)

      Чтобы на клиенте не пропадал интернет при подключении к VPN, переходим в (Свойства сетевого VPN подключения \ Сеть \ IPv4 \ Свойства \ Дополнительно \ Использовать основной шлюз в удаленной сети \ Убираем галочку \ ОК)

      Подключаемся к виртуальной сети VPN

      Выбираем сетевое подключение \ Подключиться \ Вводим имя пользователи и пароль \ Все

      Для проверки можем подключиться к нашему виртуальному серверу через IP адрес, открыть общий доступ к какой-нибудь папке и проверить работу локальной сети.

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

      Список временных меток:

      • Создание виртуального сервера VPS/VDS на сервисе NeoServer
      • Подключение к виртуальному серверу
      • Установка роли VPN сервера
      • Настройка VPN сервера
      • Настройка доступа к VPN серверу
      • Создание VPN соединения на клиентском компьютере
      • Проверка работы сети через VPN подключение

      Источник

      Понравилась статья? Поделить с друзьями:
      0 0 голоса
      Рейтинг статьи
      Подписаться
      Уведомить о
      guest

      0 комментариев
      Старые
      Новые Популярные
      Межтекстовые Отзывы
      Посмотреть все комментарии
    4. Что делать если не включается windows audio
    5. Add git to path windows 10
    6. Контекстное меню microsoft windows
    7. Windows server 2012 ошибка 0x800f081f windows
    8. Как отключить уведомление об истечении лицензии windows 10