еще раз на пальцах можете обьяснить, в чем бяда, или статью, где на пальцах разжуют почему ЭТО не реализовать именно ТАК КАК я хочу.
в случае TCP соединения на каждой стороне создаётся сокет - пара IP:port.
В случае pptp соединения, траффик идёт по протоколу GRE (это на том же уровне, что TCP), а он не имеет сущности ПОРТ.
ПОэтому от двух разных клиентов (которые за шлюзом) на ВПН сервер приходят два разных коннекта, но с одного IP (адрес шлюза) по протоколу GRE. Различить их ВПН-сервер не может.
И соответственно шлюз, получая обратные пакеты от сервера, тоже не может понять, какому клиенту они предназначены.