Показать страницуИстория страницыСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ==== Описание настройки, генерации и отзыва ключей для OVPN ==== [[https://youtu.be/TUOaODRqYXA|Видео]] === Установка === * Скачиваем дистрибутив https://openvpn.net/ - раздел Community - Downloads версия 2.4.9 * На ПК должен быть установлен Total Commander и NotePad++ для более удобной работы * Устанавливаем дистрибутив, ставим галки EasyRSA и TAP по необходимости * Проверяем наличие в переменной PATH пути C:\Program Files\OpenVPN\bin если нет добавляем === Генерация ключей и сертификатов === Если ключи и сертификаты были сгенерированы ранее и нужно добавитьили отозвать клиентский сертификат, то - стадию генерации общих ключей и сертификатов пропускаем - удаляем все из каталога C:\Program Files\OpenVPN\easy-rsa\keys - копируем файлы для генерации из DropBox\ITMS\OPENVPN__client_Config\Папка клиента\files_for_gen в C:\Program Files\OpenVPN\easy-rsa\keys - действуем по инструкции в части генерации или отзыва сертификатов для клиента Описание для первоначальной генерации ключей и сертификатов. * Открываем консоль от имени Администратора и переходим в каталог C:\Program Files\OpenVPN\easy-rsa * Генерируем общие ключи и сертификаты: * Открываем консоль от имени Администратора * Переходим в каталог C:\Program Files\OpenVPN\easy-rsa * Подготавливаем среду запуска * Запускаем <code>init-config.bat</code> * Создаем пустые файлы индекса и серий * Запускаем <code>vars</code> * Запускаем <code>clean-all</code> * Генерируем корневой сертификат и ключ ca.crt и ca.key * Запускаем <code>vars</code> * Запускаем <code>build-ca</code> * Генерируем транспортный ключ tls * Переходим в каталог <code>cd C:\Program Files\OpenVPN\bin</code> * Запускаем <code>openvpn --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"</code> * Генерируем ключи и сертификаты для сервера * Генерируем ключ Диффи Хелмана * Запускаем <code>vars</code> * Запускаем <code>build-dh</code> * Генерируем сертификат и ключ * Запускаем <code>vars</code> * Запускаем <code>build-key-server <имя сервера></code> * Генерируем ключи и сертификаты для клиента * Генерируем сертификат и ключ * Запускаем <code>vars</code> * Запускаем <code>build-key <имя клиента></code> * Заполнение полей при генерации сертификата: * /C=RU * /ST=PK * /L=Vl * /O=EDW * /OU=radkevich_v * /CN=radkevich_v * /name=radkevich_Vitalyi * /emailAddress=s@itms.su * /opt_org_name = edw === Отзыв сертификатов === * [[https://openvpn.net/community-resources/revoking-certificates/|OVPN_web]] * Открываем консоль от имени Администратора и переходим в каталог C:\Program Files\OpenVPN\easy-rsa * Запускаем <code>vars</code> * Запускаем <code>revoke-full <имя клиента></code> * Проверить последнюю строку вывода, чтобы убедится в том что сертификат отозван (verify last line of output confirms revokation) * Скопировать файл crl.pem в каталог файлов сервера * Убедиться в том, что конфиг сервера содержит незакомментированную строку "crl-verify" с указанием пути к файлу crl.pem * Для скорейшего применения настроек перезапустить службу сервера OpenVPN === Описание общих файлов, файлов клиента и файлов сервера === ^ Файлы для сервера ^^^^^ ^ ^ Сервер ^ Клиент ^ Секретно да/нет ^ Пояснение ^ ^ ca.crt | да | да | нет | | ^ dh{n}.pem | да | нет | нет | | ^ server.crt | да | нет | нет | | ^ server.key | да | нет | да | | ^ ta.key | да | да | нет | | ^ Файлы для клиента ^^^^^ ^ ^ Сервер ^ Клиент ^ Секретно да/нет ^ Пояснение ^ ^ ca.crt | нет | да | нет | <ca></ca> | ^ client1.crt | нет | да | нет | <cert> </cert> | ^ client1.key | нет | да | да | <key> </key> | ^ ta.key | нет | да | нет | <tls-auth> </tls-auth> | ^ Файлы для генерации новых ключей и сертификатов ^^ ^ ^ Пояснение ^ ^ ca.crt | | ^ ca.key | | ^ index.txt | | ^ index.txt.attr | | ^ serial | | === Типовой конфиг для сервера === Полный вариант в каталоге: C:\Program Files\OpenVPN\sample-config\server.ovpn <code> # Which TCP/UDP port should OpenVPN listen on? port 1194 # TCP or UDP server? proto udp # "dev tun" will create a routed IP tunnel dev tun # SSL/TLS ca key\\ca.crt cert key\\server.crt key key\\server.key # This file should be kept secret # Diffie hellman parameters. dh key\\dh2048.pem #TLS AUTH key tls-auth key\\ta.key # Configure server mode and supply a VPN subnet server 10.10.14.0 255.255.255.0 # Используй свободную подсеть (14 принадлежит Эдельвейсу) # Maintain a record of client <-> virtual IP address associations in this file. ifconfig-pool-persist ipp.txt </code> Режим подключения к серверу нескольких клиентов по одному сертификату <code> duplicate-cn </code> === Типовой конфиг для клиента === Полный вариант в каталоге: C:\Program Files\OpenVPN\sample-config\client.ovpn <code> # Specify that we are a client client # Use the same setting as you are using on the server. dev tun # Use the same setting as you are using on the server. proto udp # The hostname/IP and port of the server. remote 8.8.8.8 6011 # Обратить внимание на номер порта 6011 для проброса 1194 прямой # Keep trying indefinitely to resolve the host name of the OpenVPN server. resolv-retry infinite # Most clients don't need to bind to # a specific local port number. nobind # Try to preserve some state across restarts. persist-key persist-tun # SSL/TLS parms. <ca></ca> <cert></cert> <key></key> <tls-auth></tls-auth> # Verify server certificate by checking that the certicate has the correct key usage set. remote-cert-tls server # Select a cryptographic cipher. cipher AES-256-CBC # Set log file verbosity. verb 3 </code> itms_docs/study/it/ovpn/ovpn.txt Последнее изменение: 2024/08/01 03:38 — anton