Простой способ распределения трафика по интерфейсам (Борьба с вредителями)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Простой способ распределения трафика по интерфейсам

Сообщение serzh-z »

Хотелось бы легковесного способа распределять трафик по интерфейсам:

(Допустим, я завел небольшой конфиг со список адресов, которые мне нужно направлять в VPN и этот список синхронизирую между несколкьими устройствами)

- 1.1.1.1 через tun0
- 2.2.2.2 напрямую через enpXsY
- 3.3.3.3 тоже через tun0

Как это лучше сделать?

- Privoxy? Не хотелось бы в настройках выставлять прокси, да и хотелось бы чтобы IP работал
- Прозрачный squid? Тяжеловесный слишком
- Руками, после поднятия VPN, запускать скрипт, который обновит маршруты?
- Расковырять настройки NetworkManager и скриптом обновлять там маршруты для VPN-подключений?
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Простой способ распределения трафика по интерфейсам

Сообщение Vascom »

Наверняка можно из скрипта дёргать nm-cli для обновления маршрутов.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Простой способ распределения трафика по интерфейсам

Сообщение Bizdelnick »

Тоже озадачился этим вопросом, но применительно к LEDE. Думаю менять маршруты скриптом (и дёргать его из крона), но готового решения пока не придумал.
Upd. Уточню, что затык у меня прежде всего в обновлении маршрутов, надо ведь удалить добавленные в прошлый раз, а как их отличить от остальных — не очень понятно. Возможно, имеет смысл сделать для них отдельную таблицу, но это надо ещё LARTC почитать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Простой способ распределения трафика по интерфейсам

Сообщение serzh-z »

Bizdelnick писал:
21.06.2018 09:36
а как их отличить от остальных — не очень понятно
Можно, наверное, использовать кастомные таблицы маршрутизации.
Последний раз редактировалось serzh-z 22.06.2018 01:58, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Простой способ распределения трафика по интерфейсам

Сообщение serzh-z »

Vascom
NM, похоже, вообще слабонастраиваемая штука. Лишь из-за интеграции с GNOME его только и приходится использовать.
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Простой способ распределения трафика по интерфейсам

Сообщение Vascom »

Глупости. НМ отлично настраиваемая гибкая штука для 99% неэкзотических ситуаций.
Спасибо сказали:

NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Простой способ распределения трафика по интерфейсам

Сообщение NickLion »

serzh-z писал:
21.06.2018 21:11
NM, похоже, вообще слабонастраиваемая штука
А что не так?
Текущий список:
nmcli connection show id SecretChamber | grep ipv4.routes

Добавить:
nmcli connection modify id <connection-id> +ipv4.routes '<ip>/<mask> <nh> <mt>'

Удалить:
nmcli connection modify id <connection-id> -ipv4.routes '<ip>/<mask> <nh> <mt>'
Или без +- для установить заново.

Или можно переписать файл и дать команду nmcli connection load /path/to/file, чтобы перечитать файл конфигурации.
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Простой способ распределения трафика по интерфейсам

Сообщение serzh-z »

В принципе, у NM же еще и диспетчер в /etc/NetworkManager/dispatcher.d есть, куда можно скриптов наложить.

Остается еще DNS - видимо, нужно его всегда через VPN пускать.

Забавно, но некоторые ресурсы у моего провайдера разрешаются в его же сеть на адрес, который просто закрывает соединение. А вот тот же LinkedIn по IP-адресу частично доступен. Видимо, это такой бюджетный и, в отличии от Telegram, не настолько массовый способ блокировки. =)

Тут недавно писали про заглушки - так вот раз на уровне DNS блокируют, то почему бы и заглушку для таких ресурсов там не повесить...
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18650
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Простой способ распределения трафика по интерфейсам

Сообщение Bizdelnick »

Ты уверен, что режут DNS, а не HTTPS по SNI?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: Простой способ распределения трафика по интерфейсам

Сообщение serzh-z »

Bizdelnick
Не уверен. Но я вообще не понимаю, как работает SNI.
Спасибо сказали: