Наш VPN-сервер PPTP (Ubuntu) работает так, как должен, но из-за того, как он назначает удаленные IP-адреса, это вызывает некоторые проблемы с другим нашим программным обеспечением.
Пример: машина A подключается к VPN и получает адрес 172.16.0.100, а затем подключается к нашей программе, которая идентифицирует хосты на основе их IP-адреса в VPN. Для повышения производительности наша программа поддерживает кэш соединений сокетов. Затем предположим, что машина A покидает VPN прямо перед подключением машины B, так что машине B дается теперь свободный адрес 172.16.0.100. Поскольку наша программа поддерживает кеш подключения к сокету, она теперь видит машину B как машину A, поскольку A была последней машиной с адресом 172.16.0.100!
Объяснив все это, я хотел бы уточнить, что я ищу только исправления, которые будут включать настройку сервера / клиентов VPN. Я понимаю, что даю не так уж много информации для работы, но я бы не стал слишком много говорить об инфраструктуре нашей сети (секреты компании и все такое :)
По сути, все, что я хотел бы знать, это то, можно ли изменить способ, которым сервер назначает удаленные IP-адреса; т. е. присвоение их в порядке возрастания и т. д. Я кратко взглянул на исходный код pptpd, и мне кажется, что есть возможное решение - внести изменения на уровне исходного кода, но я хотел посмотреть, делал ли кто-нибудь это в другом путь.
из-за того, как он назначает удаленные IP-адреса, это вызывает некоторые проблемы с другим нашим программным обеспечением
Я бы сказал, что виновато программное обеспечение. Вы не можете винить VPN, потому что программное обеспечение нестабильно. На самом деле VPN работает правильно.
При этом позволяет ли сервер VPN клиенту указывать свой IP-адрес? Если это так, то вы можете настроить каждый VPN-клиент на использование определенного IP-адреса.