Как создать VPN с OpenVPN на сервере Windows

Нужен безопасный, зашифрованный способ доступа в Интернет? Почему бы вам не обратить внимание на OpenVPN на сервере с Windows? Настройка вашего первого VPN может быть сложной, но вы попали по адресу!

В этом руководстве вы узнаете, как настроить бесплатный VPN и защитить свой сервер с Windows от зловредных сущностей.

Готовы обезопасить свою сеть? Тогда приступим!

Предварительные требования

Этот учебник будет практическим демонстрационным. Если вы хотите следовать за нами, убедитесь, что у вас есть следующее:

  • A Windows Server – This tutorial uses Window Server 2019 R2.
  • A client machine to test the VPN server – This demo uses Windows 10 64 bit.
  • Подключение к рабочему столу на сервере с Windows с использованием удаленного рабочего стола (RDP) или вашего предпочтительного клиента для управления рабочим столом – в этом демо используется стандартный клиент окна RDP.

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

OpenVPN работает на различных операционных системах, но не входит в комплект вашей установки ОС. Начните это руководство с установки OpenVPN на вашем сервере.

1. Откройте свой любимый браузер и перейдите на страницу загрузки OpenVPN download. Скачайте пакет установщика MSI для Windows 64-bit на ваш сервер и запустите установщик.

Downloading the Windows 64-bit MSI installer package

2. Затем нажмите Настроить на начальной странице мастера установки, как показано ниже. Параметр Настроить позволяет устанавливать дополнительные компоненты для вашего VPN-сервера.

Customizing the OpenVPN installer

3. На странице Настроенная установка щелкните по выпадающему меню Служба OpenVPN —> Будет установлено на локальный жесткий диск, чтобы установить службу OpenVPN на вашу систему. Этот параметр также активирует службу OpenVPN при загрузке вашей системы.

Enabling the OpenVPN Service

4. Теперь прокрутите вниз и нажмите на выпадающее меню Утилиты OpenSSL —> Будет установлено на локальный жесткий диск. Этот параметр делает библиотеки OpenSSL и заголовки разработки доступными для службы OpenVPN и необходим для определенных криптографических функций службы OpenVPN.

Нажмите Установить сейчас, чтобы установить OpenVPN на ваш сервер.

Enabling the OpenSSL Utilities and installing OpenVPN

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

Closing the Customization Installation Wizard

Генерация сертификатов и ключей для сервера и клиентов

Теперь у вас установлен OpenVPN на вашем сервере, но как обеспечить безопасное соединение сервера с клиентом(ами)? Вы создадите сертификаты и ключи для вашего сервера и клиентов.

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

1. Откройте ваш командный проход в режиме администратора. Некоторые команды OpenVPN требуют повышенных привилегий для выполнения.

Opening your Command Prompt as an administrator

2. Затем выполните следующие команды, чтобы запустить оболочку easy-rsa . Оболочка easy-rsa используется для управления сертификатами, ключами и конфигурациями.

EasyRSA будет вашим основным интерфейсом командной строки для остальной части учебника.

cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
Accessing the EasyRSA shell

3. Выполните команду ./easyrsa clean-all, чтобы очистить существующие ключи и конфигурации. Эта команда гарантирует, что вы начинаете с чистой конфигурации.

./easyrsa clean-all 
Clearing Existing Keys and Configurations

4. Теперь выполните команду ./easyrsa init-pki, чтобы инициализировать Инфраструктуру открытых ключей (PKI) и создать новую структуру каталогов для ваших сертификатов и ключей.

Инфраструктура открытых ключей (PKI) – это структура, которая позволяет вам создавать и управлять открытыми и закрытыми ключами для использования вашим сервером и клиентами.

./easyrsa init-pki 

Введите yes и нажмите Enter, чтобы подтвердить, что вы хотите удалить все существующие ключи и создать новое PKI, как показано ниже.

Initializing the Public Key Infrastructure (PKI)

5. Запустите следующую команду, чтобы создать Центр Сертификации (CA) (build-ca). CA отвечает за выдачу сертификатов серверам и клиентам, подписание этих сертификатов, отзыв сертификатов и так далее.

Опция nopass используется, чтобы вам не приходилось вводить пароль каждый раз при копировании сертификатов и ключей на ваших клиентов. ./easyrsa build-ca nopass

./easyrsa build-ca nopass

При настройке вашей VPN вам потребуется создать сертификат для вашего сервера и клиентов, подписанный Центром Сертификации (CA).

Creating the Certificate Authority (CA)

6. Запустите следующую команду, чтобы создать сертификат и ключ сервера (build-server-full). Эта команда создает сертификат и ключ сервера OpenVPN, подписывает их вашим CA и помещает файлы в подкаталог ключей.

./easyrsa build-server-full server nopass
Building the Server Certificate and Key

7. Затем выполните следующую команду для генерации параметров Диффи-Хеллмана (gen-dh), а затем закройте вашу оболочку easyrsa.

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

./easyrsa gen-dh
Generating the Diffie-Hellman Parameters

На данный момент у вас есть все необходимые файлы ключей SSL/TLS для вашего сервиса OpenVPN, перечисленные в таблице ниже.

