Перейти к содержанию

Вопрос

Опубликовано (изменено)

Всем привет. У меня такой Use Case.

 

Имеется два проводных выхода в интернет (через Ethernet). Хочу настроить Multi WAN, чтобы один канал был основным, второй резервным. По умолчанию приложения ходили в интернет через основной, когда он отваливается - начинали ходить через резервный.

Но при это я хочу чтобы некоторые приложения (например браузер Chrome) ВСЕГДА ходили только через резервный. Я это вижу через поднятие Proxy Server на роутере, который бы был настроен на резервный канал. А в нужных мне приложениях просто прописывал бы этот прокси.

 

Реально ли такое на Keenetic? Беглый гуглинг не показал наличие Proxy Server в Keenetic. Может есть другой способ, не через Proxy?

 

p.s. Если что, устройство у меня ещё не куплено, в профиле отмечено, т.к. форум потребовал. Рассматриваю его к покупке, если там можно сделать реализовать такое.

Изменено пользователем Krabik

Рекомендуемые сообщения

  • 0
Опубликовано

Насчёт первой половины вопроса. Нет никаких проблем.

А вот на счет прокси не всё так просто. Если только что-то придумать с пакетами через OPKG.

  • 0
Опубликовано
8 часов назад, Krabik сказал:

Беглый гуглинг не показал наличие Proxy Server в Keenetic.

Squid, 3proxy из Entware. Второй лучше, легкий, проще настраивается.

  • 0
Опубликовано (изменено)

Но вот будет ли это потом работать так как задумал автор? Чтоб через второй неактивный интерфейс ходить через прокси? Или придётся режим балансировки включать и настраивать. Но будет ли такой режим отрабатывать в случае отваливания инета на основном? Больше вопросов чем ответов.

Изменено пользователем keenet07
  • 0
Опубликовано
11 час назад, Krabik сказал:

Всем привет. У меня такой Use Case.

 

Имеется два проводных выхода в интернет (через Ethernet). Хочу настроить Multi WAN, чтобы один канал был основным, второй резервным. По умолчанию приложения ходили в интернет через основной, когда он отваливается - начинали ходить через резервный.

Но при это я хочу чтобы некоторые приложения (например браузер Chrome) ВСЕГДА ходили только через резервный. Я это вижу через поднятие Proxy Server на роутере, который бы был настроен на резервный канал. А в нужных мне приложениях просто прописывал бы этот прокси.

 

Реально ли такое на Keenetic? Беглый гуглинг не показал наличие Proxy Server в Keenetic. Может есть другой способ, не через Proxy?

 

p.s. Если что, устройство у меня ещё не куплено, в профиле отмечено, т.к. форум потребовал. Рассматриваю его к покупке, если там можно сделать реализовать такое.

Посмотрите

1. Возможность поднимать alias на сетевой Windows - два IP

2. Почитать - Bind any Windows application to a specific interface or IP address

https://r1ch.net/projects/forcebindip

https://vmblog.ru/kak-privyazat-prilozhenie-k-opredelennomu-setevomu-interfejsu/

ForceBindIP.exe 192.168.1.12 "c:\Program Files (x86)\Mozilla Firefox\firefox.exe"

3. NetSetMan программа, которая позволяет создавать профили (всего 6 профилей) дял сетевых подключений и быстро переключаться между ними.

4. То что может ПО роутера

Может что-то и получаться.

  • 0
Опубликовано
4 часа назад, keenet07 сказал:

Чтоб через второй неактивный интерфейс ходить через прокси?

Он всегда активен. Просто через него не проходит маршрут по умолчанию. А проксировать пакеты на него используя 3proxy можно. Желательно купить услугу "белый IP" для обоих WAN.

Вот рабочий конфиг 3proxy

daemon
pidfile /opt/var/run/3proxy.pid
nscache 65536
nserver 127.0.0.1

config /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/counters
monitor /opt/etc/3proxy/passwd
monitor /opt/etc/3proxy/bandlimiters

log /opt/var/log/3proxy.log D
rotate 60
counter /opt/etc/3proxy/3proxy.3cf

#users $/opt/etc/3proxy/passwd

