Без рассматриваемого протокола невозможно сказать подробно, но кажется, что вы намеренно расплывчаты, поэтому я отвечу в целом.
Из вашего описания сервер / протокол не может обрабатывать NAT, то есть вместо того, чтобы договариваться о сеансе с каждым клиентом на новом порте, чтобы он знал, кто есть кто, его разработано просто для ответа на IP-адрес источника, указанный во входящих пакетах. Это хорошо только для локальной сети.
Чтобы устранить эту проблему, вам нужно создать Ethernet-соединение с мостовым соединением, OpenVPN или другие будут управлять этим, но его значительно сложнее настроить по сравнению с обычным VPN на уровне IP. Также, поскольку вы не можете изменять клиентов, вам нужно, чтобы его маршрутизатор был VPN-клиентом, поэтому его может потребоваться замена. Вы можете разместить VPN на любом компьютере в сети, на котором может работать программное обеспечение X86.