Настройка сервера Windows OpenVPN
Обновлено: 21.11.2024
В этом примере у нас есть следующая среда:
Название компании | Contoso Ltd. | Страна и город | США (США), Вашингтон, округ Колумбия |
Общедоступное имя хоста/IP | vpn.example.com |
Сеть компании | 192.168.20.0/ 24 |
IP-адрес сервера | 192.168.20.10 |
IP-адрес маршрутизатора | 192.168.20.1 |
DNS-сервер | 192.168.20.10 |
Домен Windows | CONTOSO.local |
Сеть для VPN-клиентов | 192.168.30.0/24 |
Серверный каталог VPN-материалов | C:\Data\VPN |
OpenVPN-Port | 1194 |
Протокол OpenVPN | UDP |
Расположение OpenSSL | C:\OpenSSL-Win32\ |
Расположение OpenVPN | C:\Program Files\OpenVPN\ |
Пожалуйста, убедитесь, что вы настроили все ссылки на эти значения (отмечены желтым цветом), когда будете следовать этому руководству.
Это руководство было протестировано на Windows Server 2012 с клиентами Windows 7 и macOS и Telekom Digitalisierungsbox в качестве маршрутизатора.
Безопасность
Поскольку во многих руководствах в Интернете показаны устаревшие и устаревшие параметры конфигурации, мне было важно использовать только новые и безопасные параметры. Например, tls-auth использовался до OpenVPN 2.4, но tls-crypt более безопасен и имеет больше преимуществ. Кроме того, я не использую сжатие, так как сегодня оно также считается небезопасным.
Если вам нужна еще более высокая безопасность, вы также можете попробовать плагины многофакторной аутентификации, которые можно добавить после того, как все настроено и работает правильно.
Важно! Это руководство было написано на основе моих лучших знаний и убеждений, но я не могу быть уверенным в том, что следуя этому руководству, я могу нанести какой-либо ущерб!
Настройка шаг за шагом
Обзор
Вот диаграмма желаемой настройки нашего примера:
1. Открытие порта
(1.2) Откройте UDP-порт 1194 в брандмауэре Windows
(1.3) если ваш сервер находится за маршрутизатором, то также перенаправьте этот порт в вашем маршрутизаторе на ваш сервер.
2. Установить программное обеспечение
(2.1) Создайте каталог C:\Data\VPN на своем сервере.
(2.2) На своем сервере загрузите и установите OpenSSL в каталог C:\OpenSSL-Win32\
(2.3) Кроме того, загрузите и установите OpenVPN Community на свой сервер в C:\Program Files\OpenVPN\ и убедитесь, что вы выбрали вариант установки «Служба OpenVPN».
3. Создайте скрипты для управления всем
C:\Data\VPN\openssl.cnf
C:\Data\VPN\build-ca.bat
C:\Data\VPN\add_user.bat
C:\Data\VPN\revoke_user.bat
C:\Data\VPN\config.bat
C:\Data\VPN\renew_crl.bat
С помощью планировщика заданий Windows запускайте файл renew_ctl.bat каждый месяц (поскольку срок действия CRL истекает через 1 год).
4. Настройте Центр сертификации (ЦС) и сертификаты
(4.1) Запустите build_ca.bat.
Будет создан каталог с именем "CA" с сертификатами и ключами. Обратите внимание, что файлы .key являются совершенно секретными. Каждый клиент может получить только свой собственный ключ и общий секретный ключ (они включены в файл .ovpn). Никто не может получить файл CA.key, так как это «главный ключ» для создания любого клиентского сертификата!
(4.2) Для каждого пользователя, которого вы хотите добавить, запустите add_user.bat.
5. Настройте и запустите OpenVPN на сервере
(5.1) Создайте файл C:\Program Data\OpenVPN\config\server.ovpn со следующим содержимым:
(5.2) Создайте C:\Data\VPN \enable_ip_forwarding.reg со следующим содержимым:
Затем запустите/импортируйте этот файл REG, чтобы включить переадресацию IP.
(5.3) Перезагрузите сервер, чтобы активировалась переадресация IP.
(5.4) Включить общий доступ к подключению к Интернету (ICS): на локальном сетевом адаптере (который также может быть сетевым адаптером или мостом) щелкните правой кнопкой мыши и выберите «Свойства», затем перейдите на вкладку «Общий доступ» и включите « Разрешить другим пользователям сети подключаться через интернет-соединение этого компьютера». Ниже выберите имя виртуального сетевого адаптера OpenVPN, например OpenVPN TAP-Windows6
(5.5) Запустите графический интерфейс OpenVPN и установите соединение.
6. Настройте и запустите OpenVPN на клиенте
(6.1) Дайте пользователю его файл .ovpn.
Клиенты для Windows
(6.3) Сохраните полученный файл в C:\Program Data\OpenVPN \config\
(6.4) Запустите графический интерфейс OpenVPN и установите соединение.
клиенты macOS
(6.2) Загрузите и установите Tunnelblick.
(6.3) Сохраните где-нибудь полученный файл, а затем перетащите файл .ovpn в левый список Tunnelblick, чтобы он был импортирован.
(6.4) На значках в правом верхнем углу (кроме часов) щелкните значок Tunnelblick, затем нажмите «подключиться»
Что нужно сделать после запуска системы
Что делать, если центр сертификации скомпрометирован?
Если скомпрометирован весь ЦС, например. если сервер был взломан, если кто-то случайно получил доступ к файлу CA.key, или если из компании ушел ненадежный администратор, то нужно сделать "жесткий сброс" CA. Поэтому запустите:
После этого необходимо заново создать всех пользователей, вызвав add_user.bat для каждого пользователя.
Затем вам нужно передать обновленные файлы .ovpn всем другим сотрудникам.
Отозвать один сертификат/закрыть доступ для сотрудника
Если нужно отозвать только сертификат клиента сотрудника, запустите:
Добавить нового сотрудника
Создайте временный пакетный файл, например create_employee.bat со следующим содержимым, а затем запустите его.
Открытые вопросы и проблемы
- Похоже, что на сервере OpenVPN не запускается автоматически. Он запускается только после того, как вы откроете графический интерфейс OpenVPN.
Если у вас есть какие-либо вопросы или предложения по улучшению, отправьте мне электронное письмо по адресу info at daniel-marschall dot de
OpenVPN — это программное приложение с открытым исходным кодом, в котором реализованы методы виртуальной частной сети (VPN) для создания безопасных соединений "точка-точка" или "сеть-сеть" в конфигурациях с маршрутизацией или мостом и средствами удаленного доступа.
Эта статья содержит пошаговые инструкции по созданию и запуску сервера OpenVPN на ПК с ОС Windows. Представленная здесь информация ориентирована на пользователей практически любого уровня знаний. Инструкции относятся к Windows 7 и более новым системам.
Обзор конфигурации и необходимые условия
Прежде чем мы начнем, давайте рассмотрим конфигурацию, которую мы пытаемся реализовать, и предварительные условия, которые делают ее возможной.
Предпосылки:
- ПК или ноутбук под управлением Windows 7 или более поздней версии.
- У рассматриваемого компьютера должен быть общедоступный IP-адрес.
- И активное подключение к Интернету.
Цель этой статьи — предоставить ноу-хау, необходимые для настройки работающего сервера OpenVPN на ПК с Windows.
Шаг 1: установка программного обеспечения OpenVPN
Шаг 2: подготовка EasyRSA
- Теперь мы можем начать подготовку к созданию сертификатов и ключей. Для этого мы будем использовать приложение EasyRSA 3, которое было установлено вместе с OpenVPN.
Команды EasyRSA должны выполняться через командную строку Windows. Его можно открыть, введя cmd в строке поиска Windows (кнопка Windows + S). При запуске убедитесь, что вы запускаете его от имени администратора: - Измените текущий каталог на папку EasyRSA. Для этого выполните следующую команду:
- Запустите EasyRSA:
- Прежде чем создавать файлы с помощью EasyRSA, необходимо сначала инициализировать каталог для инфраструктуры открытых ключей (PKI). Это можно сделать с помощью следующей команды:
- Откройте файл vars.bat в текстовом редакторе Блокнота:
- Это файл шаблона для создания сертификатов, т. е. сохраненная здесь информация будет предлагаться в качестве значений по умолчанию во время создания сертификата. Найдите и измените следующие строки в соответствии с вашими потребностями:
- Вы также можете установить размер ключа для параметров Диффи Хеллмана:
- После завершения сохраните файл и закройте редактор; затем выполните следующие команды:
Шаг 3: создание сертификатов и ключей
- Теперь мы можем приступить к созданию сертификатов и ключей. Начните с центра сертификации (ЦС) — файла корневого сертификата, который будет использоваться для подписи других сертификатов и ключей:
- Затем создайте сертификат сервера и ключ:
- Затем создайте сертификаты и ключи для клиентов: Примечание: замените Client1 общим именем (CN) этого клиента. Опустите "nopass", и вам будет предложено выбрать пароль клиента.
Сгенерированные и подписанные файлы должны появиться в следующих каталогах (по умолчанию):
Файл(ы) | Расположение | |
---|---|---|
Сертификат CA | → | C:\Program Files\OpenVPN\easy-rsa\pki |
Параметры Диффи-Хеллмана | → | C:\Program Files\OpenVPN\easy-rsa\pki | Клиентский и серверный ключи | → | C:\ Program Files\OpenVPN\easy-rsa\pki\private |
Сертификаты клиента и сервера | → | C:\Program Files\OpenVPN\easy-rsa\pki\issued |