include /opt/etc/3proxy/counters
include /opt/etc/3proxy/bandlimiters

auth strong
deny * * 127.0.0.1
allow *
proxy -n

auth none
allow *
proxy -d -iLOCAL.IP.ADDRESS -p5080 -eEXTERNAL.IP.ADDRESS -n
socks -d -iLOCAL.IP.ADDRESS -p5081 -eEXTERNAL.IP.ADDRESS
flush

allow admin
admin -p8080

 

  • 0
Опубликовано
1 hour ago, vadimbn said:

Он всегда активен. Просто через него не проходит маршрут по умолчанию. А проксировать пакеты на него используя 3proxy можно. Желательно купить услугу "белый IP" для обоих WAN.

Вот рабочий конфиг 3proxy


daemon
pidfile /opt/var/run/3proxy.pid
nscache 65536
nserver 127.0.0.1

config /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/counters
monitor /opt/etc/3proxy/passwd
monitor /opt/etc/3proxy/bandlimiters

log /opt/var/log/3proxy.log D
rotate 60
counter /opt/etc/3proxy/3proxy.3cf

#users $/opt/etc/3proxy/passwd

include /opt/etc/3proxy/counters
include /opt/etc/3proxy/bandlimiters

auth strong
deny * * 127.0.0.1
allow *
proxy -n

auth none
allow *
proxy -d -iLOCAL.IP.ADDRESS -p5080 -eEXTERNAL.IP.ADDRESS -n
socks -d -iLOCAL.IP.ADDRESS -p5081 -eEXTERNAL.IP.ADDRESS
flush

allow admin
admin -p8080

 

А зачем белые IP?

  • 0
Опубликовано (изменено)

А безопаснее вот так (нет соединений на внешних интерфейсах):

daemon
pidfile /opt/var/run/3proxy.pid
nscache 65536
nserver 127.0.0.1

config /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/counters
monitor /opt/etc/3proxy/passwd
monitor /opt/etc/3proxy/bandlimiters

log /opt/var/log/3proxy.log D
rotate 60
counter /opt/etc/3proxy/3proxy.3cf

#users $/opt/etc/3proxy/passwd

include /opt/etc/3proxy/counters
include /opt/etc/3proxy/bandlimiters

auth none
allow *
proxy -d -iLOCAL.IP.ADDRESS -pPORT_HTTP_HTTPS_FTP -eEXTERNAL.IP.ADDRESS -n
socks -d -iLOCAL.IP.ADDRESS -pPORT_SOCKS -eEXTERNAL.IP.ADDRESS
flush

allow admin
admin -iLOCAL.IP.ADDRESS -pPORT_ADMIN

LOCAL.IP.ADDRESS - локальный IP-адрес роутера (например, 192.168.1.1)

EXTERNAL.IP.ADDRESS - реальный IP-адрес WAN-интерфейса

PORT_HTTP_HTTPS_FTP - порт для проксирования протоколов HTTP, HTTPS, FTP, не занятый другими протоколами (например, 5080)

PORT_SOCKS - порт для проксирования SOCKS 4/5, не занятый другими протоколами (например, 5081)

PORT_ADMIN - порт страницы администрирования прокси-сервера, на которой, впрочем, нет почти ничего интересного.

Это простейший конфиг, в 3proxy много опций для запретов/разрешений, можно ограничивать доступ с некоторых IP, и прочее.

Изменено пользователем vadimbn
  • 0
Опубликовано
57 минут назад, Krabik сказал:

А нельзя ли привязываться не к IP, а к интерфейсам?

В 3proxy я таких опций не нашел. Возможно в squid есть

 

53 минуты назад, keenet07 сказал:

Если вместо ip адреса WAN-интерфейса указать адрес полученный VPN соединением на роутере, тоже будет работать?

Mаршрутизируемый адрес нужен. Наиболее простой путь - делаем VPN-соединение, ставим при этом галочку "Использовать для выхода в Интернет", появляется еще одно соединение. Тогда адрес этого соединения можно указывать в 3proxy. Сложнее - надо будет мутить с маршрутами или iptables.

  • 0
Опубликовано

