Есть несколько серверов. Пусть, для примера, их будет 3. И неопределённое кол-во пользователей. Каждому пользователю необходимо создать VPN-туннель через эти сервера в Интернет. Но у разных пользователей должна быть своя очерёдность подключения к серверам.
Т.е.:
пользователь №1 подключается через сервера: 1-2-3-Интернет
пользователь №2 подключается через сервера: 3-2-1-Интернет
пользователь №3 подключается через сервера: 2-3-1-Интернет
и т.д.
Пользователи не должны видеть друг друга. И периодически пользователям нужно менять схему подключения автоматически и прозрачно для них (можно это сделать на шлюзе по умолчанию, который и будет заниматься заворачиванием всех соединений пользователя в VPN).
Каким образом это можно организовать?
Пока вижу 2 варианта:
1. SSH tunnel: для каждого пользователя на своём порту открывать динамичаский SSH port forwarding, подключаясь с одного сервера последовательно до другого.
2. Использовать OpenVPN.
Первый вариант не нравится тем, что неясно как автоматизировать этот процесс. В частности ввода пароля при авторизации через SSH.
Второй вариант предпочтительнее, но совершенно неясно как сделать VPN динамическим. Хотя это возможно, т.к. таких сервисов в инете полно.
Пример