Файлы сертификатов и ключей:
ca.crt - корневой сертификат центра сертификации.server.crt и server.key - сертификат и ключ сервера.client1.crt и client1.key - сертификат и ключ клиента.ta.key - статический ключ tls-auth для дополнительной безопасности (опционально). Добавляет дополнительный уровень безопасности, защищая от нежелательных подключений и сканирования портов.Конфигурация OpenVPN сервера:
port 1194
Указывает порт, на котором сервер OpenVPN будет принимать входящие соединения. Порт 1194 является официально назначенным портом для OpenVPN по стандартам IANA.proto udp
Определяет протокол, используемый для передачи данных. В данном случае используется UDP (User Datagram Protocol). Альтернативой может быть TCP.dev tun
Указывает тип виртуального сетевого интерфейса. "tun" обозначает сетевой туннель на уровне IP (точка-точка). Альтернативой является "tap" для Ethernet-туннелирования (уровень 2).ca ca.crt
Задает путь к файлу сертификата Центра Сертификации (CA). Этот сертификат используется для проверки подлинности клиентских сертификатов.cert server.crt
Задает путь к сертификату сервера. Этот сертификат используется для подтверждения подлинности сервера перед клиентами.key server.key
Указывает путь к приватному ключу сервера. Этот ключ должен храниться в безопасности и никому не передаваться.dh dh.pem
Задает файл параметров Диффи-Хеллмана (DH). Эти параметры используются для установления безопасного ключевого обмена между сервером и клиентами.server 10.9.0.0 255.255.255.0
Определяет виртуальную IP-сеть для VPN. Сервер будет назначать клиентам IP-адреса из этого диапазона (10.9.0.0 с маской подсети 255.255.255.0).ifconfig-pool-persist ipp.txt
Указывает файл ("ipp.txt") для хранения соответствия между клиентами и назначенными им IP-адресами. Это позволяет сохранять один и тот же IP-адрес для клиента между сессиями.push "redirect-gateway def1 bypass-dhcp"
Инструктирует сервер пересылать эту настройку клиентам, чтобы перенаправить весь их интернет-трафик через VPN (переопределяет шлюз по умолчанию). Параметр "bypass-dhcp" предотвращает конфликты с локальными настройками DHCP.push "dhcp-option DNS 8.8.8.8"
Инструктирует сервер переслать клиентам настройку использовать DNS-сервер 8.8.8.8 (публичный DNS-сервер Google).push "dhcp-option DNS 8.8.4.4"
Аналогично предыдущей строке, но добавляет второй DNS-сервер 8.8.4.4 для резервирования.keepalive 10 120
Эта команда сочетает в себе "ping 10" и "ping-restart 120". Сервер будет отправлять пинг-запросы клиентам каждые 10 секунд, и если в течение 120 секунд ответа не будет, соединение перезапустится.tls-auth ta.key 0
Включает дополнительную HMAC-аутентификацию TLS рукопожатия с использованием ключа "ta.key". Цифра "0" указывает, что это серверная сторона. Это повышает безопасность, защищая от некоторых видов атак.topology subnet
Устанавливает топологию VPN-сети как "subnet". Это позволяет клиентам получать IP-адреса в одной подсети с сервером, что упрощает маршрутизацию.cipher AES-128-CBC
Указывает алгоритм шифрования, используемый для передачи данных. Здесь используется AES с 128-битным ключом в режиме CBC (Cipher Block Chaining).auth SHA256
Определяет алгоритм хэширования для проверки целостности сообщений (HMAC). Используется SHA256 для обеспечения высокой степени безопасности.persist-key
Инструктирует OpenVPN не пересчитывать ключи при перезагрузке демона. Это предотвращает необходимость повторного чтения файлов ключей, обеспечивая более быстрое восстановление.persist-tun
Инструктирует OpenVPN не закрывать туннельный интерфейс при перезапуске. Это позволяет сохранять настройки сетевого интерфейса между перезагрузками.status openvpn-status.log
Указывает файл для записи текущего статуса сервера OpenVPN. В этом файле содержится информация о подключенных клиентах и статистика соединений.verb 3
Устанавливает уровень подробности логирования (verbosity). Уровень 3 дает умеренное количество информации, полезное для отладки и мониторинга без избыточных деталей.
