Comments 14
Разве то же самое не делает opkg пакет kvas?
В kvas требуется отключать системный DNS-сервер, что для меня не подходит. Мне удобен системный DNS благодаря его GUI. К тому же, у меня настроены туннели до работы, и часть зон я маршрутизирую через них. Администрировать это через dnsmasq или bind мне не хочется.
Ну и в целом, мне было интереснее разобраться, как это работает, чем просто взять готовое решение.
Кстати, спасибо за статью. Это дает чуть большее понимание, как работает связка dnsmasq + ipset. Смотрю в сторону kvas для домашнего маршрутизатора, но мне не нравится именно то, что не используются системные dns, которые видно явно и нет необходимости в ручном рестарте сервиса при их изменении.
Видимо, придется сделать форк, т.к. в решении возможно привязаться только к VPN соединению, а у меня заходят 2 провайдера и есть необходимость в делении некоторого трафика на разных провайдеров, помимо VPN. Но это у меня частный случай.
Довольно сумбурно написано. Перевожу кратко:
на (домашнем) роутере ставится кэширующий днс (dnsmasq) и результаты резолва для определённых доменов он не только отдаёт клиентам, а ещё и складывает в специальный список в ядре линукса (ipset). В дальнейшем, файрвол (netfilter в ядре линукса) роутера сравнивает ip назначения исходящего трафика с этим списком и если находит совпадение, то направляет этот трафик через отдельный интерфейс (поднятый впн).
Прикольная связка двух казалось бы несоединимых процессов - резолв и роутинг. Спасибо dnsmasq.
Можно использовать не только на кинетике, а везде где есть dnsmasq+netfilter.
Как посоветуете быть, если статический внешний адрес выдается провайдером по dhcp и если отключаешь dhcp, в т.ч. настройки dns и прописываешь те же самые настройки ручками, то работать подключение отказывается.
Кто знает как сделать чтобы при доступе к ресурсу если не 200 или 302 код в ответе скрипт бы перекидывал в ВПН канал траффик. Может быть есть готовые решения. Не привязываясь к кинетику у меня другой роутер.
Чувствует моя душа что наконец-то мы близко к статье о частичной маршрутизации на стандартной прошивке asus роутера. То там сейчас можно или полностью трафик пустить или конкретных машин. Жду больше года уже )
"в случае падения туннеля я не хочу остаться без интернета"
Можно вместо server=1.1.1.1@nwg0
использовать server=1.1.1.1
и отдельно настроить на кинетике маршрутизацию для 1.1.1.1, сняв галочку "эксклюзивный маршрут"
Да, немного суховато написано.
Но разобрался, работает. Спасибо!
В гите, на базе чего похоже сделан пост, некоторые моменты яснее
https://github.com/Sharm/keenetic-domain-routing/blob/master/VPN.md
в частности строка
iptables -t mangle -A OUTPUT -p udp -d 8.8.8.8 --dport 53 -j DOMAIN_VPN
упущена, хотя в описании в тексте про это есть
Выборочный роутинг по доменным именам на маршрутизаторах Keenetic