Шпаргалка по работе с OpenVPN

Оцените статью

Так-как у меня похоже склероз от переизбытка технологий которыми я пользуюсь, то напишу несколько заметок по настройке разных сервисов и начнем с OpenVPN.

Для начала скопипастим у коллег список наиболее часто применяемых параметров конфигурации.

  • remote< host > — определяет удаленный конец туннеля. Могут использоваться записи IP и DNS.
  • local< host > — определяет локальный ip или имя хоста, на котором будет работать OpenVPN. Актуально, если на локальной машине несколько адресов.
  • dev< device > — определяет какой использовать тип устройства tun или tap.
  • port< port number > — указывает на каком порту будет работать OpenVPN (локально и удаленно).
  • proto< proto > — какой протокол будет использоваться. Возможные значения: udp, tcp, tcp-client, tcp-server.
  • remote-random — если указана данная опция и в random перечисленно несколько удаленных хостов, то OpenVPN в случайном порядке будет к ним подключаться. Применяется для балансировки нагрузки.
  • float — позволяет удаленному хосту изменять IP во время работы туннеля. Соединение при этом не разрывается.
  • ipchange< cmd > — выполняет скрипт или команду указанную в < cmd >, если IP сменился.
  • connect-retry< seconds > — пробует переподключиться через указанное время в секундах, если соединение было разорвано.
  • connect-retry-max< n > — максимальное количество повторов если соединение было разорвано
  • resolv-retry< seconds > — если OpenVPN не удалось узнать имя удаленного хоста по DNS, то через указанное количество секунд попытаться переподключиться.
  • lport< port > — указывает на локальный порт для использования OpenVPN
  • rport< port > — аналогично для удаленного порта.
  • nobind — использовать динамический порт для подключения (только для клиента)
  • shaper< bytes > — указывает скорость передачи данных в байтах для исходящего трафика (только для клиента)
  • tun-mtu< mtu size > — устанавливает максимальный размер MTU. По умолчанию tun-mtu равен 1500.
  • dev-node< interface name > — устанавливает имя виртуального интерфейса.
  • ifconfig — устанавливает локальный IP и маску подсети для туннельного интерфейса.
  • server< network > < mask > — автоматически присваивает адреса всем клиентам (DHCP) в указанном диапазоне с маской сети. Данная опция заменяет ifconfig и может работаеть только с TLS-клиентами в режиме TUN, соответственно использование сертификатов обязательно.
  • server-bridge< gateway > < mask > < pool > — сервер в режиме моста для TAP устройств.
  • mode server — переключает OpenVPN в режим сервера (начиная с 2-й версии)
  • mode p2p — данная опция идет по умолчанию.

Начнем с простейшего конфигурационного файла с зашитыми в него ключами (можно и внешние подключать, но это уже не модно).

client
proto tcp
remote remote-host 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
auth SHA1
cipher AES-256-CBC
reneg-sec 0
ping-restart 0
key-direction 1
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIID3zCCAsegAwIBAgIIHs5GRaC8NuswDQYJKoZIhvcNAQELBQAwYzELMAkGA1UE
...
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIDyDCCArCgAwIBAgIIGS/3k1ZW2cQwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UE
...
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDeQGRsWf48/oXb
...
-----END PRIVATE KEY-----
</key>

Тестовый запуск конфигурационного файла.

# openvpn --config ./lms-client.conf

Для отключения перенаправления всего трафика в тунель (если это задано на стороне сервера), то добавляем параметр.

route-nopull

Related Posts

Неудачный эксперимент по установке ZoneMinder в Ubuntu 25.04

Пришло время реанимировать домашнюю систему видеонаблюдения на базе ZoneMinder. У меня как раз есть китайская камера BESDER 6024pb-jw201 которая уже год как не используется и просто смотрит в коридор для…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You Missed

Статус заряда батареи в Linux консоли

Статус заряда батареи в Linux консоли

Неудачный эксперимент по установке ZoneMinder в Ubuntu 25.04

Неудачный эксперимент по установке  ZoneMinder в Ubuntu 25.04

Терминальный сервер и RemoteAPP в Ubuntu Linux

Терминальный сервер и RemoteAPP в Ubuntu Linux

Примеры конфигурации HAProxy

Примеры конфигурации HAProxy
Установка и настройка InfluxDB (V2 OSS)

Немного экспериментов с Windows Server 2025

Немного экспериментов с Windows Server 2025