Народ, подскажите, подскажите, почему через второй интерфейс (192.168.0.190) нет доступа к сети, что прописал не так?

nscache 65536

nserver 8.8.8.8

config /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/3proxy.cfg

log /opt/var/log/3proxy-%y%m%d.log D
rotate 60
counter /opt/var/3proxy.3cf

users $/opt/etc/3proxy/passwd

include /opt/etc/3proxy/counters
include /opt/etc/3proxy/bandlimiters

auth none
allow *

socks -d -i192.168.1.1 -p5081 -e192.168.2.162 -n
socks -d -i192.168.1.1 -p5082 -e192.168.0.190

flush

allow admin
admin -p8080

  • 0
Опубликовано

Была задача как у топикстартера - иметь прокси для выхода через резервный модем.

У 3proxy есть отличный ключ -De, который позволяет строить исходящий канал через указанный интерфейс.

 

Получился такой конфиг:

nscache 65536
nserver 8.8.8.8
nserver 8.8.4.4

daemon

config /opt/etc/3proxy/3proxy.cfg
monitor /opt/etc/3proxy/3proxy.cfg

log /opt/var/log/3proxy-%y%m%d.log D
rotate 60
counter /opt/var/3proxy.3cf

#users $/opt/etc/3proxy/passwd
users User:CL:Pass

include /opt/etc/3proxy/counters
include /opt/etc/3proxy/bandlimiters

auth strong
deny * * 127.0.0.1
allow User * * * * * *
proxy -i192.168.1.1 -p3128 -n -a -Deqmi_br0
flush
allow admin

admin -p8080

qmi_br0 - название интерфейса LTE модема.

192.168.1.1 - IP роутера

  • 0
Опубликовано
В 08.12.2019 в 01:25, Krabik сказал:

Но при это я хочу чтобы некоторые приложения (например браузер Chrome) ВСЕГДА ходили только через резервный.

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

И никакой SOCKS-прокси не понадобится.

  • 0
Опубликовано
В 23.12.2022 в 08:55, Александр Рыжов сказал:

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

И никакой SOCKS-прокси не понадобится.

Александр, спасибо за интересное решение! Попробовал его реализовать, но в моем случае я пытаюсь завернуть трафик приложения не в VPN туннель, а во второго провайдера. У меня на одном порту через CLI на разных VLAN настроены два провайдера. 

В выводе ifconfig они отображаются как eth3.10 и eth3.20 соответственно, при этом eth3.10 имеет бОльший приоритет, он основной. Сделал все в точности по инструкции, указал во втором скрипте интерфейс eth3.20. 

По диагностике tcpdump не нулевой, ip rule list правило выдает

Маршрут так же есть 

~ # ip route list table 1001
default dev eth3.20 scope link

Правило netfilter тоже есть

~ # iptables-save | grep dscp
-A PREROUTING -i br0 -m dscp --dscp 0x3f -j MARK --set-xmark 0x1/0xffffffff
 

Но при этом траффик все равно упорно идет через основного провайдера на интерфейсе eth3.10

Второй провайдера работает, настроен верно, если перекинуть хост в другую политику, он работает через провайдера eth3.20

 

Не знаете, в чем может быть дело? В какую сторону копать? Маскирование получается работает, просто почему-то не заворачивается траффик в нужный интерфейс

  • 0
Опубликовано (изменено)
2 часа назад, Plox99 сказал:

Попробовал его реализовать, но в моем случае я пытаюсь завернуть трафик приложения не в VPN туннель, а во второго провайдера. У меня на одном порту через CLI на разных VLAN настроены два провайдера. 

В какую сторону копать?

Делала как то давно, проверил сейчас для 5.х (есть отличие от 4.х, так как теперь по MAC)

Спойлер

Беру две готовые политики в которых активен нужный канал (провайдера). Нужный клиент - E8:КЛИЕНТ:74 и он в ОСНОНОЙ политике. Есть приложение на данном клиенте Windows торрент и для него создан DSCP = 0x3F и просто браузер для интернета.

Далее

#!/bin/sh

[ "$table" != "mangle" ] && exit 0

