itms_docs:study:it:ovpn:ovpn

Установка

  • Скачиваем дистрибутив https://openvpn.net/ - раздел Community - Downloads версия 2.4.9
  • На ПК должен быть установлен Total Commander и NotePad++ для более удобной работы
  • Устанавливаем дистрибутив, ставим галки EasyRSA и TAP по необходимости
  • Проверяем наличие в переменной PATH пути C:\Program Files\OpenVPN\bin если нет добавляем

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

Если ключи и сертификаты были сгенерированы ранее и нужно добавитьили отозвать клиентский сертификат, то

  1. стадию генерации общих ключей и сертификатов пропускаем
  2. удаляем все из каталога C:\Program Files\OpenVPN\easy-rsa\keys
  3. копируем файлы для генерации из DropBox\ITMS\OPENVPN__client_Config\Папка клиента\files_for_gen в C:\Program Files\OpenVPN\easy-rsa\keys
  4. действуем по инструкции в части генерации или отзыва сертификатов для клиента

Описание для первоначальной генерации ключей и сертификатов.

  • Открываем консоль от имени Администратора и переходим в каталог C:\Program Files\OpenVPN\easy-rsa
  • Генерируем общие ключи и сертификаты:
    • Открываем консоль от имени Администратора
    • Переходим в каталог C:\Program Files\OpenVPN\easy-rsa
    • Подготавливаем среду запуска
      • Запускаем
        init-config.bat
    • Создаем пустые файлы индекса и серий
      • Запускаем
        vars
      • Запускаем
        clean-all
    • Генерируем корневой сертификат и ключ ca.crt и ca.key
      • Запускаем
        vars
      • Запускаем
        build-ca
    • Генерируем транспортный ключ tls
      • Переходим в каталог
        cd C:\Program Files\OpenVPN\bin
      • Запускаем
        openvpn --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"
  • Генерируем ключи и сертификаты для сервера
    • Генерируем ключ Диффи Хелмана
      • Запускаем
        vars
      • Запускаем
        build-dh
    • Генерируем сертификат и ключ
      • Запускаем
        vars
      • Запускаем
        build-key-server <имя сервера>
  • Генерируем ключи и сертификаты для клиента
    • Генерируем сертификат и ключ
      • Запускаем
        vars
      • Запускаем
        build-key <имя клиента>
      • Заполнение полей при генерации сертификата:
        • /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

Отзыв сертификатов

  • Открываем консоль от имени Администратора и переходим в каталог C:\Program Files\OpenVPN\easy-rsa
    • Запускаем
      vars
    • Запускаем
      revoke-full <имя клиента>
    • Проверить последнюю строку вывода, чтобы убедится в том что сертификат отозван (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

# 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 

Режим подключения к серверу нескольких клиентов по одному сертификату

duplicate-cn

Типовой конфиг для клиента

Полный вариант в каталоге: C:\Program Files\OpenVPN\sample-config\client.ovpn

# 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
  • itms_docs/study/it/ovpn/ovpn.txt
  • Последнее изменение: 2024/08/01 03:38
  • anton