Как перенаправить трафик из контейнера sstp (сервер) в shadowsocks-libev (клиент)?

Для перенаправления трафика из контейнера sstp (в котором работает сервер) в контейнер shadowsocks-libev (клиент), вы можете использовать функциональность Docker для создания сетевых мостов между контейнерами и настроить правила перенаправления трафика на уровне операционной системы внутри каждого контейнера.

Вот подробные шаги, которые вам понадобятся для выполнения этой задачи:

1. Создайте сетевой мост для связи двух контейнеров. Вы можете сделать это с помощью команды docker network create, например:

   docker network create my_bridge_network

2. Запустите контейнер с сервером sstp с использованием созданной сети. Для этого вам нужно будет подключить контейнер к сети с помощью параметра --network, например:

   docker run --name sstp_server --network my_bridge_network my_sstp_image

Вместо my_sstp_image укажите имя вашего образа контейнера sstp.

3. Запустите контейнер с клиентом shadowsocks-libev, также подключив его к созданной сети, например:

   docker run --name shadowsocks_client --network my_bridge_network my_shadowsocks_image

Здесь my_shadowsocks_image - это имя вашего образа контейнера shadowsocks-libev.

4. В контейнере с сервером sstp настройте правила перенаправления трафика на уровне операционной системы. Для этого войдите в контейнер с помощью команды docker exec, например:

   docker exec -it sstp_server bash

5. Внутри контейнера настройте перенаправление трафика с использованием утилиты iptables. Например, чтобы перенаправить весь исходящий TCP-трафик на контейнер shadowsocks-libev, выполните следующую команду:

   iptables -t nat -A OUTPUT -p tcp -j DNAT --to-destination shadowsocks_client:1080

Здесь shadowsocks_client - это имя контейнера shadowsocks-libev, а 1080 - порт, на котором shadowsocks-libev прослушивает входящие подключения.

6. Выходите из контейнера.

Теперь все исходящие TCP-подключения из контейнера sstp должны быть автоматически перенаправлены через контейнер shadowsocks-libev.

Обратите внимание, что вам также понадобится правильно настроить контейнер shadowsocks-libev, чтобы он работал как клиент с нужными параметрами шифрования и сервером shadowsocks на удаленном хосте. Эти настройки зависят от вашей конкретной конфигурации и того, какую версию shadowsocks вы используете.

Также учтите, что это общая концепция настройки перенаправления трафика между контейнерами Docker. Ваша конкретная реализация может отличаться в зависимости от вашего окружения и требований.