Выборочный роутинг на основе доменного имени с использованием Keenetic, dnsmasq, shadowsocks, любой vpn (рекомендую wireguard).
Репозиторий будет пополняться разными способами перераспределить трафик из локальной сети на разных провайдеров, VPN, Shadowproxy в зависимости от домена, к которому обращается пользователь. Задача сделать такую систему, которую можно было бы держать включенной всегда, сохраняя максимально возможную скорость соединений и при этом максимально быстро и легко настроить и поддерживать.
Обычно перенаправления соединений, VPN и пакетов TCP/UDP происходит на сетевом или транспортном уровне OSI, тогда как имя домена может быть обнаружено только на прикладном. Ключ к решению проблемы - свой DNS сервер на основе dnsmasq. Его приятной особенностью является то, что он может автоматически заполнять ipset списки ip адресами, которые зарезолвил. Этим мы и будем пользоваться.
- Shadowsocks. Очень быстрый прокси с шифрованием и обфускацией трафика. Шифрование далеко не самое стойкое. Обфускация хорошая, тем не менее, уже появляются сообщения, что в редких случаях можно задетектить SS, особенно в UDP режиме.
- v2ray. Прокси для более надежной обфускации и маскировки трафика под HTTP/TLS. Пока самый стойкий к обнаружению метод.
- Wireguard. Современный VPN. Самый быстрый среди всех известных VPN и самый безопасный, работает на уровне Linux Kernel. Лучшее решение для VPN на сегодня. Не обфусцирует трафик, соответственно обнаруживается элементарно.
Keenetic Giga (KN-1011), KeeneticOS 3.9.5
Последнее тестирование было на KeeneticOS 4.1.7 - полет нормальный.
- Перенаправление только TCP пакетов с использованием Shadowsocks. Достаточно простой в настройке способ. Дает самую высокую скорость. Подойдет, если достаточно перенаправлять только TCP (если система в основном для перенаправления HTTP, т.е. для работы с сайтами, то вполне подойдет) и если не боитесь утечек в основной канал UDP (в том числе DNS) и других протоколов. Кстати, почти все браузеры уже делают DNS запросы на HTTPS сайты по TCP. Для игр, видео, видеосвязи, аудио может не подойти по вышеописанным причинам. Перенаправление TCP трафика на внешний Shadowsocks сервер
- Перенаправление TCP и UDP пакетов с использованием Shadowsocks. Сложный для настройки способ. Развитие предыдущего пункта. Поможет перенаправить как DNS запросы, так и другие UDP пакеты. Тем не менее, риск утечек в основной канал других протоколов остается, например ICMP. Перенаправление TCP и UDP трафика на внешний Shadowsocks сервер
- Перенаправление на VPN. Самый простой в настройке способ. И почти самый быстрый, если использовать Wireguard, то чуть проигрывает Shadowsocks, на 10-20%. Если не знаете что выбрать - выбирайте этот способ. Из минусов можно отметить только отсутствие обфускации, т.е. ваш тунель будет виден. Перенаправление всего трафика на VPN
- Перенаправление на VPN поверх Shadowsocks. Все преимущества предыдущего варианта, но с обфускацией от shadowsocks. К сожалению, скорость падает в 5-6 раз относительно чистого Wireguard VPN или чистого Shadowsocks. Поэтому вариант компромиссный. VPN over Shadowsocks
- Специфическая конфигурация для гарантированного отсутствия утечек через основное соединение. Используется Shadowsocks, в который заворачивается весь TCP/UDP трафик. Перенаправление всего трафика на SS без утечек
- TODO. Перенаправление на VPN поверх Shadowsocks поверх v2ray. Все преимущества предыдущего варианта, но с дополнительной маскировкой под TLS от v2ray. Соответственно, еще медленее, но с практически с гарантией анонимности.