Дайте гаид на опенвпн для тупых (хули он такой сложный). Ключи понятно как генерить. Как роутинг вертеть непонятно, супердохуя каких-то опций в конфиге, какой-то блядь маскарадинг в айпистолах какие-то подсети и не понятно нихуя, устал фрустрировать с туториалов. Допустим есть сеточка за натом, без публичного айпи, в ней сервис сдизайненый работать в локальной сети. Клиенты общаются через какое-то шаред мемори через тисипи судя по логам (не ебу до конца что ето если честно). Есть другая сеточка за натом с публичным айпи и в ней очень бы хотелось заиметь этот сервис. Тупо бросить порты ссш тунелем не получилось, какая-то ебаная ошибка вылезает, в доках описан неработающий способ пердолинга с реестром подразумевающий что причина в конфликте ipv6 c ipv4, полизал, пососал, почесал, потренькал, отрубил ету манду совсем, но ошибка не уходит. Не хамачи плиз.
wireguard
https://www.opennet.ru/docs/RUS/iptables/ (особенно пункты про NAT) или глава про NAT в учебнике CCNA.
Если в клиенты надо вручную вбивать адрес сервера, а на одном компьютере без проблем работает несколько их копий, то можно обойтись виртуальным интерфейсом (tun). Только, судя по конфигурации, у тебя он будет работать задом наперёд: на машине с сервером приложений будет запущен клиент openvpn, на интерфейсе которого тот будет висеть наряду с физическим локальным, а сервер openvpn будет бриджить/статически натить свой туннельный интерфейс в локалку (в зависимости от необходимости переписывать совпадающие адреса).
Если же клиенты конфигурируются и связываются с сервером бродкастами, нужен мост между подсетями на канальном уровне (tap), а также либо настройка одной общей подсети (что не понравится куче других сервисов, начиная с дублируемого DHCP), либо вырезание/переписывание адресов нужных пакетов. Можно также просто добавить по виртуальному туннелю на каждый клиентский компьютер в удалённой сети и роутить всё вместе на сервере, или же достичь того же эффекта виланами.
Основное, что нужно понимать: openvpn реализует лишь дырку, в один конец которой что-то вливается, чтобы вылиться из другого. Остальное настраивается роутингом и iptables, как и в реальной сети.