Несколько устройств TAP на сервере OpenVPN
Таким образом, у нас есть ряд клиентов, которые имеют свои собственные экземпляры VPS, которые мы размещаем через Proxmox. Все клиентские серверы находятся за брандмауэром NAT, и мы перенаправляем порты по запросу клиента на наши различные публичные IP-адреса. Я знаю, что это не совсем то же самое, что и большинство услуг хостинга VPS, так как обычно вы получаете свой собственный выделенный публичный IP, но мы делаем это из соображений безопасности, и в большинстве случаев мы в конечном итоге управляем клиентскими VPS, так как у них обычно нет ИТ-службы. персонал (малый / средний бизнес).
Нам необходимо настроить OpenVPN, чтобы позволить некоторым нашим клиентам напрямую подключаться к некоторым из своих служб, которые не являются общедоступными. Мы хотим установить это на наших серверах шлюзов Linux, которые предоставляют NAT, DHCP и т. Д. На серверы наших различных клиентов. Каждый клиент имеет свою собственную выделенную VLAN с уникальной /20 подсетью. Поэтому мы хотим, чтобы OpenVPN подключал каждого пользователя к его правильной VLAN/ подсети. Для этого нам понадобится отдельный мост TAP для каждой VLAN, что хорошо, так как каждый клиент уже имеет свой собственный интерфейс на шлюзе, который обеспечивает NAT, DHCP и т. Д. На свои серверы.
То, что я хочу знать, как это сделать, - как направить каждого клиента на правильное устройство TAP. Поддерживает ли OpenVPN эту функцию или мне придется запускать несколько экземпляров OpenVPN, по одному для каждого устройства TAP? Прослушивание на разных портах конечно. Если возможно, я бы хотел передать имя устройства TAP через LDAP и использовать OpenVPN для этого устройства.
Мы бы хотели, чтобы DHCP-сервер обрабатывал аренду, а IPtables обрабатывал NAT, а не OpenVPN. Именно поэтому мы хотим использовать устройства TAP.
1 ответ
После многих исследований, проб и ошибок выясняется, что это довольно легко сделать. Вам нужно запустить несколько экземпляров, по одному на мост, чтобы изолировать всех пользователей от их соответствующих сетей. Вы просто добавляете новый файл.conf для каждого экземпляра, и Debian автоматически создает новый экземпляр для каждого файла.conf. Просто убедитесь, что вы используете разные порты! Другие основные дистрибутивы, похоже, справляются с этим аналогично.