Jump to content
  • 70

Злободневно: маршрутизация определенного трафика (напр., Instagram) через определенный интерфейс (напр., OpenVpn)


flanders

Question

30 answers to this question

Recommended Posts

  • 1

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

Миску риса и кошка жену господину выше!

Спасибо!

Edited by Xambey
  • Upvote 1
  • Y'r wrong 1
Link to comment
Share on other sites

  • 1
6 часов назад, who сказал:

Почему не работает статическая маршрутизация если клиента запихнуть в политику подключений которая создана пользователем? Статические маршруты работают только с политикой по умолчанию. Условно у меня есть впн зарубежный. Я создал политику доступа в которой использую зарубежный впн интерфейс. Если я укажу клиенту использовать эту политику тогда статические маршруты не подтягиваются. Почему статические маршруты работают только в политике по умолчанию? Может можно как то через cli такое разрулить?

Любая политика - это маршрутизация через нужный интерфейс. Клиент находится в созданной политики например WARP в моем случае это таблица маршрутизации 42, вторая политика это для Proton и его таблица 44 (в ней данного клиента нет, интерфейс nwg4) но канал активен. Нужно направить wildberries.ru например на Proton для данного клиента который в политике WARP. Идем в WEB на маршрутизацию и прописываем нужные два маршрута :

ip route 185.138.0.0 255.255.0.0 Wireguard4 auto reject !wbl-2
ip route 185.62.200.0 255.255.254.0 Wireguard4 auto reject !wbl-1

в итоге имеем

show ip route table 44

