LINUX.ORG.RU
решено ФорумAdmin

vpn для отдельных приложений/браузера (чтобы не ломал марштуты)

 , , ,


1

1

Добрый день. Система Mint с развернутым Nextcloud + ssh с статическим внешним IP, одно подлючение Wifi через networkmanager. А так же свой VPN/VDS. При подключении к VPN через NM, система из вне становится не доступна (NM автоматом меняет маршруты). Т.к. роутер старый, к нему vpn и маршруты не прикрутить. Если прокси на VDS, то ютуб и прочее блокируется. Пытаюсь понять, как определенный браузер использовать через VPN, что бы остальной трафик шел на прямую. Как я понял требуется локальный прокси, который заворачивает свой трафик в VPN. В одном решении VPN+proxy не нашел. Вот и вопрос как это правильно реализовать, а точнее даже, как к этой проблеме подступиться, что бы начать искать решение? Виртуалку как шлюз под это делать не хочется, т.к. оперативной памяти всего 8 гб. Возможно есть решение в docker, но я пока не нашел.

default         _gateway        0.0.0.0         UG    600    0        0 wlp1s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.2.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp1s0


default         _gateway        0.0.0.0         UG    50     0        0 tun0
default         _gateway        0.0.0.0         UG    600    0        0 wlp1s0
10.8.0.0        0.0.0.0         255.255.255.0   U     50     0        0 tun0
vm3727939.stark _gateway        255.255.255.255 UGH   50     0        0 wlp1s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.2.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp1s0
_gateway        0.0.0.0         255.255.255.255 UH    50     0        0 wlp1s0


Последнее исправление: CrX (всего исправлений: 1)

На гитхабе нашёл чего то похожее в докере. Proxy through VPN connection in a Docker container https://github.com/ducmthai/vpn-as-a-container . Кто-то использует данное решение? Где найти информацию по контейнерам docker, если из знаний : что они только существуют

Philip2007
() автор топика

При подключении к VPN через NM, система из вне становится не доступна (NM автоматом меняет маршруты).

Подключайся не через NM, или настрой так, чтоб не менял.

Вот эти два правила лишние:

default         _gateway        0.0.0.0         UG    50     0        0 tun0
vm3727939.stark _gateway        255.255.255.255 UGH   50     0        0 wlp1s0

Скорее всего они прилетели от VPN сервера. Что у тебя за VPN сервер/клиент и что в их конфигах?

Как я понял требуется локальный прокси, который заворачивает свой трафик в VPN.

Нет, прокси нужно ставить на VDS (там же, где VPN-сервер). Его адрес (10.8.0.x) прописать в настройках веб-браузера.

Виртуалку как шлюз под это делать не хочется, т.к. оперативной памяти всего 8 гб. Возможно есть решение в docker, но я пока не нашел.

Так тоже можно, но зачем эти сложности.

MirandaUser2
()
Последнее исправление: MirandaUser2 (всего исправлений: 1)
Ответ на: комментарий от MirandaUser2

Спасибо. Прокси на vds ставил, трафик идёт, но YouTube блокируется. Поэтому на стороне локальной системы надо в vpn заворачивать. Vless так же поднят, но там требуется 443 порт, так что в эту сторону пока не смотрю. Есть риск, что будет nextcloud отваливаться, т.к. тоже на 443 сидит

Philip2007
() автор топика
Ответ на: комментарий от Philip2007

Прокси на vds ставил, трафик идёт, но YouTube блокируется.

Или вы что-то не так ставили или на вашем vds таки YouTube блокируется и тогда все ваши старания не имеют смысла.

anc ★★★★★
()

Один из вариантов.
1. Поднимаете прокси на своем VDS на каком-то сером адресе ( можно и на внешнем но не забудьте про fw тогда, а это имхо для вас будет сложнее), например на внутреннем адресе vpn сервера если таковой имеется.
2. В vpn заворачиваете сеть этого самого серого адреса.
3. В браузере прописываете серый адрес вашего прокси из пункта 1.
4. Профит.

anc ★★★★★
()
Ответ на: комментарий от Philip2007

Спасибо. Прокси на vds ставил, трафик идёт, но YouTube блокируется.

Давай по пунктам:
1) В настройках веб-браузера был прописан публичный адрес proxy-сервера (адрес VDS) или из vpn-подсети 10.8.0.0? Если первое, то значит трафик шел мимо VPN-туннеля и как следствие блокировался.
2) у тебя в принципе youtube когда-либо успешно работал через твой VPN-сервер?

