Для перемещения по дереву справки используйте строки заголовка.

Справка по NSG Linux 2.1.3
Дерево команд: tunnel.openvpn.ovpnNUM.…далее…

Что это такое?

Это настройка данного туннеля OpenVPN.

Зачем это нужно?

Для передачи данных по этому туннелю.

Как это настроить?

Главным недостатком технологии OpenVPN является её гибкость и многообразность. Одна и та же прикладная задача может быть решена, как правило, многими различными способами, и разные пользователи решают её по-своему. Из-за этого среди ~250 параметров OpenVPN трудно выделить основные и второстепенные. Помимо этого, настройка OpenVPN в NSG Linux может производиться как его встроенными средствами, так и через общие узлы конфигурационного дерева NSG (ifAddress, .ip.route, bridge-group и др.)

По этой причине в конфигурационное дерево NSG вынесены лишь те параметры OpenVPN, которые необходимы безусловно и определяют построение собственно туннеля: режим работы, описание концов туннеля, аутентификация сторон, защита и сжатие трафика в туннеле, и т.п. Все остальные настройки (бóльшая часть которых относится к передаче полезной нагрузки по туннелю) можно выполнять либо через общие узлы NSG, присущие всем IP-интерфейсам или Ethernet-подобным объектам, либо через узел дополнительных параметров extra, в меру вашего знакомства с OpenVPN. Главное, что при этом требуется — избегать конфликтов между настройками. Итоговая конфигурация складывается из указанных источников механически; следить за её непротиворечивостью должен сам администратор. Чтобы избежать конфликтов, следует руководствоваться следующими принципами:

  1. При переносе конфигурации из готового решения — исключить параметры dev (имя создаваемого сетевого устройства) и writepid (в него вам лазить вообще незачем). Они уже заданы в имени туннеля (ovpnNUM), и конфигурационные инструменты NSG используют именно это имя в безусловном порядке.
  2. Параметры собственно туннеля, присутствующие в конфигурационном дереве NSG явным образом — указать именно в нём и исключить из остальных источников. В любом случае, система конфигурации NSG включит в итоговый файл все свои параметры, имеющие непустые значения — в том числе параметры, установленные по умолчанию.
  3. Все остальные параметры OpenVPN можно указывать в параметре extra.
  4. Параметры полезной нагрузки, которые не являются специфическими для OpenVPN — можно настраивать любым способом, но только одним одновременно.

Если имеется готовый файл конфигурации, уже отлаженный на любой другой машине (даже на Windows, с учётом нескольких малосущественных отличий), то его можно подключить целиком в параметре config-file. Остальные настройки в дереве NSG в этом случае становятся недоступными. Из файла, как и в предыдущем случае, необходимо удалить параметры dev и writepid; всё остальное импортируется "как есть".

Узел со специальным именем %default не создаёт отдельного туннеля, но является шаблоном, который учитывается при создании остальных туннелей. На практике бывает удобно создать несколько туннелей, у которых большинство настроек совпадает. Например, если к серверу должны подключаться несколько клиентов и далее нужно со стороны сервера заходить на каждого клиента, то быстрое и грязное решение — это не возиться с назначением IP-адресов из общего пула и думать, какой адрес кому достанется, а тупо создать для каждого клиента свой туннель с адресным пространством /24:

extra="server 172.16.x.0 255.255.255.0"

Это будет единственный уникальный параметр для каждого клиента (не считая ещё description, чтобы не забыть, где кто). Тогда каждый клиент будет иметь единообразный адрес вида 172.16.x.6. x может иметь какой-то практический смысл, например, номер удалённого объекта. Все остальные параметры, одинаковые для всех клиентов, можно один раз записать в %default. При создании временного конфигурационного файла все параметры имеют следующий приоритет:

  1. Определённые индивидуально в узле ovpnНОМЕР.
  2. Определённые в узле %default.
  3. Установленные в коде NSG Linux и openvpn по умолчанию.

Итоговую конфигурацию OpenVPN, полученную из сложения всех источников, установок по умолчанию и безусловных автоматических настроек, можно посмотреть командой actual-config. Конфигурацию можно считать формально корректной, если ни один из параметров не повторяется в ней более одного раза. (Кроме параметров, для которых явно предусмотрено такое использование.) В противном случае следует выяснить, откуда берутся несколько разных значений одного параметра, и удалить лишние.

Подробнее см. справку по вложенным узлам.

Что делать, если это не работает?

  1. Проверить итоговый файл конфигурации и журнал работы данного туннеля.
  2. Проверить журнал работы удалённой стороны.
  3. Убедиться, что обе стороны доступны друг другу по сети, используемые протоколы и порты не запрещены фильтрами, не перехватываются NAT, не заняты другими приложениями и т.п.
  4. Выполнить ping с одного конца туннеля на другой. Если он проходит, а передачи полезного трафика по туннелю нет — убедиться, что выполнены настройки для передачи полезной нагрузки в туннель (IP-адреса, маршрутизация и т.п.).

© Network Systems Group 2015–2024 Отдел документации