{
    "route": [
        {
            "destination": "0.0.0.0/0",
            "gateway": "0.0.0.0",
            "interface": "Wireguard4",
            "metric": 0,
            "flags": "U",
            "rejecting": false,
            "proto": "boot",
            "floating": false,
            "static": false
        },
...
       {
            "destination": "185.62.200.0/23",
            "gateway": "0.0.0.0",
            "interface": "Wireguard4",
            "metric": 0,
            "flags": "U",
            "rejecting": false,
            "proto": "boot",
            "floating": false,
            "static": false
        },
        {
            "destination": "185.138.0.0/16",
            "gateway": "0.0.0.0",
            "interface": "Wireguard4",
            "metric": 0,
            "flags": "U",
            "rejecting": false,
            "proto": "boot",
            "floating": false,
            "static": false
        },
...
    "prompt": "(config)"
}

show ip route table 42


{
    "route": [
        {
...
        {
            "destination": "185.62.200.0/23",
            "gateway": "0.0.0.0",
            "interface": "Wireguard4",
            "metric": 0,
            "flags": "U",
            "rejecting": false,
            "proto": "boot",
            "floating": false,
            "static": false
        },
        {
            "destination": "185.138.0.0/16",
            "gateway": "0.0.0.0",
            "interface": "Wireguard4",
            "metric": 0,
            "flags": "U",
            "rejecting": false,
            "proto": "boot",
            "floating": false,
            "static": false
        },
...
    "prompt": "(config)"
}

 

Edited by vasek00
Link to comment
Share on other sites

  • 0
В 09.04.2022 в 22:19, Xambey сказал:

список хостов, которые будут ходить через определенный интерфейс (vpn например), невероятно актуальная фича!!!

Именно в таком виде (привязка хост-подключение) невероятно актуальная фича давно реализована и прекрасно работает. См. раздел управления "приоритеты подключений"

  • Y'r wrong 1
Link to comment
Share on other sites

  • 0
2 минуты назад, t800 сказал:

Именно в таком виде (привязка хост-подключение) невероятно актуальная фича давно реализована и прекрасно работает. См. раздел управления "приоритеты подключений"

image.thumb.png.b8efc90f74f76bc6fa1d860b88808253.png

Где я тут могу ввести список доменов для которых будет использовано определенное подключение?

Link to comment
Share on other sites

  • 0
6 минут назад, Xambey сказал:

image.thumb.png.b8efc90f74f76bc6fa1d860b88808253.png

Где я тут могу ввести список доменов для которых будет использовано определенное подключение?

Где в вашем исходном сообщении вы пишете о доменах? Цитата: "Очень хочется иметь возможность создать список хостов, которые будут ходить через определенный интерфейс (vpn например)". 

Link to comment
Share on other sites

  • 0
10 минут назад, Xambey сказал:

image.thumb.png.b8efc90f74f76bc6fa1d860b88808253.png

Где я тут могу ввести список доменов для которых будет использовано определенное подключение?

а каким образом пускать один и тот же хост на разные домены на разных каналах?*

Link to comment
Share on other sites

  • 0
Только что, enterfaza сказал:

а каким образом пускать один и тот же хост на разные домены на разных каналах?

Только маршрутизацией по подсетям.

Link to comment
Share on other sites

  • 0
9 минут назад, t800 сказал:

Где в вашем исходном сообщении вы пишете о доменах? Цитата: "Очень хочется иметь возможность создать список хостов, которые будут ходить через определенный интерфейс (vpn например)". 

Каюсь, описался. Речь шла о маршрутизации для определенных доменов (условно, хочу чтобы https://youtube.com всегда ходил через vpn подключение), сейчас есть маршрутизация только по ip адресам для подключений. В целом в вопросе темы это и описано. Крайне нужный функционал уже становится и будет становиться еще актуальнее... У меня есть прокси сервера через которые я обхожу блокировки, там уже несколько сотен доменов и их число неукоснительно растет, хочется маршрутизировать это все на уровне домашней сети для всех устройств и проводить через vpn этот список

Edited by Xambey
Link to comment
Share on other sites

  • 0

@Xambeyтакого функционала нет, увы. Я решил это "от противного": всё по дефолту идёт в VPN за исключением тех ресурсов, которые через VPN работать отказываются. Благо их не так много.

Link to comment
Share on other sites

  • 0
17 минут назад, t800 сказал:

@Xambeyтакого функционала нет, увы. Я решил это "от противного": всё по дефолту идёт в VPN за исключением тех ресурсов, которые через VPN работать отказываются. Благо их не так много.

ну вот да, а хотелось бы. Условно, если у нас останется доступен один только ютуб снаружи, то не хотелось бы его трафик пускать по vpn, слишком много ест. Спасибо за понимание!

Link to comment
Share on other sites

  • 0
1 час назад, Mihalych28 сказал:

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

Смените свой VPN на другой на котором работает.

Или

~ # nslookup avito.ru
Server:    192.168.1.1
Address 1: 192.168.1.1

Name:      avito.ru
Address 1: 146.158.52.24
Address 2: 146.158.48.24
Address 3: 146.158.54.24

~ # whois -h whois.radb.net 146.158.52.24
route:          146.158.52.0/24
origin:         AS201012
mnt-by:         MNT-AVITO
created:        2019-02-14T13:28:28Z
last-modified:  2019-02-14T13:28:28Z
source:         RIPE
remarks:        ****************************
remarks:        * THIS OBJECT IS MODIFIED
remarks:        * Please note that all data that is generally regarded as personal
remarks:        * data has been removed from this object.
remarks:        * To view the original object, please query the RIPE Database at:
remarks:        * http://www.ripe.net/whois
remarks:        ****************************

~ # whois -h whois.radb.net '!gAS201012'
A390
185.89.12.0/22 185.89.12.0/24 185.89.13.0/24 185.89.14.0/24 185.89.15.0/24 146.158.48.0/21 146.158.48.0/24 146.158.48.0/23 146.158.48.0/22 146.158.52.0/23 146.158.52.0/24 146.158.52.0/22 146.158.49.0/24 146.158.50.0/24 146.158.51.0/24 146.158.53.0/24 146.158.54.0/24 146.158.55.0/24 146.158.50.0/23 146.158.54.0/23 185.89.12.0/23 185.89.14.0/23 95.46.198.0/23 95.46.198.0/24 95.46.199.0/24
C
~ # 

 

Edited by vasek00
  • Thanks 1
Link to comment
Share on other sites

  • 0
17 минут назад, vasek00 сказал:

Смените свой VPN на другой на котором работает.

Или

~ # nslookup avito.ru
Server:    192.168.1.1
Address 1: 192.168.1.1

Name:      avito.ru
Address 1: 146.158.52.24
Address 2: 146.158.48.24
Address 3: 146.158.54.24

~ # whois -h whois.radb.net 146.158.52.24
route:          146.158.52.0/24
origin:         AS201012
mnt-by:         MNT-AVITO
created:        2019-02-14T13:28:28Z
last-modified:  2019-02-14T13:28:28Z
source:         RIPE
remarks:        ****************************
remarks:        * THIS OBJECT IS MODIFIED
remarks:        * Please note that all data that is generally regarded as personal
remarks:        * data has been removed from this object.
remarks:        * To view the original object, please query the RIPE Database at:
remarks:        * http://www.ripe.net/whois
remarks:        ****************************

~ # whois -h whois.radb.net '!gAS201012'
A390
185.89.12.0/22 185.89.12.0/24 185.89.13.0/24 185.89.14.0/24 185.89.15.0/24 146.158.48.0/21 146.158.48.0/24 146.158.48.0/23 146.158.48.0/22 146.158.52.0/23 146.158.52.0/24 146.158.52.0/22 146.158.49.0/24 146.158.50.0/24 146.158.51.0/24 146.158.53.0/24 146.158.54.0/24 146.158.55.0/24 146.158.50.0/23 146.158.54.0/23 185.89.12.0/23 185.89.14.0/23 95.46.198.0/23 95.46.198.0/24 95.46.199.0/24
C
~ # 

 

И в догонку:

root@RPi4:~# whois -h whois.radb.net '!6AS201012'
A15
2a05:cf80::/29
C

 

Link to comment
Share on other sites

  • 0

любой современный сервис (youtube/google/etc) - это не одна подсеть, а целая куча сервисов в разных сетях. особенно актуально при использовании CDN. даже если отрезолвить все адреса/сети условного youtube, то это мало поможет - начальные страницы будут использовать географически близкие CDN, которые сегодня одни, завтра другие. "замучаетесь пыль глотать". проще через http proxy это все разрулить.

Link to comment
Share on other sites

  • 0

Мучиться с выделением нужных сервисов не нужно, эту работу уже сделал сам РКН, предоставив для каждого провайдера обновляемый список заблокированных IP и сетей. Поэтому думаю, что требуемая задача решается загрузкой этого списка прямо в таблицу маршрутизации роутера и настройкой маршрутов для этих адресов через интерфейс VPN. Только потянет ли кинетик такую таблицу? Там около 50-100k записей насколько помню.

Link to comment
Share on other sites

  • 0

Очень бы хотелось иметь подобный функционал. Иметь возможность заворачивать трафик на определенный список URL в туннель, или по маске, например *.ru через VPN, остальное через провайдера, прям килер фича вырисовывается. Интересно, это в принципе реализуемо? 

Link to comment
Share on other sites

  • 0
9 часов назад, Persona сказал:

Интересно, это в принципе реализуемо? 

Вполне себе реализуемо.

Этот функционал есть в отдельных DNS серверах которые можно установить через entware, но в прошивку такие новшества ещё не скоро доберутся.

Если вообще доберутся...

Link to comment
Share on other sites

  • 0

Почему не работает статическая маршрутизация если клиента запихнуть в политику подключений которая создана пользователем? Статические маршруты работают только с политикой по умолчанию. Условно у меня есть впн зарубежный. Я создал политику доступа в которой использую зарубежный впн интерфейс. Если я укажу клиенту использовать эту политику тогда статические маршруты не подтягиваются. Почему статические маршруты работают только в политике по умолчанию? Может можно как то через cli такое разрулить?

Link to comment
Share on other sites

  • 0
20 минут назад, who сказал:

Спасибо за ответ. А можно такое сделать через веб интерфейс?

А в чем проблема

Скрытый текст

1247233001_-2.jpg.b7243754660593618d44c3adf0e7c224.jpg

Единственная фишка - он этот стат.маршрут пропишется везде, т.е. во всех таблицах маршрутизации. Таблица маршрутизации привязана к профилю.

Скрытый текст
Основной профиль - default на провайдера
~ # ip ro
default dev ppp0  scope link 
...
185.62.200.0/23 dev nwg4  proto static  scope link 
185.138.0.0/16 dev nwg4  proto static  scope link 
...

Профиль WARP - default на WG
~ # ip ro list table 42
default dev nwg0  scope link 
...
185.62.200.0/23 dev nwg4  scope link 
185.138.0.0/16 dev nwg4  scope link 
...

Профиль Proton - default на WG
~ # ip ro list table 44
default dev nwg4  scope link 
...
185.62.200.0/23 dev nwg4  scope link 
185.138.0.0/16 dev nwg4  scope link 
...
~ # 

 

 

Link to comment
Share on other sites

  • 0

Не работает. Вот выхлоп после добавления роута.
bash-5.1# ip ro list table 43 (это тейбл wg интерфейса зарубежного впн wg1)


default dev nwg1 scope link
default
default
default
default
1.0.0.1 dev nwg4 scope link
1.1.1.1 dev nwg4 scope link
10.1.30.0/24 dev br1 scope link
13.53.X.X dev nwg4 scope link
100.X.X.X/24 dev eth3 scope link
192.168.101.0/24 dev br0 scope link

 

Получилось добавить роут так - ip route add 1.2.3.4/32 via 100.X.X dev eth3 table 43
В веб морде этого маршрута не видно. Надо что бы девелоперы это пофиксили.

Edited by who
Link to comment
Share on other sites

  • 0

Такой роут слетает через время либо после ребута роутера. (сдуя по всему как сессия от терминала сдыхает изменения отваливаются). Как сделать что бы роуты не слетали? Крон джобу не хотелось бы делать.

Link to comment
Share on other sites

  • 0

Да. В роутерах других производителей есть данная фича. Очень хотелось бы создавать списки доменных адресов для работы с ними. Например для маршрутизации через VPN или для блокировки трафика.

Link to comment
Share on other sites

  • 0
On 10/16/2022 at 10:48 PM, Muxyuji said:

Очень нужная фича "для домохозяек", которым по сути нужно завернуть в туннель пару тройку сайтов.

А вы попробуйте в туннель условный твиттер запихнуть - и удивитесь, что ничего у вас не выйдет (или выйдет, но на один час). IP'шников и доменов у них, мне кажется, бесконечное количество - и все из разных подсетей, все никогда не отловишь. Инструмент в нынешних реалиях реально нужный, а реализации ни у кого толком нет.

В идеале вообще составлять курируемые списки с автоапдейтом / определение блэкхола или "замедления", и роутинг этого трафика. Но это только в мечтах, понятное дело.

  • Upvote 1
Link to comment
Share on other sites

  • 0

Для такой задачи надо лезть как минимум на 4й уровень, т.е. принудительно пересылать трафик условного twitter.com в интерфейс vpnXXX. Задача в целом решаемая, но рушит каноны сетевой маршрутизации и больше похожа на прозрачное проксирование.

Edited by evgnor86
Link to comment
Share on other sites

  • 0

Вроде раньше речь даже шла о чем-то подобном посредством возможностей IntelliQoS в частности анализатора трафика. Но пока подвижек не видно.

Edited by keenet07
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...