MirandaUser2
()
Ответ на: комментарий от MirandaUser2

добрый день. Если просто OpenVPN подключение через NM через свой VDS на всю систему, то youtube и прочее работает, так же как и через VLESS. Но тут получаю проблему с недоступностью системы из вне. Если через прокси (3proxy) на VDS, то в браузере через прокси интернет есть, а Youtube нет. Т.е. провайдер блокирует видя трафик. В браузере прописывал внешний ip прокси, а не vpn-подсети

Philip2007
() автор топика
Ответ на: комментарий от anc

Тут, как бы, вариантов правильно сделать других нет. Или страдать с проксями, или policy based routing.

Новый роутер, который гарантированно позволит такое сделать, по цене находится между 5 и 10 рублями, то есть по цене «посидеть вдвоем в кабаке».

pekmop1024 ★★★★★
()
Ответ на: комментарий от Philip2007

Если просто OpenVPN подключение через NM через свой VDS на всю систему, то youtube и прочее работает, так же как и через VLESS.

отлично.

Но тут получаю проблему с недоступностью системы из вне

чтобы решить эту проблему нужно перенастроить NetworkManager и/или vpn-server.

Если тебе нужно обязательно через NM, то я бы попробовал эту команду:

nmcli connection modify <connection_name> ipv4.never-default yes ipv6.never-default yes

ссылка

Если через прокси (3proxy) на VDS, то в браузере через прокси интернет есть, а Youtube нет. Т.е. провайдер блокирует видя трафик. В браузере прописывал внешний ip прокси, а не vpn-подсети

Об этом тебе и писали тут неоднократно: 3proxy нужно поднимать на «сером» IP (из подсети 10.8.0.0) и его же прописывать в веб-браузере, чтобы проксируемый трафик шёл через VPN-туннель.

MirandaUser2
()
Ответ на: комментарий от pekmop1024

Тут, как бы, вариантов правильно сделать других нет. Или страдать с проксями, или policy based routing.

Это понятно, но я про осиляторство самого ТС спрашивал, все-таки проксю куда как проще настроить.

anc ★★★★★
()

Есть переменные, которые нормальный софт подхватывает и использует. Что по указанным адресам будет обеспечивать туннель — вопрос уже совершенно другой.

mord0d ★★★★★
()

Если прокси на VDS, то ютуб и прочее блокируется.

Кем блокируется? Если пров то просто засунь свой прокси внутрь ссх и не парься.

ya-betmen ★★★★★
()
Ответ на: комментарий от Philip2007

Но тут получаю проблему с недоступностью системы из вне.

А, ну тут все просто, выше вам написали волшебные слова «Читай про policy-based routing.»

anc ★★★★★
()

Можно в докере, можно сразу в системе. Смотри реализации на расте, там один бинарь и нормальная совместимость.

Для iptables был плагин, который позволял создавать правила по имени процесса который генерит трафик. Еше можно запускать приложения в своем прсотранстве имен со своей сетью. Все клиенты shadowsocks и xray умеют заворачивать трафик одтельных приложений в впн.

usermod
()

Еще обрати внимание на ДНС

Резолвиться может по разному в зависимости от геопозиции (IP)

Если ДНС местный и IP сервера получишь региональный, а ходить на него будешь из др. страны через VPN, может и не пустить.

futurama ★★★★★
()

Всем добра. Самое простое решение нашел: Nekobox на github в деб-пакете, v-less на vds и так развернут. Openvpn ковырять не стал сильно. Система остается доступна из вне. Возможно это не то, что я описывал в начале, но мою проблему решило.

Philip2007
() автор топика

Система Mint с развернутым Nextcloud

Nextcloud поднимать не нужно, он есть готовый - https://disroot.org/ru

А так же свой VPN/VDS.

В них нет необходимости, готовые работают.

Т.к. роутер старый, к нему vpn и маршруты не прикрутить.

Купить новый, тогда можно будет прикрутить.

Пытаюсь понять, как определенный браузер использовать через VPN, что бы остальной трафик шел на прямую

Автонастройка прокси или VPN https://antizapret.prostovpn.org/ только когда не пущают. Если очень хочется - можно на своем серваке развернуть их докер имидж. Но не нужно. А для ютуба - программа youtubeUnblock на линукс или роутер, или Goodbyedpi на винду.

anonymous
()