LINUX.ORG.RU
ФорумAdmin

несколько SOCKS5 портов на разные сетевые интерфейсы

 , ,


0

1

Есть такая задача, есть ноутбук с несколькими 3г модемами , нужно создать SOCKS5 proxy порт для каждого сетевого интерфейса и пробросить на сервер, т.ч. подключившись к соответствующим портам на сервере пакеты вышли из модемных интерфейсов на ноутбуке.

Написал такой скрипт https://pastebin.com/0y6ECN1e

который создает пользователей и генерит iptables конфигурацию, вот пример

https://pastebin.com/ysXfv3gS

Но в таком раскладе если я делаю просто $sudo runuser -l ip2@localhost $ ssh -D 22102 localhost

а потом curl --socks5 localhost:22102 check-host.net/ip то соединение просто отваливается по таймауту

Что я делаю не так? Как исправить таблицу маршрутизации чтобы просто заработал мой пример? Дальше я планирую его пробросить через ssh server_ip -R 10102:localhost:22102 и уже использовать curl --socks5 server_ip:10102 check-host.net/ip

кто возьмется это реализовать в короткие сроки (сегодня) готов обсуждать достойную оплату.


У тебя в таблице маршрутизации три маршрута по умолчанию, по одному через каждый свисток. Так не пойдет. Мне кажется проще всего запустить три контейнера, в каждый контейнер засунуть по свистку. Тогда в каждом контейнере будет по одному маршруту по умолчанию. Для связи контейнеров с локалкой в каждый контейнер также добавить по одному veth, который на хосте сбриджевать с хостовым интерфейсом локалки. В каждом контейнере запустить по одному socks серверу.

Например для systemd-nspawn это будет выглядеть как-то так для одного контейнера:

systemd-nspawn --private-network --network-interface=ppp0 --network-bridge=br0 /usr/sbin/socksd

На хосте локалочный интерфейс должен находиться в бридже br0.

iliyap ★★★★★
()

Не понял зачем такой огород с пользователями. Если в начале темы ничего не пропущено то просто в поиск на тему нескольких провайдеров вам нужен iproute2+iptables. Тем ну просто очень много.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.