Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Пустить трафик только 1 программы через VPN

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

koresh_nash

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кратко:
 
Имеется клиентская тачка ubuntu. Необходимо подключаться кратко+параллельно к сотням разных VPN серверов, не трогая route. В VPN должен идти только трафик избранной программы (wget), а не весь с компа. Сессии могут быть краткими (подключились, скачали, отключились) или постоянными, все равно.
 
-------------------------------------
 
Подробно:
 
Имеется СЕРВЕР (роутер dd-wrt) со службами: OpenVPN server, PPPoE Server, PPTP Server. Другое добавить нельзя.
 
Имеется КЛИЕНТ (Ubuntu тачка), где нельзя трогать роутинг. Если включить стандартный openvpn клиент, то весь трафик через tun устройство уйдет на СЕРВЕР, а не туда, куда там трафик сейчас направлен.
 
На тачке КЛИЕНТА требуется запустить простую программу (типа curl, wget, php, bash), чтобы та общалась с инетом через СЕРВЕР. Конкретная задача: на клиенте по крону скачивают файл с инета (URL заранее неизвестен), обязательно проксируя трафик через СЕРВЕР. Можно устанавливать краткосрочные сессии, можно держать постоянно подключенный канал. Программы, которые запускаются (типа curl) умеют выбирать локальный IP, с которого идти в сеть, либо умеются соединяться с socks/http прокси. Увы, никакие подобные программы не в состоянии вместо настроек прокси принять vpn конфиг с ключами, чтобы соединиться (не трогая route), скачать данные и уничтожить канал.
 
Искомые решения:  
1) аналог curl/wget или либа на php, которая вместо HTTP/SOCKS прокси может к OpenVPN серверу подключиться
2) с PPPoE и PPTP не знаком, можно ли их настроить на нужное мне?
3) нестандартный openvpn клиент, который не трогает route, зато создает локальный прокси, к которому можно подключаться при необходимости
 
Искомое решение должно быть простым, без сложных настроек роутинга. В теории я понимаю, как openvpn клиента приспособить: запустить его и восстановить оригинальный роутинг каким-то своим костылем. Но не хочется этого делать, слишком велика опасность, что openvpn заново роутинг построит куда не нужно. Зато решение простое: curl спокойно через --bind <IP> выберет особую сетевую карту без необходимости менять route.
 
stunnel - отличное решение, но на DD-WRT не поставить Stunnel server (или можно?).
 
SSH server и туннель - шикарное готовое решение. Но на DD-WRT нет возможности создать второго не рутового юзера. Получится, что КЛИЕНТ будет знать рутовый пароль или ssh ключ рутового юзера, что недопустимо. Или можно создать второго нерутового юзера?
 
Обычный прокси squid в теории можно поставить. Но это сложно, требуется флешка, жалко роутера и большое опасение - перехват пароля от прокси, т.к. он ничего не шифрует. Можно (?) поставить какой-то легкий прокси (не squid), если есть. Но шифрования все равно не будет.
 
----------------
 
Под винду у меня это все работает. Не совсем так, но аналог. Пишу, может кому пригодится. Всего 3 инструмента:
1) Обычный http прокси. Что угодно. Отключаем там кеширование.
2) ForceBindIP.exe - запускает через себя другую программу, указывая, через какой локальный интерфейс (IP) ей идти в инет.
3) Запущенный OpenVPN, который подменил route на себя, целиком.
 
В такой схеме весь трафик по умолчанию идет через vpn. Но запущен прокси через ForceBindIP. Поэтому все, кто подключаются к проксе, пойдут в инет без vpn. Большинство программ умеет работать через прокси, поэтому просто выставляем: использовать прокси (без VPN) или не использовать (VPN будет). Есть небольшие проблемы, что chrome берет глобальные настройки прокси, но это решается через аргументы командной строки. Chrome через ForceBindIP не работает.
 
Более простой софт можно смело запускать через ForceBindIP, который пустит весь трафик через иной интерфейс, на случай, если они не умеют работают с локальными проксями (не из глобальных настроек windows).
 
Косяк только со скайпом - ни прокси нет, ни ForceBindIP не работает.
 
Мне же требуется реализовать схему, как на винде, только с тремя отличиями:
а) route не трогаем
б) избранный софт через прокси пускаем трафик в vpn канал
в) под ubuntu

Всего записей: 38 | Зарегистр. 09-09-2002 | Отправлено: 23:39 03-05-2019
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Пустить трафик только 1 программы через VPN


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru