Есть такая задача: прозрачно для любого указанного пользователем приложения организовать туннелирование трафика.
Более подробно (примеры грубые):
1. Есть машины A:192.168.55.1, B:192.168.55.2, C:192.168.55.3
2. Есть приложение TotalA.exe
3. На машине 192.168.55.1 запущено приложение TotalA.exe, которое связывается с другим приложением на машине 192.168.55.3.
3. Есть необходимость, чтобы весь трафик этого приложения шёл не напрямую, а через 192.168.55.2.
Подчёркиваю:
1. Приложение, трафик которого нужно перенаправить может быть любым — поэтому заранее неизвестно какие у него возможности.
2. С обычной маршрутизацией это никак не связано, т.к. речь идёт о каких-то конкретных приложениях, а не о всём трафике в целом.
Общая схема представляется такой:
1. На машинах A и С установлены маршрутизаторы-клиенты
2. На машине В установлен маршрутизатор сервер
3. Маршрутизаторы-клиенты перехватывают все IP пакеты и по собственному протоколу отправляют их маршрутизитору-серверу. Причём, приложение-клиент не должно получать сообщение об ошибке. Оно должно считать, что всё отлично.
4. Маршрутизатор-сервер получает такой пакет и отправляет его получателю-маршрутизатору-клиенту.
5. Получатель-маршрутизатор-клиент вытаскивает этот IP пакет и пускает его в сеть, как ни в чём не бывало, т.е. как-будто он пришёл обычным способом.
Собственно вопрос: как и с помощью чего это легче и быстрее всего реализовать?