We introduced support for the command-line interface (CLI) in OpenVPN Connect version 3.3 for Microsoft Windows and macOS. Using a console on a supported operating system, you can use the CLI to manage most application functions. This document provides an overview of the commands you can use.
Get Started
Locate OpenVPN Connect binary:
- Windows: <Program Files|Program Files (x86)/OpenVPN Connect/OpenVPNConnect.exe
- macOS: /Applications/OpenVPN Connect/OpenVPN Connect.app/contents/MacOS/OpenVPN Connect
Helpers
These commands won’t launch the application, but are useful for gathering information from the terminal output.
Commands available
--help
List all of the available commands with a short description.
--accept-gdpr - Accept GDPR for application usage --hide-tray - Launch the application and hide tray icon --minimize - Launch app in the background and UI window does not display --quit - Quit the application --list-settings - Show all application's setting values --set-setting - Change any application setting Format: --set-setting=<name> --value=<value> Setting values (values in [] are default options): vpn-protocol: [adaptive]|udp|tcp timeout: 0,10,30,[60],120 launch-options: none|connect-latest|[start-app]|restore-connection seamless-tunnel: true|[false] shortcut-minimize: [true]|false captive-portal-detection: [true]|false software-update: never|[daily]|weekly|monthly theme: [system]|default|dark tray-icon-style: [monochrome]|colorful enable-crash-reporting: true|[false] min-tls-version: [default]|tls-1-0|tls-1-1|tls-1-2|tls-1-3 ipv6: [default]|no|yes compression: [no]|yes|asym google-dns-fallback: [true]|false --skip-startup-dialogs - Close (skip) information dialogs that OpenVPN Connect shows during the first launch (onboarding tour, update changes, etc.) --version - Show the application version --list-profiles - Show list of profiles imported in the application --import-profile - Import profile by path to a file. All parameters except path are optional and will be saved in the profile configuration Format: --import-profile=<path-to-profile> --name=<profile-name> --username=<username> --password=<password> --pkp=<private-key-password> certificate=<cert-id> --remove-profile - Remove profile by ID or profile name. ID has a higher priority Format: --remove-profile=<profile-id|profile-name> --list-certificates - Show list of certificates imported into the application --import-certificate - Import PKCS12 certificate/key pair (.p12) into the application. Password parameter is optional Format: --import-certificate=<path-to-pkcs12> --password=<password> --remove-certificate - Remove certificate from the application storage Format: --remove-certificate=<cert-id>
App version
--version
Displays the application version and build number.
{
version: "3.2.3",
build-number: "1900"
}
Launch flags
These commands can launch OpenVPN Connect if it is not running, or can be executed on the running instance. They can be used together, in any order.
Launch in background
--minimize
Launches the app in the background. The UI window won’t open.
Hide tray icon
--hide-tray
Launches the application and hides the tray icon.
Configuration
Notifications
--accept-gdpr
Accepts the General Data Protection (GDPR) consent. Note: After installation, if you start the application without this flag and haven’t previously accepted GDPR through the UI, the Connect app won’t function and won’t accept commands. Instead, you will receive an error message.
{
status: "error",
error: "Accept GDPR to use the application."
}
Skip startup dialogs
--skip-startup-dialogs
Closes and dismisses the information dialogs that display at first launch of OpenVPN Connect. These dialogs include the onboarding tour and the list of recent changes. The next time the application UI launches, these dialogs won’t display. Note: This flag doesn’t skip the GDPR dialog.
Profiles
List all profiles
--list-profiles
Displays the list of profiles that are imported into OpenVPN Connect. The information includes profile ID, profile name, hostname, type, username, and server override.
[{
id: <profile-id>,
name: <profile-name>,
host: <hostname>,
type: <autologin|user-locked|server-locked>,
username: <username>,
server-override: <hostname|none>
},
...
]
Import a profile
--import-profile=<path-to-the-profile> --name=<display-name> --username=<username> --password=<password> --pkp=<private-key-password> certificate=<cert-id>
Imports a profile from a file location, with the file path as a required parameter. All other parameters are optional, but if provided they are saved in the profile configuration. For example, a password can be used during connection for the specific profile. Also, you can pass these parameters in the UI for each connection.
If the import is successful, the command outputs the profile information.
{
"message": {
"id": "<profile-id>",
"name": "<profile-name>",
"host": "<hostname>",
"type": "<autologin|user-locked|server-locked>",
"username": "<username>",
"server-override": "<hostname|none>"
},
"status": "success"
}
If unsuccessful, the command outputs an error message.
{
"error": <error-message>,
"status": "error"
}
Remove a profile
--remove-profile=<profile-id|profile-name>
Removes a profile using either the profile ID or profile name. The command line outputs either a success or error status message.
{
"message|error": <Result of operation>,
"status": "success|error"
}
Certificates Management
List all certificates
--list-certificates
Displays the list of imported certificates. The output includes the cert ID, hash, expiration state, and a subject summary.
[{
cert-id: <cert-id>,
hash: <hash>,
is-expired: true|false,
subject-summary: <Subject Summary>
},
...
]
Import a certificate
--import-certificate=<path-to-certificate> --password=<password>
Imports the PKCS 12 certificate/key pair from a file location. The certificate saves in OS Certificate Storage or keychain. The file path is required, but the password is optional. The command output displays the cert ID, hash, expiration state, and a subject summary.
{
"message": {
"cert-id": <cert-id>,
"hash": <hash>,
"is-expired": true|false,
"subject-summary": <Subject Summary>
},
"status": "success"
}
If the import fails, the command output displays an error message.
{
"error": <error-message>,
"status": "error"
}
Remove a certificate
--remove-certificate=<cert-id>
Removes a certificate by cert ID. The command line outputs either a success or error status message.
{
"message|error": <Result of operation>,
"status": "success|error"
}
Settings Management
List all application setting values
--list-settings
Lists all of the application setting values, including protocol, timeout, launch options, seamless tunnel, and others.
{
protocol: adaptive|udp|tcp
timeout: 0,10,30,60,120
launch-options: none|connect-latest|start-app|restore-connection
seamless-tunnel: true|false
shortcut-minimize: true|false
captive-portal-detection: true|false
software-update: never|daily|weekly|monthly
theme: system|default|dark
tray-icon-style: monochrome|colorful
enable-crash-reporting: true|false
min-tls-version: default|tls-1-0|tls-1-1|tls-1-2|tls-1-3
ipv6: default|no|yes
compression: no|yes|asym
google-dns-fallback: true|false
}
Set a setting value
--set-setting=<name> --value=<value>
Changes any of the application settings. The command line outputs either a success or error status message.
{
"message|error": <Result of operation>,
"status": "success|error"
}
Instructions
Step 1. Go to the correct location for x64 systems:
cd «%ProgramFiles%\OpenVPN Connect»
Note: if you have the 32 bits program installed on a 64 bits OS, replace %ProgramFiles% with %ProgramFiles(x86)%.
Step 2. Install the system service:
ovpnconnector.exe install
Step 3. Specify connection profile to use (optional):
ovpnconnector.exe set-config profile <FULL_PATH_AND_FILENAME_TO_PROFILE.OVPN>
Note: if your OpenVPN Connect installation file was downloaded from Access Server or OpenVPN Cloud and came with a bundled autologin connection profile, then you can skip step 3. It will then simply default to the bundled connection profile. It can be found in the program location with the name «ovpnconnector.ovpn» — that is the bundled connection profile.
Step 4. Specify the path to a log file (optional):
ovpnconnector.exe set-config log <FULL_PATH_AND_FILENAME_TO_LOGFILE.LOG>
Note: if you skip step 4, the service will write to the default log file in the program location with the name “ovpnconnector.log”.
Step 5. Start the service:
ovpnconnector.exe start
The service will now start the VPN connection and log output to the log file.
Note: you will not receive feedback after starting the service if the connection succeeded or not. You can check the log file or use the ping command to verify that the connection is now up and running.
Important: OpenVPN Connect client should not be running, otherwise service startup will abort.
OpenVPN – это программное обеспечение, позволяющее создавать безопасные зашифрованные соединения между устройствами через интернет. Эта технология использует протокол SSL/TLS и работает по методу «точка-точка», то есть обеспечивает защищенную связь между двумя конкретными устройствами в сети.
OpenVPN используется для создания виртуальных частных сетей (VPN), которые позволяют пользователям безопасно обмениваться данными через интернет. В отличие от других VPN-технологий, OpenVPN легко настраивается и работает на разных операционных системах, включая Windows, macOS и Linux.
Одно из основных достоинств OpenVPN – надежное шифрование. Технология использует алгоритмы шифрования AES-256 и Blowfish, обеспечивающие максимальную безопасность передачи данных. Авторизация осуществляется путем обмена сертификатами SSL/TLS, это значительно повышает степень защиты сетевого трафика.

