Это режим работы OpenVPN.
Для выбора режима "точка-точка" либо "точка-многоточка".
p2p
server
ПРИМЕЧАНИЕ. Режимp2p
не запрещает, а режимserver
не обязывает использовать шифрование в режимеtls-client/tls-server
. Режим подключения и режим шифрования — не связанные друг с другом сущности. Как правило, серверу логически следует быть одновременно и сервером TLS-шифрования, но это исключительно соображение здравого смысла, а не требование.
ПРИМЕЧАНИЕ. Если переключение режима p2p/server
приводит к режиму, несовместимому с выбранным протоколом, то протокол устанавливается в значение по умолчанию (UDP).
Режим "точка-точка" рекомендуется использовать для статичных транзитных маршрутизаторов, соединяющих две сети. В этом режиме настройка IP-адресов и маршрутизации между защищаемыми (приватными) сетями через туннель производится так же, как любого другого канала "точка-точка" и может выполняться либо штатными средствами NSG Linux, либо директивами OpenVPN ifconfig и route (в NSG Linux они могут указываться в поле extra
.) Статический адрес открытого (публичного) интерфейса при этом достаточно иметь только на одной из сторон, адрес другой может быть априори неизвестен.
Режим сервера в OpenVPN ориентирован, в первую очередь, на подключение одиночных клиентов, которые являются оконечными хостами (например, ПК удалённых сотрудников). Он по существу требует, чтобы после того, как маршрутизация в ядре Linux направила пакет в интерфейс OpenVPN, внутри подсистемы OpenVPN производился ещё один этап маршрутизации — к конкретному клиенту и обратно. Из этого вытекает ряд логических следствий, не все из которых могут радовать сетевого администратора:
extra
.tun
невозможна маршрутизация со стороны сервера в сети, расположенные за клиентами. Никак не возможна, ни средствами ядра и общего интерфейса системы, ни с помощью директив OpenVPN. Невозможна даже в том случае, если текущий адрес клиента априори известен однозначно (например, клиент единственный в данном туннеле).push
). Штатными средствами системы она не настраивается.Таким образом, режим сервера OpenVPN не очень пригоден для случая, когда клиенты сами являются транзитными маршрутизаторами и за ними находятся ещё какие-то сети. А именно это и есть наиболее частая типовая задача в корпоративных сетях: подключить некоторое число филиалов к головному офису. Для её решения можно предложить следующие варианты:
Режим сервера для центрального шлюза + NAT Masquerading на клиентской стороне туннеля. Рекомендуется для ситуации, когда филиалы имеют относительную автономию. (В частности, это может выражаться в том, что шлюз в каждом филиале администрируется, хотя бы частично, его сотрудниками, а не из центра.) Таким образом, все пользователи филиала выходят в корпоративную сеть под одним адресом, который назначен в данный момент клиенту OpenVPN. Это накладывает следующие ограничения:
Режим сервера + туннели типа tap
(т.е. эмуляция Ethernet) + динамическая маршрутизация (OSPF или RIP) между сервером и клиентами. В таком сочетании маршрутизация работает. Рекомендуется, если к сети предъявляются требования:
Типичный пример такой ситуации — сеть банка с большим количеством банкоматов.
Как и в предыдущем решении, при добавлении и удалении клиентов здесь не требуется делать индивидуальные настройки на стороне сервера. Клиентские концы туннелей получают по-прежнему случайные адреса, но зайти из центра на нужного клиента возможно по его статическому адресу в локальной сети филиала.
Энное количество индивидуальных туннелей ovpnNUM
"точка-точка", по одному в каждый филиал, каждый на отдельном порту UDP или TCP центрального шлюза. Наиболее детерминированный вариант, но наиболее трудоёмкий в настройке. Хотя, с другой стороны, наиболее простой для понимания, поскольку не требует разбираться в отношениях маршрутизации в ядре системы с маршрутизацией внутри OpenVPN. Рекомендуется при следующих условиях:
Для удобства настройки однотипных туннелей рекомендуется воспользоваться соединением %default
, предусмотренным в NSG Linux. Это шаблон, в который можно записать параметры, одинаковые для всех или большинства клиентов. Тогда в узлах ovpnNUM
явно указываются только параметры, специфичные для данного туннеля (по существу, только номер порта UDP/TCP, IP-адреса и описание).
Более удобным при данных условиях можно считать решение на основе туннелей Wireguard. Маршрутизация внутри Wireguard прозрачно увязана с маршрутизацией в системе. При этом оно содержит меньшее число настроек и не требует раздельных портов для каждого клиента.
© Network Systems Group 2015–2024 | Отдел документации |