if [ -z "$(iptables-save | grep 'dscp')" ]; then
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -j RETURN
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -m dscp --dscp 0x3f -j MARK --set-xmark 0xffffaaa/0xffffffff
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -j MARK --set-xmark 0xffffaab/0xffffffff

fi
exit 0


Chain _NDM_HOTSPOT_PREROUTING_MANGL (1 references)
 pkts bytes target     prot opt in     out     source               destination
 6547 1327K MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 MARK set 0xffffaab
 1486  188K MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 DSCP match 0x3f MARK set 0xffffaaa
 6547 1327K CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 CONNMARK save
 6547 1327K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74

При выкл. торрент качалке на клиенте

Chain _NDM_HOTSPOT_PREROUTING_MANGL (1 references)
 pkts bytes target     prot opt in     out     source               destination
   13  2578 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 MARK set 0xffffaab
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 DSCP match 0x3f MARK set 0xffffaaa
   13  2578 CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 CONNMARK save
   13  2578 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74

политика 1 = 0xffffaaa - ppp0 интерфейс - Инет1

политика 2 = 0xffffaab - eth2.9 интерфейс - Инет2

Запускаю скачку из браузера с mail.ru/yandex.ru диска (файл чуть более 1GB, через некоторое время включал еще раз) и потом торрент качалку (файл 50GB). 

-2.thumb.jpg.1f61c58e7228e5435aa375723fe0961e.jpg

 

Изменено пользователем vasek00
  • 0
Опубликовано
3 часа назад, vasek00 сказал:

Делала как то давно, проверил сейчас для 5.х (есть отличие от 4.х, так как теперь по MAC)

  Скрыть контент

Беру две готовые политики в которых активен нужный канал (провайдера). Нужный клиент - E8:КЛИЕНТ:74 и он в ОСНОНОЙ политике. Есть приложение на данном клиенте Windows торрент и для него создан DSCP = 0x3F и просто браузер для интернета.

Далее

#!/bin/sh

[ "$table" != "mangle" ] && exit 0

if [ -z "$(iptables-save | grep 'dscp')" ]; then
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -j RETURN
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -m dscp --dscp 0x3f -j MARK --set-xmark 0xffffaaa/0xffffffff
 iptables -t mangle -I _NDM_HOTSPOT_PREROUTING_MANGL -m mac --mac-source E8:КЛИЕНТ:74 -j MARK --set-xmark 0xffffaab/0xffffffff

fi
exit 0


Chain _NDM_HOTSPOT_PREROUTING_MANGL (1 references)
 pkts bytes target     prot opt in     out     source               destination
 6547 1327K MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 MARK set 0xffffaab
 1486  188K MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 DSCP match 0x3f MARK set 0xffffaaa
 6547 1327K CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 CONNMARK save
 6547 1327K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74

При выкл. торрент качалке на клиенте

Chain _NDM_HOTSPOT_PREROUTING_MANGL (1 references)
 pkts bytes target     prot opt in     out     source               destination
   13  2578 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 MARK set 0xffffaab
    0     0 MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 DSCP match 0x3f MARK set 0xffffaaa
   13  2578 CONNMARK   all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74 CONNMARK save
   13  2578 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            MAC E8:КЛИЕНТ:74

политика 1 = 0xffffaaa - ppp0 интерфейс - Инет1

политика 2 = 0xffffaab - eth2.9 интерфейс - Инет2

Запускаю скачку из браузера с mail.ru/yandex.ru диска (файл чуть более 1GB, через некоторое время включал еще раз) и потом торрент качалку (файл 50GB). 

-2.thumb.jpg.1f61c58e7228e5435aa375723fe0961e.jpg

 

Интересно, спасибо! Подскажите, а где как посмотреть идентификаторы политик? (0xffffaaa и 0xffffaab в Вашем примере)? 

  • 0
Опубликовано

Пордон, тупой вопрос задал, разобрался, по сути у меня плюс минус тоже самое, просто без MAC, добавил, ничего не изменилось, видимо проблема все таки именно в маршрутизации

  • 0
Опубликовано

Победил, пришлось добавить сам хост в политику с многопутевой передачей, после этого траффик приложения начал работать по нужному провайдеру.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.