Folder Path Content
C:\Program Files\OpenVPN\easy-rsa\pki CA file, DH file, and other OpenSSL-related files like a config file.
C:\Program Files\OpenVPN\easy-rsa\pki\private Include the private key files of CA, Server, and Client certificates.
C:\Program Files\OpenVPN\easy-rsa\pki\issued Contains issued server and client certificates.

8. Наконец, откройте ваш файловый проводник и скопируйте файлы, перечисленные ниже, в папки C:\Program Files\OpenVPN\config-auto и C:\Program Files\OpenVPN\easy-rsa\pki\private.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\dh.pem
C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.cert
C:\Program Files\OpenVPN\easy-rsa\pki\private\server.key

Настройка правил брандмауэра Windows

Теперь, когда вы настроили сервер OpenVPN, ваш следующий шаг – убедиться, что вы можете получить доступ к сервису. Вам нужно настроить брандмауэр Windows, чтобы разрешить трафик OpenVPN.

1. Запустите команду netsh ниже, чтобы разрешить трафик через брандмауэр Windows с помощью следующего:

  • Конфигурирует (advfirewall) брандмауэр Windows (firewall) добавлением правила с именем OpenVPN (add rule name="OpenVPN") в брандмауэр Windows.
  • Разрешает (action=allow) всем локальным IP-адресам (localip=any) и внешним устройствам (remoteip=any) обмениваться данными по этому правилу.
  • Указывает серверу, какой порт открыть (localport=1194 remoteport=0-65535) и какой протокол использовать (protocol=UDP).
netsh advfirewall firewall add rule name="OpenVPN" dir=in localport=1194 remoteport=0-65535 protocol=UDP action=allow remoteip=any localip=any
Configuring your Windows Firewall Rules

2. Откройте ваш файл C:\Program Files\OpenVPN\config-auto\server.ovpn в вашем предпочтительном текстовом редакторе, чтобы предварительно просмотреть его содержимое, как показано ниже.

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

Edit your C:\Program Files\OpenVPN\config-auto\server.ovpn file.

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

net stop openvpnservice
net start openvpnservice
Restarting your OpenVPN service

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

Помимо настройки вашего сервера для разрешения трафика OpenVPN, вам также нужно будет настроить ваш клиент. В OpenVPN клиентом является любая машина, подключающаяся к VPN. Эта демонстрация использует Windows 10 для подключения к серверу.

1. Установите OpenVPN на ваш клиент, как вы делали в разделе “Установка OpenVPN на ваш сервер”.

2. Скопируйте файлы, перечисленные ниже, с вашего сервера в папку C:\Program Files\OpenVPN\config вашего клиента.

C:\Program Files\OpenVPN\easy-rsa\pki\ca.cert
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.crt
C:\Program Files\OpenVPN\easy-rsa\pki\issued\client.key

3. Наконец, откройте файл C:\Program Files\OpenVPN\config\client.ovpn и заполните файл содержимым ниже. Замените YOUR_OPENVPN_IP на ваш фактический IP-адрес Windows Server.

# клиент - это ваше имя учетной записи, но вы можете выбрать предпочтительное имя
client
# dev tun - это тип VPN-соединения, которое вам нужно, используя соединение Ethernet.
dev tun
# Протокол (UDP), используемый для этого VPN-соединения.
proto udp
# Установите IP-адрес вашего сервера OpenVPN.
# 1194 - порт вашего сервера OpenVPN.
remote YOUR_OPENVPN_IP 1194
# Решайте ваши имена доменов, когда они не найдены, 
# чтобы вы не видели ошибок "домен не найден".
resolv-retry infinite
# Измените значение с "nobind" на "sea", чтобы отключить ваш интернет 
# при отключении VPN-ID.
nobind
# Ваш ключ шифрования будет сохранен для следующего раза 
# при подключении к серверу OpenVPN.
persist-key
# Ваше VPN-соединение будет сохранено для следующего использования.
persist-tun
# Сертификат вашего VPN-сервера, используемый для идентификации перед вами (клиентом). 
# Вы можете загрузить его с вашего VPN-сервера.
ca ca.crt
# имя вашего сертификата.
cert client01.crt
# имя вашего ключа шифрования.
key client01.key
# Сжатие данных LZO сжимает ваши блоки данных 
# перед отправкой, так что данные будут меньше и быстрее.
comp-lzo
# Уровень подробности вашего вывода будет установлен на максимум.
# Таким образом, вы получите максимальное количество информации о вашем соединении.
# Эта функция полезна при отладке вашего соединения.
verb 3

Проверка подключения VPN клиента вашего клиента

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

На вашем клиенте с Windows 10 запустите OpenVPN GUI.

Running the OpenVPN GUI

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

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

Connecting to your VPN

Для дополнительной проверки вы можете пинговать ваш сервер VPN, используя назначенный IP-адрес (10.8.0.2).

ping [10.8.0.2](<http://10.8.0.2/>)

Ниже приведенный вывод подтверждает, что ваш VPN работает должным образом.

pinging to your VPN server

Вывод

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

Теперь, почему бы не расширить вашу службу VPN Connectivity до Amazon AWS VPC, используя шлюз VPN AWS VPC с помощью этого недавно обретенного знания?

Source:
https://adamtheautomator.com/openvpn-on-window/