Кроме того, протокол OpenVPN может использоваться с целью обхода блокировок сайтов, что позволяет интернет-пользователям по всему миру получать доступ к заблокированной информации.
OpenVPN поддерживает большое количество разных настроек и функций, которые делают его универсальным решением многих задач. Это мощный инструмент сохранения конфиденциальности данных, обхода блокировок и обеспечения оперативного соединения с удаленными компьютерами и сетями.
Как скачать и установить OpenVPN на компьютер
Скачать и установить OpenVPN на компьютер можно всего за несколько минут. Пошагово рассмотрим, как это сделать.
- Скачайте установочный файл OpenVPN. Самый простой способ – скачать файл с официального сайта разработчика по ссылке https://openvpn.net/community-downloads/. Для компьютеров на ОС Windows также рекомендуется загрузить инсталлятор OpenVPN GUI.
-
Установите OpenVPN. Запустите загруженный инсталлятор и следуйте инструкциям на экране. Во время установки система попросит вас выбрать каталог установки, определить директорию с файлами и выбрать желаемые параметры автозапуска.
OpenVPN – установка на Windows - Откройте OpenVPN GUI. После установки зайдите в меню «Пуск» и найдите OpenVPN GUI. Щелкните по нему, чтобы запустить приложение.
- Настройте OpenVPN. Для настройки протокола необходимо скачать конфигурационный файл вашего VPN-провайдера, который вы хотите использовать. Конфигурационный файл можно загрузить на сайте провайдера. Затем нужно скопировать файлы конфигурации в каталог OpenVPN. После этого останется только запустить OpenVPN и подключиться к выбранному VPN-серверу.
Настройка сервера OpenVPN на компьютере
Настройка сервера OpenVPN на компьютере может показаться сложной задачей, но это не так. Инструкция по настройке сервера OpenVPN на компьютере выглядит следующим образом:
- Скачайте и установите OpenVPN. Инструкция по скачиванию и установке OpenVPN доступна в предыдущем разделе.
- Создайте сертификаты. Для настройки сервера OpenVPN требуется создание сертификатов и ключей. Вы можете использовать скрипт easy-rsa.
- Настройте конфигурационный файл сервера в соответствии со своими потребностями. Он должен содержать IP-адрес сервера, порты и параметры шифрования, а также пути к сертификатам и ключам.
- Настройте маршрутизацию. Настройте правила маршрутизации, чтобы маршрутизаторы знали, как передавать данные через VPN.
- Запустите сервер. Запустите OpenVPN-сервер, используя созданный конфигурационный файл. Это можно сделать из командной строки при помощи команды openvpn.
- Подключите клиента к серверу. После запуска сервера можно подключить клиента к серверу, используя сконфигурированный профиль OpenVPN.
Теперь сервер OpenVPN готов к работе. Настройка может занять некоторое время, но это компенсируется безопасностью и простотой использования.
Настройка сервера OpenVPN в облаке
Рассказываем, как настроить сервер OpenVPN в облаке пошагово.
- Создайте облачный сервер. Сначала нужно создать виртуальный сервер в облаке, например, через DigitalOcean. Убедитесь, что выбираете ОС, которая поддерживает OpenVPN.
- Установите OpenVPN. После создания виртуального сервера установите на него OpenVPN. Установить ПО можно с помощью менеджера пакетов apt-get или yum.
- После установки OpenVPN настройте конфигурационный файл сервера, указав необходимые параметры шифрования, порты и пути к сертификатам и ключам.
- Настройте правила маршрутизации, чтобы маршрутизаторы следовали определенным правилам передачи данных через VPN.
- Откройте порты. Убедитесь, что порты, выбранные для OpenVPN, открыты в облачном брандмауэре.
- Запустите OpenVPN-сервер, используя созданный конфигурационный файл. Произвести запуск можно из командной строки при помощи команды openvpn.
- Скачайте конфигурационный файл клиента с веб-интерфейса сервера OpenVPN.
- Подключитесь к серверу OpenVPN, используя сконфигурированный профиль OpenVPN.
Создание ключей и сертификатов для подключения к серверу OpenVPN
Одним из основных компонентов OpenVPN являются ключи и сертификаты, которые необходимы для обеспечения двунаправленной аутентификации и успешного подключения клиента к серверу OpenVPN. В инструкции ниже мы расскажем, как правильно создать эти ключи и сертификаты.
- Установка OpenVPN. Первым шагом является установка OpenVPN на сервер. Это можно сделать, используя команду apt-get install openvpn на Linux или скачав установщик с официального сайта OpenVPN для Windows.
- Создайте папку на сервере, где будут храниться ключи и сертификаты. Например, /etc/openvpn/easy-rsa/.
- Создайте файл конфигурации в папке /etc/openvpn/ с расширением .conf. Например, server.conf. В этом файле укажите параметры сервера, такие как порт, протокол и т.д.
-
Создание ключей и сертификатов. Для создания ключей и сертификатов используйте утилиту easy-rsa. Перейдите в папку /etc/openvpn/easy-rsa/ и выполните команду vars, чтобы установить переменные окружения.
Затем выполните команду clean-all, чтобы очистить все предыдущие ключи и сертификаты. После этого выполните команду build-ca и создайте корневой сертификат.
Создание корневого сертификата Затем выполните команду build-key-server server, чтобы создать ключ и сертификат для сервера. После этого выполните команду build-dh, чтобы создать файл dh.pem.
Cоздание файла dh.pem Наконец, выполните команду build-key client1 и создайте ключ и сертификат для клиента.
Создание ключей для клиентов - Скопируйте файлы server.crt, server.key, dh.pem и ca.crt на сервер OpenVPN. Затем скопируйте файлы client1.crt, client1.key и ca.crt на клиентские компьютеры.
- Настройте клиентские компьютеры, используя файлы конфигурации и ключи и сертификаты, скопированные в предыдущем шаге. Запустите OpenVPN на клиентских компьютерах и подключитесь к серверу.
Cоздание ключей и сертификатов для подключения клиентов к серверу OpenVPN новичкам может показаться сложным процессом, но с помощью этой инструкции вы сможете успешно выполнить эту задачу. Не забывайте о том, что безопасность вашей сети зависит от правильной настройки и использования протокола OpenVPN.
Настройки клиентского приложения OpenVPN для подключения к серверу
Для подключения клиентского приложения к серверу OpenVPN необходимо выполнить несколько настроек.
- Установка клиентского приложения OpenVPN. Первым шагом является установка приложения OpenVPN на компьютер пользователя. Это можно сделать, скачав установщик с официального сайта OpenVPN.
- Получение файлов конфигурации и ключей. Для подключения к серверу OpenVPN необходимо получить файлы конфигурации и ключи от администратора сервера. Эти файлы включают в себя параметры сервера, такие как адрес сервера, порт, протокол и т.д., а также сертификаты и ключи для клиента.
- Настройка приложения OpenVPN. Откройте клиентское приложение OpenVPN и выберите опцию “Импорт конфигурации”. Выберите файл конфигурации, полученный от администратора сервера.
Затем импортируйте сертификаты и ключи для клиента, которые вы получили от администратора сервера. Эти файлы должны быть скопированы в папку с приложением OpenVPN.
- Подключение к серверу OpenVPN. Запустите приложение OpenVPN и выберите опцию “Подключиться”. Введите свои учетные данные и нажмите кнопку “Подключиться”.
После успешного подключения к серверу OpenVPN вы сможете безопасно работать в сети и обмениваться данными с другими пользователями.
Настройка клиентского приложения OpenVPN для подключения к серверу OpenVPN не является сложной задачей, если следовать инструкциям и иметь все необходимые файлы.
Настройка дополнительных функций OpenVPN
Настройка типов шифрования в OpenVPN
OpenVPN поддерживает несколько алгоритмов шифрования для обеспечения безопасности передаваемых данных. Среди них AES-256, Blowfish и Camellia. Эти алгоритмы шифрования обеспечивают наилучшую степень безопасности при передаче данных через интернет. Можно выбрать любой из этих алгоритмов шифрования при настройке сервера OpenVPN, чтобы обеспечить наилучшую защиту и безопасность своих данных. AES-256 считается одним из наиболее надежных алгоритмов шифрования и обеспечивает высокую степень защиты данных.
Чтобы выполнить настройку шифров OpenVPN, необходимо следовать пошаговому алгоритму.
- Зайдите в веб-интерфейс администратора OpenVPN. В адресной строке браузера введите IP-адрес вашего сервера OpenVPN и номер порта (по умолчанию 943).
- Авторизуйтесь. Введите логин и пароль входа в веб-интерфейс администратора OpenVPN.
- Настройки шифрования находятся в разделе “Server”>”Settings “, или “Configuration > Advanced VPN”. Найдите параметры “Data Channel Encryption” и “Control Channel Encryption”, или “Data Channel Ciphers”.
- Выберите тип шифрования из доступных в настройках OpenVPN. Рекомендуется использовать AES-256-CBC для “Data Channel Encryption” и SHA-256 для “Control Channel Encryption”, или просто выбрать предпочитаемый шифр – для “Data Channel Ciphers”. Можете выбрать другие варианты на основе требований безопасности вашей сети.
- Сохраните изменения. После выбора типа шифрования, сохраните изменения, нажав кнопку “Save”.
- Перезапустите OpenVPN. Чтобы изменения вступили в силу необходимо перезапустить OpenVPN-сервер. Для этого в веб-интерфейсе администратора выберите “Server”>”Status”, нажмите кнопку “Restart OpenVPN”.
- Проверьте настройки шифрования. После перезапуска OpenVPN проверьте настройки шифрования в “Server”>”Settings”, или “Configuration > Advanced VPN”, и убедитесь, что выбранные настройки сохранены и работают корректно.
Перед выбором типа шифрования необходимо узнать, какие типы шифрования поддерживает ваш сервер. Если вы используете услуги провайдера, которые предоставляют услугу OpenVPN, убедитесь, что они поддерживают желаемый тип шифрования.
Работа с командной строкой OpenVPN
Командная строка OpenVPN предоставляет множество возможностей для настройки и управления соединением. Разберем основные команды для работы с командной строкой OpenVPN.
- openvpn --config file.ovpn – запуск OpenVPN с указанным конфигурационным файлом.
- openvpn --genkey --secret mykey.key – генерация нового ключа шифрования.
- openvpn --show-net – отображение информации о текущих настройках сети и передаче данных через OpenVPN.
- openvpn --remote host --port port – подключение к удаленному серверу OpenVPN по IP-адресу и порту.
- openvpn --ping-restart n – перезапуск соединения, если не получен ответ от сервера OpenVPN в течение n секунд.
- openvpn --verb n – определение уровня подробности выводимых сообщений (от 0 до 11).
- openvpn --log file.log – сохранение информации о работе OpenVPN в указанный файл.
Эти команды являются только некоторыми из базовых; существует множество других команд, позволяющих работать с конфигурационными файлами, ключами шифрования и другими настройками OpenVPN. Ознакомьтесь с документацией OpenVPN, чтобы узнать больше о доступных командах и их использовании.
Работа с DNS-запросами в OpenVPN
DNS-запросы являются важной частью работы сетевых соединений, в том числе и в OpenVPN. OpenVPN может использовать DNS-запросы для получения IP-адресов удаленных хостов. Рассмотрим, как использовать DNS-запросы в OpenVPN.
OpenVPN поддерживает два способа использования DNS-запросов: через DNS-сервера, установленные на вашем компьютере, или через сторонние DNS-сервисы, такие как Google DNS. Для конфигурации DNS-запросов, необходимо внести соответствующие изменения в конфигурационный файл OpenVPN.
Пример настроек DNS-запросов в конфигурационном файле OpenVPN:
- Определение стандартного DNS-сервера:
dhcp-option DNS myserver.example.com
- Использование Google DNS:
dhcp-option DNS 8.8.8.8
В первом примере, “myserver.example.com” указывает на ваш DNS-сервер. Во втором примере, используется IP-адрес Google DNS.
Также имеется возможность использовать DNS-запросы через VPN-соединение. Для этого, необходимо внести следующие изменения в конфигурационный файл:
- push "dhcp-option DNS 10.8.0.1" – добавление DNS-сервера в список опций DHCP.
- push "dhcp-option DOMAIN example.com" – указание доменного имени для использования с VPN-соединением.
Эти команды могут быть изменены в соответствии с необходимыми потребностями.
Настройка маршрутизации трафика в OpenVPN
Маршрутизация трафика позволяет определить, как отправлять данные из одного устройства в другое в соответствии с текущей сетевой инфраструктурой. Рассмотрим, как выполнить настройку маршрутизации трафика в OpenVPN.
- Определите сетевую топологию. Определите, какой тип маршрутизации требуется для вашей сети. Некоторые сети используют простую маршрутизацию, где все устройства находятся в одной подсети. Более сложные сети могут использовать маршрутизацию между несколькими подсетями.
- Определите IP-адреса подсетей. Определите IP-адреса и маски подсетей всех устройств, подключенных к вашей сети.
- Настройте конфигурационный файл сервера OpenVPN. В конфигурационном файле сервера OpenVPN необходимо добавить настройки маршрутизации для определения маршрутов между подсетями.
Пример настройки маршрутизации в конфигурационном файле:
push "route 192.168.1.0 255.255.255.0"
Этот пример добавляет маршрут к сети 192.168.1.0/24 через VPN-сервер. - Настройте конфигурационный файл клиента OpenVPN. Для клиентов, которые подключаются к VPN-серверу, необходимо также настроить конфигурационный файл с маршрутами.
Пример настройки маршрутизации в конфигурационном файле клиента:
route add 192.168.1.0 mask 255.255.255.0 10.8.0.1
Этот пример добавляет маршрут к сети 192.168.1.0/24 через IP-адрес OpenVPN-сервера.
Типы соединений, поддерживаемые OpenVPN
OpenVPN поддерживает два типа соединений: Transmission Control Protocol (TCP) и User Datagram Protocol (UDP).
TCP является надежным протоколом, обеспечивающим контроль целостности данных и обнаружение ошибок. Он гарантирует доставку пакетов в правильном порядке без потерь. Однако, TCP медленнее, чем UDP. Когда используется TCP, каждый пакет отправляется и ждет подтверждения, что требует большого количества времени. Если требуется надежное соединение и скорость не является приоритетом, то выбор подходящей настройки – TCP.
UDP, с другой стороны, не обеспечивает контроль целостности данных, потому что его цель – это быстрота и эффективность. Данные отправляются быстрее, но без гарантированной надежности. При использовании UDP пакеты могут быть потеряны или придти в неправильном порядке. UDP является лучшим вариантом для приложений, требующих высокую скорость передачи, но не могут допустить задержек.
При выборе типа соединения в OpenVPN важно принимать в расчет скорость, надежность и потенциальные перебои. Если вы работаете с файловым сервером, UDP может быть хорошим выбором. Если вы работаете с приложением, требующим высоких скоростей передачи данных и небольшой задержки, выбрать можно TCP.
Советы по безопасности и профилактике ошибок при настройке и использовании OpenVPN
Предлагаем несколько советов по обеспечению безопасности и профилактике ошибок при настройке и использовании OpenVPN:
- Использование надежных паролей. Никогда не используйте простые пароли, такие как “password” или “123456”. Используйте пароли, которые содержат буквы, цифры и специальные символы, и избегайте повторений.
- Установка многофакторной аутентификации. Это дополнительный слой безопасности, который требует от пользователя не только ввод логина и пароля при входе на сервер, но и подтверждение с помощью токена или мобильного устройства.
- Обновление OpenVPN до последней версии. Новые версии OpenVPN включают в себя много новых функций и улучшений безопасности.
- Защита ключей и сертификатов. Ключи и сертификаты являются ключевыми компонентами OpenVPN. Они должны храниться в безопасном месте.
- Отключение уязвимых протоколов. Многие старые версии OpenVPN используют уязвимые протоколы, которые необходимо отключить в целях безопасности.
- Анализ логов. Регулярно проверяйте логи OpenVPN с целью обнаружения любых потенциальных проблем, связанных с безопасностью.
- Использование защищенных протоколов. Защитите свой трафик, используя протоколы, такие как AES, которые обеспечивают надежное шифрование данных.
- Проверка настроек безопасности. Проверьте настройки безопасности OpenVPN перед использованием в реальном времени.
- Резервное копирование. Создайте резервные копии ключей и сертификатов OpenVPN в целях их сохранности.
Эти советы помогут вам настроить и использовать OpenVPN безопасно и эффективно.
- Оценка читателей
- Rated 4.9 звезд
4.9 / 5 (7 пользователей) - Отлично
- Ваша оценка
Время на прочтение
4 мин
Количество просмотров 461K
Openvpn — виртуальная частная сеть. С ее помощью мы можем:
- Создать защищенный канал свзяи, в то время, когда мы сидим с бесплатного Wi-Fi в кафе.
- Обмениваться файлами между участниками сети.
- Раздавать интернет испульзуя общий шлюз.
Основные преимущества:
- Простота настройки.
- Безопасность.
- Не требует дополнительного оборудования.
- Высокая скорость и стабильность.
Как и автор статьи об установке OpenVPN на Linux, я не нашел нормальной статьи, да еще и такой, чтоб описывалось все до мелочей. В этой статье на Хабрахабре я постараюсь максимально доступно все объяснить. Итак, поехали!
Скачиваем дистрибутив.
На момент написания статьи доступная версия 2.3.2. Качаем отсюда Windows installer 32-х или 64-х битную версию под разрядность вашей операционной системы.
Установка.
При установке обязательно отметьте все пункты птичками, на предложение установить драйвер отвечаем утвердительно. В системе появится новый виртуальный сетевой адаптер.
Создание сертификатов и ключей.
Когда-то этот пункт меня останавливал, мол ну их эти ключи, пойду поищу что попроще. Но, увы, ничего лучшего не нашел. Итак, переходим в C:\Program files\OpenVPN\easy-rsa, запускаем init-config.bat, появится vars.bat, открываем его в блокноте. Нас интересуют строчки в самом низу, их нужно заполнить как угодно. Например:
set KEY_COUNTRY=RU
set KEY_PROVINCE=Baldur
set KEY_CITY=Piter
set KEY_ORG=OpenVPN
set KEY_EMAIL=my@sobaka.ru
set KEY_CN=server
set KEY_NAME=server
set KEY_OU=ouou
Там где написано server не трогаем. Сохранили.
Теперь открываем openssl-1.0.0.cnf и ищем строчку default_days 365, ставим 3650. Это продлит жизнь наших сертификатов на 10 лет. Сохраняем. Далее открываем командную строку в пуск-стандартные-командная строка (на Windows Vista/7/8 от имени администратора), пишем последовательно:
cd C:\OpenVPN\easy-rsa
vars
clean-all
В ответ должно написать два раза «Скопировано файлов: 1». Значит, все окей. В этом же окне набираем:
build-dh
Создаст ключ Диффи-Хельмана.
build-ca
Создаст основной сертификат.
Будут заданы вопросы, просто нажимаем Enter пока не увидите путь C:\Program files\OpenVPN\easy-rsa. Далее набираем:
build-key-server server
На вопросы также жмем Enter, только не торопитесь! В конце будут два вопроса: «Sign the certificate?» и «1 out of 1 certificate requests certified, commit?», на оба вопроса отвечаем Y. Теперь создадим сертификат клиента:
build-key client
Тут нужно быть вниметельней, при вопросе Common Name (eg, your name or your server’s hostname) нужно ввести client. В конце также два раза Y. Для каждого клиента нужно создавать новый сертификат, только с другим именем, например, build-key client1 и также указывать его в common name. Если все сделали правильно, можете выдохнуть! Самое сложное позади. В папке C:\Program Files\OpenVPN\easy-rsa\keys забираем: ca.crt, dh1024.pem, server.crt, server.key и кладем их в C:\Program Files\OpenVPN\config.
Создаем конфиги.
Переходим в C:\Program Files\OpenVPN\config, создаем текстовой документ, вставляем:
# Поднимаем L3-туннель
dev tun
# Протокол
proto udp
# Порт который слушает впн
port 12345
# Ключи и сертификаты
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
# Грубо говоря экономим адреса
topology subnet
# Пул адресов
server 10.8.0.0 255.255.255.0
# Метод шифрования
cipher AES-128-CBC
# Сжатие
comp-lzo
# Немного улучшит пинг
mssfix
# Время жизни клиентов, если не откликнулся — отключает
keepalive 10 120
# Уровень отладки
verb 3
Сохраняем файл как server.ovpn. Это наш конфиг сервера. Теперь пробуем запустить сервер. На рабочем столе будет ярлык OpenVPN Gui. После запуска в трее появится красный значок. Кликаем по нему дважды, если загорелся зеленым, значит, все хорошо, если нет, тогда смотрим лог в папке log.
Теперь конфиг клиента:
client
dev tun
proto udp
# Адрес и порт сервера
remote адрес 12345
# Ключи должны лежать в папке с конфигом
ca ca.crt
cert client.crt
key client.key
cipher AES-128-CBC
nobind
comp-lzo
persist-key
persist-tun
verb 3
Сохраняем как client.ovpn. Создаем любую папку и кладем туда конфиг client.ovpn и сертификаты ca.crt, client.crt, client.key которые лежат в C:\Program files\OpenVPN\easy-rsa. Сам клиент для Windows качаем здесь. На клиентской машине устанавливаем, переносим папку с конфигом и сертификатом и запускаем client.ovpn. Если подключились, пробуем в командной строке набрать ping 10.8.0.1. Пакеты пошли? Поздравляю! Сервер готов! Теперь идем в панель управления-администрирование-службы, ищем там OpenVPN, дважды щелкаем и выставляем автоматически. Теперь сервер будет сам стартовать после перезагрузки.
Дорабатываем конфиг или каждому свое.
Теперь я расскажу как раздавать интернет и другие мелочи связанные с настройкой. Начнем с мелочей. Все манипуляции будем проводить с конфигом сервера.
Если хотите, чтобы клиенты «видели» друг друга т.е. могли обмениваться информацией, тогда в конфиг впишите
client-to-client.
Если нужно, чтобы клиентам выдавались статические адреса, тогда в папке config создайте файл ip.txt и впишите в конфиг
ifconfig-pool-persist ip.txt
Неохота создавать каждому сертификаты? Тогда пишем duplicate-cn, но учтите, с этой опцией не работает ifconfig-pool-persist.
Теперь о конфиге клиента. Можно не передавать файлы сертификатов, а вписать сразу в конфиг, только делать это лучше не с блокнота, а с AkelPad’а или Notepad++ например. Открываем ca.crt и выделяем от ——BEGIN CERTIFICATE—— до ——END CERTIFICATE——. В конфиге будет выглядеть так:
-----BEGIN CERTIFICATE-----
сертификат
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
сертификат
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
ключ
-----END PRIVATE KEY-----
Раздаем интернет
Для этого в конфиг сервера вписываем:
push «redirect-gateway def1»
push «dhcp-option DNS 8.8.8.8»
push «dhcp-option DNS 8.8.4.4»
DNS-адреса подставляем те, что даны в настройках. Посмотреть можно зайдя в панель управления-сетевые подключения, дважды кликнув на адаптере который смотрит в интернет. Для Win7 Панель управления-Сеть и Интернет-Центр управления сетями и общим доступом-изменение параметров адаптера. Далее, заходим в свойства этого же адаптера, вкладка доступ, ставим птичку напротив «Разрешить другим пользователям сети…» и в выпадающем списке, если есть, выбираем виртуальный адаптер vpn. Затем заходим в свойства адаптера vpn, свойства ipv4 и выставляем получение ip и dns автоматически. Спасибо за внимание!
OpenVPN — это программное обеспечение для виртуальной частной сети (VPN), которое обеспечивает безопасность и конфиденциальность соединений. OpenVPN поддерживает работу в режиме сервера и клиента. В этой статье мы рассмотрим, как запустить OpenVPN через командную строку в режиме клиента.
Перед началом работы убедитесь, что у вас установлена OpenVPN-клиентская программа и конфигурационные файлы VPN-сервера.
Шаг 1. Подготовка конфигурационного файла
Прежде чем запустить OpenVPN, необходимо подготовить конфигурационный файл. В этом файле должны быть указаны все параметры подключения к VPN-серверу, такие как IP-адрес сервера, порт, сертификаты и ключи.
Обычно конфигурационные файлы имеют расширение .ovpn. Файл конфигурации можно создать в текстовом редакторе, таком как Notepad или Sublime Text. Пример содержания файла конфигурации:
client dev tun proto udp remote vpn.example.com 1194 resolv-retry infinite nobind persist-key persist-tun comp-lzo verb 3 pull
В этом примере конфигурационный файл содержит следующие параметры:
— client — указывает, что OpenVPN работает в режиме клиента.
— dev tun — указывает тип туннеля.
— proto udp — выбран протокол UDP.
— remote vpn.example.com 1194 — IP-адрес и порт VPN-сервера.
— resolv-retry infinite — переподключаться к серверу в случае потери связи.
— nobind — не привязываться к конкретному IP-адресу.
— persist-key — сохранять ключи после завершения соединения.
— persist-tun — сохранять состояние туннеля после завершения соединения.
— comp-lzo — использовать сжатие данных.
— verb 3 — указывает уровень вывода в лог.
— pull — использовать VPN-сервер для назначения сетевых настроек.
Шаг 2. Запуск OpenVPN
После того, как конфигурационный файл создан, можно запустить OpenVPN через командную строку. Для этого необходимо выполнить следующую команду:
openvpn --config client.ovpn
В этой команде указан путь к конфигурационному файлу client.ovpn. Если файл находится в другой директории, необходимо указать полный путь к файлу. Если все настройки верны, то после выполнения этой команды соединение будет установлено и в командной строке будет появляться вывод логов.
Если у вас есть различные ключи и сертификаты, которые нужны для подключения к VPN-серверу, то нужно указать их пути:
openvpn --config client.ovpn --ca ca.crt --cert client.crt --key client.key
В данном примере ca.crt, client.crt и client.key — это файлы, содержащие сертификаты и ключи, необходимые для подключения к VPN-серверу.
Шаг 3. Автоматизация запуска OpenVPN
Если вы не хотите вводить команду для запуска OpenVPN каждый раз вручную, можно автоматизировать этот процесс с помощью бат-файла.
Для этого создайте текстовый файл и введите следующую команду в него:
start openvpn.exe --config client.ovpn --ca ca.crt --cert client.crt --key client.key
В этой команде ключ —config указывает путь к конфигурационному файлу, а ключи —ca, —cert и —key определяют путь к файлам сертификатов и ключей.
Сохраните текстовый файл с расширением .bat (например, run_openvpn.bat). Теперь, если вы запустите этот файл двойным щелчком мыши, он автоматически запустит OpenVPN через командную строку.
В заключение, лучшим способом убедиться в том, что OpenVPN правильно настроен и работает без ошибок, является тестирование его в работе. Попробуйте подключиться к VPN-серверу и отправить запрос на проверку IP-адреса. Если IP-адрес изменился на IP-адрес VPN сервера, то OpenVPN работает правильно, и ваши соединения теперь защищены и конфиденциальны.



