Представляю подробную инструкцию для OpenVPN v2.3.8 на Windows server 2008R2 с уровнем шифрования TLS. Все параметры также будут подробно описаны.
Настройка сервера
Сначала скачайте дистрибутив с Официальный веб-сайт .
Запустите установщик openvpn-install-2.3.8-I001-x86_64. Компоненты включают следующее:
Укажите путь установки (Все дальнейшие действия будут осуществляться по этому пути, указанному в примере):
В процессе установки вам потребуется установить виртуальный сетевой адаптер, соглашаемся на установку.
После успешной установки переходим в каталог «C:\Program Files\OpenVPN», где создаем каталог «SSL» (каталог можно назвать как угодно, этот каталог будет использоваться в последующих настройках), сертификаты сервера, алгоритмы шифрования и проверки.
в этом каталоге будет находиться подлинность клиента.
Перейдите в каталог «C:\Programm Files\OpenVPN\easy-rsa», откройте с помощью блокнота или блокнота++ (более правильный вариант)" vars.bat » (скрипт, содержащий параметры ответа для создания и генерации сертификатов клиент/сервер и последующих настроек сервера).
В самом низу файла есть следующие параметры, которые необходимо настроить: установите KEY_COUNTRY=RU установите KEY_PROVINCE=MO установите KEY_CITY=МОСКВА установите KEY_ORG=OpenVPN установите [email protected] установите KEY_CN=сервер установите KEY_NAME=сервер установите 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 », откройте его с помощью блокнота или блокнота++ (более правильный вариант) и измените настройку, отвечающую за срок жизни сертификатов, по умолчанию 365 дней, продлите срок жизни до 3650 дней.
default_days = 3650 # как долго необходимо сертифицировать Сохранять.
Далее мы сгенерируем следующее: ca.crt — Собственный доверенный сертификат (Центр сертификации – далее ЦС) для подписи клиентских сертификатов и их проверки при авторизации клиента.
dh1024.pem - ключ Диффи-Хеллмана, который позволяет двум или более сторонам получить общий секретный ключ.
сервер.
crt - сертификат сервера сервер.
ключ - ключ сервера та.
ключ — дополнительный ключ для tls аутентификации (повышение безопасности соединения), сервер и каждый клиент должны иметь копию этого ключа Откройте командную строку и перейдите в каталог «C:\Program Files\OpenVPN\easy-rsa».
компакт-диск C:\Program Files\OpenVPN\easy-rsa
Введите команду « вары нажимаем Enter (инициируем работу со скриптами; если командная строка закрыта, используем команду « вары » придется вводить заново)
Введите команду « чистый (Очищаем каталог «C:\Program Files\OpenVPN\easy-rsa\keys» и затем создаем файл «index.txt» (база данных клиентов, также известная как база данных) и «serial» (ключ))
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», файлы «должны создаться».
index.txt И сериал ”.
Введите команду « openvpn --genkey --secret %KEY_DIR%\ta.key ”
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», должен быть создан файл « та.
ключ ”.
Введите команду « сборка-дх — Генерация ключей Диффи Хеллмана.
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», должен быть создан файл « dh1024.pem ”.
Введите команду « сборка-CA ” — генерация ключа центра сертификации (CA)
На все вопросы по умолчанию отвечаем нажатием клавиши Enter; мы записали эти параметры в « vars.bat ”
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», файлы «должны создаться».
ca.crt И ca.key ”.
Введите команду « сервер сервера ключей сборки ” — генерация сертификата сервера.
На вопросы Название страны, Название штата, Название населенного пункта и т.д. Отвечаем по умолчанию нажатием клавиши Enter до самого конца, эти параметры мы прописали в « vars.bat », то вам будет предложено создать сертификат сроком на 3650 дней (этот параметр мы указали в openssl-1.0.0.cnf ) нажмите «Y», вам будет предложено записать сертификат сервера в базу данных, нажмите «Y».
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», файлы «должны создаться».
сервер.
crt, сервер.
ключ, сервер.
csr ”.
Введите команду « revokecrt ключа сборки » — это команда для создания пользовательского сертификата, но в данном случае мы создаем собственный сертификат « отзыв ” для последующего создания файла “ crl.pem », который отвечает за проверку и последующий отзыв сертификатов.
Теоретически эту процедуру можно проделать в самом конце и даже жить без нее, но тогда мы не сможем отозвать сертификаты и файл конфигурации» сервер.
ovpn будет выглядеть по-другому.
На вопросы Название страны, Название штата, Название населенного пункта и т. д. Мы отвечаем по умолчанию, нажимая клавишу Enter, прежде чем задавать вопросы.
Распространенное имя И Имя , на эти вопросы необходимо отвечать по имени создаваемого сертификата пользователя, в нашем случае это произвольный сертификат» отзыв «По остальным вопросам нажмите Enter, затем вам будет предложено создать сертификат сроком на 3650 дней (этот параметр мы указали в openssl-1.0.0.cnf), нажмите «Y», вам будет предложено написать сертификат сервера в базу данных, нажмите «Y».
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», файлы «должны создаться».
revokecrt.crt, revokecrt.key, revokecrt.csr ”
Введите команду « отзыв-полный отзыв » — команда отвечает за отзыв сертификата и последующее создание файла « crl.pem ”
Не закрывая командную строку, проверьте содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», должен быть создан файл « crl.pem ”
Теперь давайте создадим сертификат пользователя, аналогичный « отзыв " см.
выше.
Введите команду « ключ сборки user1 » — создать сертификат пользователя с именем пользователь1
.
На этом работа с консолью закончена, можно закрыть окно и проверить содержимое каталога «C:\Program Files\OpenVPN\easy-rsa\keys», файлы «должны создаться».
пользователь1.crt, пользователь1.ключ, пользователь1.csr ” Рекомендую создать папку « Клиенты в любое удобное для вас место и скопируйте туда необходимые файлы для передачи пользователям: 1 — ca.crt 2 — user1.crt 3 — пользователь1.ключ 4 — та.
ключ Также хотелось бы обратить ваше внимание на то, что содержимое папки « ключи » нельзя удалить; при создании сертификатов пользователей или внесении каких-либо изменений в консоль делайте копию этого каталога, чтобы избежать потери или случайного создания сертификатов сервера и обновлений баз данных.
Скопируйте файлы сервера в ранее созданную папку « SSL » в каталоге « C:\Program Files\OpenVPN\ssl»: 1 — ca.crt 2 — сервер.
crt 3 — сервер.
ключ 4 — dh1024.pem 5 — та.
ключ Перейдите в каталог «C:\Program Files\OpenVPN\config» и создайте файл конфигурации сервера « сервер.
ovpn » следующего содержания: # Создайте маршрутизируемый IP-туннель.
разработка мелодии # Указываем протокол подключения.
прото UDP # Указываем порт, который будем слушать.
порт 1194 # Указываем, что это TLS-сервер.
tls-сервер # Укажите путь к доверенному сертификату.
ca "C:\\Program Files\\OpenVPN\\ssl\\ca.crt" # Укажите путь к сертификату сервера.
сертификат "C:\\Program Files\\OpenVPN\\ssl\\Server.crt" # Укажите путь к ключу сервера.
ключ "C:\\Program Files\\OpenVPN\\ssl\\Server.key" # Указываем путь к ключу Диффи-Хеллмана dh "C:\\Program Files\\OpenVPN\\ssl\\dh1024.pem" # Укажите сетевую адресацию.
сервер 10.8.0.0 255.255.255.0 # Указываем, что алгоритм шифрования должен быть одним и тем же клиент/сервер.
шифр AES-128-CBC # Укажите, чтобы не перечитывать файлы ключей при перезапуске туннеля.
постоянный ключ # Указываем путь к ключу безопасности и устанавливаем параметр сервера равным 0 tls-auth "C:\\Program Files\\OpenVPN\\ssl\\ta.key" 0 # Разрешить клиентам общаться внутри туннеля.
клиент-клиент # Указываем директорию с описаниями конфигураций каждого клиента.
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" # Указываем путь к журналу состояния.
статус "C:\\Program Files\\OpenVPN\\log\\logopenvpn-status.log" # Указываем путь к журналу.
log "C:\\Program Files\\OpenVPN\\log\\openvpn.log" # Указывает MTU для туннеля, параметры клиента/сервера должны быть одинаковыми.
тун-мту 1500 # Активировать сжатие.
комп-лзо # Исправление проблем с передачей MTU. мссфикс # Указывает отправить пинг на удаленный конец туннеля через указанные n секунд, # если через туннель не проходил трафик.
# Указывает, не было ли получено ни одного пакета в течение 120 секунд, # то туннель будет перезапущен.
поддерживать активность 10 120 # Укажите уровень журналирования.
глагол 3 Сохранять.
На сервере, где будет работать OpenVPN, вам необходимо сделать следующее: 1. Если вы используете встроенный брандмауэр Windows, создайте правило, разрешающее входящие и исходящие UDP-соединения на порту 1194. 2 – В службах сервера найдите Службу OpenVPN и установите автоматический запуск, это позволит службе автоматически запускаться при перезагрузке сервера.
С рабочего стола сервера запустите «OpenVPN GUI», дважды щелкните значок «OpenVPN GUI» в трее, откроется окно журнала, если после запуска службы на шаге 2 ничего не произошло, нажмите слева внизу для подключения и если все в порядке, мы должны увидеть следующее содержимое:
Служба VPN на сервере запущена и готова принимать клиентов.
Настройка клиента
Запустите ранее скачанный установщик openvpn-install-2.3.8-I001-x86_64 , выбор компонентов оставляем по умолчанию, путь остается прежним.
После успешной установки перейдите в каталог «C:\Program Files\OpenVPN\config» и создайте файл конфигурации клиента « test.ovpn » следующего содержания:
# Создайте маршрутизируемый IP-туннель.
разработка мелодии # Указываем протокол подключения.
прото UDP # Укажите IP-адрес сервера с портом.
пульт Х.
Х.
Х.
Х 1194 # Укажите задержку в секундах для построения маршрута.
задержка маршрута 3 # Указываем, что клиент берет информацию о маршрутизации с сервера.
клиент # Указываем, что являемся TLS-клиентом.
tls-клиент # Параметр для защиты от MitM-атак.
сервер типа ns-cert # Укажите путь к доверенному сертификату.
ca "C:\\Program Files\\OpenVPN\\ssl\\ca.crt" # Укажите путь к сертификату клиента.
сертификат "C:\\Program Files\\OpenVPN\\ssl\\user1.crt" # Укажите путь к ключу клиента.
ключ "C:\\Program Files\\OpenVPN\\ssl\\user1.key" # Указываем путь к ключу безопасности и устанавливаем параметр клиента 1 tls-auth "C:\\Program Files\\OpenVPN\\ssl\\ta.key" 1 # Указываем, что алгоритм шифрования должен быть одним и тем же клиент/сервер.
шифр AES-128-CBC # Активировать сжатие.
комп-лзо # Исправление проблем с передачей MTU. мссфикс # Указывает MTU для туннеля, параметры клиента/сервера должны быть одинаковыми.
тун-мту 1500 # Укажите, если в течение 60 секунд не было получено ни одного пакета, # то туннель будет перезапущен.
пинг-рестарт 60 # Указывает отправить пинг на удаленный конец туннеля через указанные n секунд, # если через туннель не проходил трафик.
пинг 10 # Укажите уровень журналирования.
глагол 3 Сохранять.
С рабочего стола запускаем «OpenVPN GUI», дважды кликаем по значку «OpenVPN» в трее, откроется окно журнала, нажимаем подключиться и если все в порядке, то мы увидим следующее:
Запускаем пинг на 10.8.0.1 и видим, что сеть доступна (10.8.0.1 — это адрес, который получил виртуальный сетевой адаптер на сервере).
На сервере мы увидим лог подключений:
Собственно, на этом этапе можно закончить и в дальнейшем всё будет работать.
Но я хотел бы добавить еще одну вещь.
Чтобы уменьшить количество файлов на клиенте и добавить еще один элемент безопасности (пароль подключения), можно сделать следующее: на этапе создания сертификата пользователя на сервере выполнить команду « ключ сборки-pkcs12 user2 " вместо " ключ сборки user1 », выполняем все аналогично первой команде, вплоть до пункта «Экспорт пароля», на этом этапе необходимо указать пароль, например 12345, этот пароль по сути присвоен сертификату» пользователь2.p12 », при попытке подключения через «OpenVPN» программа обращается к сертификату и требует пароль (зная пароль, вы можете его изменить, удалить и т.д.).
В этом случае комплект пользователя будет состоять из:
1 – пользователь2.p12
2 – та.
ключ Конфигурационный файл " test.ovpn » должен содержать следующий контент: # Создайте маршрутизируемый IP-туннель.
разработка мелодии # Указываем протокол подключения.
прото UDP # Укажите IP-адрес сервера с портом.
пульт Х.
Х.
Х.
Х 1194 # Укажите задержку в секундах для построения маршрута.
задержка маршрута 3 # Указываем, что клиент берет информацию о маршрутизации с сервера.
клиент # Указываем, что являемся TLS-клиентом.
tls-клиент # Параметр для защиты от MitM-атак.
сервер типа ns-cert # Указываем путь к сертификату.
pkcs12 "C:\\Program Files\\OpenVPN\\ssl\\user2.p12" # Указываем путь к ключу безопасности и устанавливаем параметр клиента 1 tls-auth "C:\\Program Files\\OpenVPN\\ssl\\ta.key" 1 # Указываем, что алгоритм шифрования должен быть одним и тем же клиент/сервер.
шифр AES-128-CBC # Активировать сжатие.
комп-лзо # Исправление проблем с передачей MTU. мссфикс # Указывает MTU для туннеля, параметры клиента/сервера должны быть одинаковыми.
тун-мту 1500 # Укажите, если в течение 60 секунд не было получено ни одного пакета, # то туннель будет перезапущен.
пинг-рестарт 60 # Указывает отправить пинг на удаленный конец туннеля через указанные n секунд, # если через туннель не проходил трафик.
пинг 10 # Укажите уровень журналирования.
глагол 3 Сохранять.
Пробуем подключиться, вводим пароль 12345
Если все в порядке, мы видим следующее:
И наконец, как отозвать сертификат пользователя и вообще посмотреть список выданных сертификатов.
Сам список хранится по следующему пути «C:\Program Files\OpenVPN\easy-rsa\keys\index.txt».
Чтобы отозвать сертификат, перейдите в командную строку.
Перейдите в каталог «C:\Program Files\OpenVPN\easy-rsa»: компакт-диск C:\Program Files\OpenVPN\easy-rsa Введите команду « вары нажимаем Enter (инициируем работу со скриптами).
Введите команду для отзыва сертификата пользователя « отозвать полный пользователь2 (указать имя ранее созданного пользователя).
Затем мы идем в « index.txt «C:\Program Files\OpenVPN\easy-rsa\keys\index.txt» и видим, что сертификат был отозван «R».
Не готов сказать на 100%, но судя по описанию файл " index.txt » проверяется каждый час, поэтому через час сертификат будет заблокирован, либо просто перезапустите сервис на сервере.
Также рекомендую использовать отдельную учетную запись для сервиса «Служба OpenVPN», а если пользователи будут работать с этим сервером, на котором развернут VPN, обязательно удалите права обычных пользователей на каталог «C:\Program Files\OpenVPN».
.
Всем спасибо, надеюсь эта статья поможет многим, кто столкнулся с вопросами и не нашел подходящих ответов, пережевывал как мог.
Теги: #Системное администрирование #openvpn
-
Ускорить Свой Компьютер
19 Oct, 24 -
Верните Свое Время
19 Oct, 24 -
Adobe Blazeds С Открытым Исходным Кодом
19 Oct, 24 -
Proxmox 7.1: Все Выше И Выше
19 Oct, 24 -
Пневматическая Дорога Южного Девоншира
19 Oct, 24 -
Старение - Программа
19 Oct, 24