Drafted Posted August 23, 2024 Posted August 23, 2024 (edited) В 23.08.2024 в 23:20, Denis P сказал: зачем усложнять, уже всё есть ipset flush <ipset name> Да, я и написал вручную (через команду ipset flush bypass), либо ребут Edited August 26, 2024 by Drafted Quote
avn Posted August 23, 2024 Posted August 23, 2024 (edited) 54 минуты назад, Drafted сказал: Да, я написал вручную (через команду ipset flush bypass), либо ребут Используйте таймаут, равный таймауту dns (MaxTTL), записи сами удаляться будут. Edited August 23, 2024 by avn 1 Quote
CooLeR Posted August 23, 2024 Posted August 23, 2024 Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском. Quote
Nkllganov53 Posted August 24, 2024 Posted August 24, 2024 12 часа назад, Drafted сказал: По логике делается это так: Спасибо. То, что надо. Попробую Quote
ale_xb Posted August 24, 2024 Posted August 24, 2024 (edited) В 15.08.2024 в 10:09, Сергей Грищенко сказал: Можете показать что у вас вышло в итоге, пожалуйста? Конечно (только не забудьте на имена своих интерфейсов, номера таблиц маршрутизации, маркировки сменить): #!/bin/sh [ "$1" == "hook" ] || exit 0 [ "$layer" == "link" ] || exit 0 [ "$id" == "Wireguard2" ] || exit 0 IF_NAME=nwg2 IF_GW4=$(ip -4 addr show "$IF_NAME" | grep -Po "(?<=inet ).*(?=/)") case ${layer}-${level} in link-disabled|link-pending) logger "====WG2 DOWN=====" ip -4 rule del fwmark 0xd1000 lookup 1001 priority 1778 2>/dev/null ip -4 route flush table 1001 ;; link-running) logger "====WG2 UP=====" ip -4 route add table 1001 default via "$IF_GW4" dev "$IF_NAME" 2>/dev/null ip -4 route show table main |grep -Ev ^default |while read ROUTE; do ip -4 route add table 1001 $ROUTE 2>/dev/null ip -4 rule add fwmark 0xd1000 lookup 1001 priority 1778 2>/dev/null ip -4 route flush cache ;; esac exit 0 Edited August 24, 2024 by ale_xb 1 Quote
Nkllganov53 Posted August 26, 2024 Posted August 26, 2024 В 23.08.2024 в 23:17, Drafted сказал: По логике делается это так: Дублируете скрипт запуска S56dnsmasq в /opt/etc/init.d/ и указываете в параметрах запуска через ключ -conf-file другой конфиг (например: /opt/etc/dnsmasq2.conf), в котором прописан новый pid-file (например /var/run/opt-dnsmasq2.pid), другой порт (например, 5301) и другой ipset (например bypass2). Далее дублируете и изменяете скрипт запуска /opt/etc/init.d/S52ipset-bypass и все хуки в /opt/etc/ndm/netfilter.d/ под новый ipset. Вообщем запускается только один экземпляр dnsmasq. Соответственно работает либо VPN1 либо VPN2, но не оба. Нашел, как запустить два экземляра: https://wiki.archlinux.org/title/Dnsmasq 3.3 More than one instance https://github.com/optimistiCli/edgeos-dnsmasq-2 но знаний уже не хватило. Может у кого то был опыт? Или подскажите, что делать. Уже самому стало интересно. Quote
Denis P Posted August 26, 2024 Posted August 26, 2024 43 минуты назад, Nkllganov53 сказал: Вообщем запускается только один экземпляр dnsmasq. Соответственно работает либо VPN1 либо VPN2, но не оба. Нашел, как запустить два экземляра: https://wiki.archlinux.org/title/Dnsmasq 3.3 More than one instance https://github.com/optimistiCli/edgeos-dnsmasq-2 но знаний уже не хватило. Может у кого то был опыт? Или подскажите, что делать. Уже самому стало интересно. Зачем два экземпляра? Один может заполнять хоть 10 разных ipset 2 Quote
Nkllganov53 Posted August 26, 2024 Posted August 26, 2024 21 минуту назад, Denis P сказал: Зачем два экземпляра? Один может заполнять хоть 10 разных ipset Вы имеете в видуто, что предлагал @Werld: Цитата В вашем случае просто прописываете все домены на один и тот же адрес и порт dnsmasq'a. А уже в конфиге dnsmasq.conf создаете две строки для двух ipset в каждый свои домены: ipset=/ytimg.com/bypass ipset=/intel.com/bypass2 Если так, то приходится вводить домены дважды: в Кинетике и в конф-файле. Хотя это и не так уж часто делается. Quote
CooLeR Posted August 26, 2024 Posted August 26, 2024 Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском. Quote
applick Posted August 26, 2024 Posted August 26, 2024 (edited) 3 часа назад, CooLeR сказал: Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском. Чтобы все работало после перезагрузки надо изменить порт в ipset-dns потому что происходит конфликт с avahi-daemon и поэтому не работает. Выполняем: nano /opt/etc/init.d/S52ipset-dns и редактируем порт 5353 на 5300, сохраняем, перезагружаем роутер, теперь домены добавлять в роутере во вкладке > Сетевые правила > Интернет фильтр > в строке Адрес сервера DNS писать это значение 192.168.1.1:5300 @Александр Рыжов Измените информацию в шапке по поводу порта или дополните. Возможно причина проблемы кроется в том что люди устанавливают entware на внутреннее хранилище роутера а не на внешнее usb, отсюда и конфликт с avahi-daemon, потому что он занял порт, из за этого и проблема после рестарта роутера. Edited August 26, 2024 by applick Quote
Александр Рыжов Posted August 27, 2024 Author Posted August 27, 2024 Проговорю очевидную вещь: любой мануал актуален на момент написания. Ни у одного автора нет цели поддерживать его актуальность бесконечно долго. Если способны развить идею, не стесняйтесь начать новую тему. А что до этой, ей осталось недолго. По известным причинам её придётся удалить. В 05.08.2024 в 10:32, Drafted сказал: @Александр Рыжов можно Вас попросить добавить ссылку на мой способ через dnsmasq в шапку темы? Что-то тут все очень сильно оживилось и мой пост уже где-то в середине темы. В 08.08.2024 в 22:48, keenet07 сказал: @Александр Рыжов и другие. Может кто-нибудь переписать эту приблуду таким образом чтоб она работала сразу с несколькими VPN (шлюзами, интерфейсами)? 15 часов назад, applick сказал: @Александр Рыжов Измените информацию в шапке по поводу порта или дополните. Quote
CooLeR Posted August 27, 2024 Posted August 27, 2024 16 часов назад, applick сказал: Чтобы все работало после перезагрузки надо изменить порт в ipset-dns потому что происходит конфликт с avahi-daemon и поэтому не работает. Выполняем: nano /opt/etc/init.d/S52ipset-dns и редактируем порт 5353 на 5300, сохраняем, перезагружаем роутер, теперь домены добавлять в роутере во вкладке > Сетевые правила > Интернет фильтр > в строке Адрес сервера DNS писать это значение 192.168.1.1:5300 Большое спасибо. Все стало работать корректно! Quote
batonskij Posted August 28, 2024 Posted August 28, 2024 22 часа назад, Александр Рыжов сказал: По известным причинам её придётся удалить. Но ведь можно сделать как на 4pda, закрыть доступ с ip российских провайдеров к некоторым темам. Формально все требования соблюдены. Quote
Host Di Posted August 28, 2024 Posted August 28, 2024 Эх, теперь не работает через WG. Нет соединения.. 😢 Есть альтернативные решения? Quote
Александр Рыжов Posted August 28, 2024 Author Posted August 28, 2024 2 часа назад, Host Di сказал: Есть альтернативные решения? Через любое другое VPN соединение. Решение не привязано к какому-то типу VPN'а. 1 Quote
CooLeR Posted August 28, 2024 Posted August 28, 2024 2 часа назад, Host Di сказал: Эх, теперь не работает через WG. Нет соединения.. 😢 Есть альтернативные решения? У Вас начали блочить WG? Или почему теперь не работает? Quote
keenet07 Posted August 28, 2024 Posted August 28, 2024 23 минуты назад, Александр Рыжов сказал: Через любое другое VPN соединение. Решение не привязано к какому-то типу VPN'а. Более того, даже не обязательно VPN. У меня через WISP соединение работает. Лишь бы интерфейс был представлен в системе и шлюз. 2 Quote
Сергей Грищенко Posted August 29, 2024 Posted August 29, 2024 Проголосуйте за реализацию пожалуйста, всем кто использует данное решение это актуально 1 Quote
GWX DNKNS Posted September 4, 2024 Posted September 4, 2024 Всем привет! Нужна помощь. Сделал настройки по инструкции Drafted от 08.04 - не заработало ( Снес все, сделал по инструкции топикстартера - опять-таки не заработало. Проброс на 2ip.ru дает российский адрес. ДНС порт на 5300 с 5353 "перевесил". /dev/hand вроде не самые кривые, но..... куда копать? Как диагностировать? Quote
Werld Posted September 4, 2024 Posted September 4, 2024 13 минуты назад, GWX DNKNS сказал: ДНС порт на 5300 с 5353 "перевесил". Наоборот, 5353 лучше не использовать. Диагностировать поэтапно. Проверяете создана ли таблица маршрутизации. Существует ли ipset. Наполняется ли он. На месте ли правила iptables. Естиь ли в созданной таблице маршрутизации маршрут по умолчанию и т.д. Quote
GWX DNKNS Posted September 4, 2024 Posted September 4, 2024 (edited) 12 минуты назад, Werld сказал: Наоборот, 5353 лучше не использовать Не удачно написал. С 5353 ушел на 5300. Сразу ушел 12 минуты назад, Werld сказал: Диагностировать поэтапно А как? Не подскажете команды? В моем списке команд есть только ipset list bypass и ipset test bypass 2ip.ru. В первом случае выводится длинный список адресов, во втором сообщение: / # ipset test bypass googlevideo.com Warning: 216.58.210.164 is in set bypass. / # ipset test bypass youtube.com Warning: 216.58.211.238 is in set bypass. / # ipset test bypass www.youtube.com Warning: 173.194.69.198 is in set bypass. / # ipset test bypass 2ip.ru Warning: 195.201.201.32 is in set bypass. Для 2ip.ru маршрутизация в туннель заработала "сама собой" :( и это печалит. Т.е. трассировка идет через wg-туннель. Для ютуба tracert показывает стандартный маршрут, без "туннелирования" в wg туннель :( Edited September 4, 2024 by GWX DNKNS +tracelog Quote
Werld Posted September 4, 2024 Posted September 4, 2024 Раз ipset list bypass выводит список адресов, значит он наполняется. Вы можете выполнить ipset flush bypass - это очистит указанный ipset. ip rule выведет правила маршрутизации, где вы должны увидеть вашу таблицу, например: ~ # ip rule | grep 1001 1776: from all fwmark 0x3e9 lookup 1001 ip route list table 1001 должен показать наличие маршрута по умолчанию через нужный интерфейс. iptables-save | grep bypass должен показать два правила осуществляющие маркировку. Если все на месте, то все должно работать. 1 Quote
GWX DNKNS Posted September 4, 2024 Posted September 4, 2024 31 минуту назад, Werld сказал: Если все на месте, то все должно работать. Проверил. Все на месте, список адресов пополняется ("смыл" его flush'ем чтобы начать заново) ip rule: 450: from 192.168.3.121 lookup 74 451: from 10.101.0.105 lookup 75 32764: from all fwmark 0x3e9 lookup 1001 32765: from all fwmark 0x3e9 lookup 1001 / # ip route list table 1001 default dev nwg3 scope link / # iptables-save | grep bypass -A PREROUTING ! -s 10.101.0.0/24 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-xmark 0x3e9/0xffffffff -A PREROUTING ! -s 10.101.0.0/24 -m set --match-set bypass dst -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff Таблица заполняется, но ютуб так и не открывается. Внес все возможные имена ютуба (из сообщения от 13.08) в настройки ДНС. Может что-то не так настроил? 1. У WG соединения, которое пробрасывается на забугорный сервер, стоит галка "выход в интернет" 2. ДНС у этого соединения 8.8.8.8 3. DoH и DoT не включены 4. В "интернет-фильтрах" (настройках ДНС) для ютуба и 2ip.ru в поле "подключение" указан WG туннель, не "любое подключение" 5. ДНС от провайдера (в качестве его используется другой мой роутер; просто на рабочем настраивать новое - не комильфо) отключен Quote
GWX DNKNS Posted September 4, 2024 Posted September 4, 2024 Отключил у соединения внутренний DNS сервер, а так же сервер яндекс-днс, сделал ipconfig /renew и все заработало. Спасибо! 1 Quote
kalino80 Posted September 6, 2024 Posted September 6, 2024 В 08.04.2024 в 21:14, Drafted сказал: pass-table.sh Пытаюсь настроить wink но кроме главной страницы ничего не работает, может кто что подскажет? Quote
SAGAK Posted September 8, 2024 Posted September 8, 2024 В 04.09.2024 в 14:36, GWX DNKNS сказал: Отключил у соединения внутренний DNS сервер, а так же сервер яндекс-днс, сделал ipconfig /renew и все заработало. Спасибо! Подскажите, как вы "отключили у соединения внутренний DNS"? Quote
madsen Posted September 8, 2024 Posted September 8, 2024 В 26.04.2023 в 19:44, Александр Рыжов сказал: Для настройки вам понадобится имя и подсеть VPN-интерфейса. Их можно увидеть в выводе команды ip addr. В примере это nwg3 и 10.7.0.0/24: Так и не понял, как из списка найти нужный VPN интерфейс 😒 Quote
keenet07 Posted September 8, 2024 Posted September 8, 2024 (edited) 3 минуты назад, madsen сказал: Так и не понял, как из списка найти нужный VPN интерфейс 😒 Ну вы тип VPN своего знаете? OpenVPN, WireGuard или иное. IP адреса, шлюз, подсеть тоже должны видеть когда подключаетесь. Или знать. Вот и найдите в этом списке запись которая соответствует вашим данным. Edited September 8, 2024 by keenet07 Quote
Dime77 Posted September 8, 2024 Posted September 8, 2024 В 26.04.2023 в 20:44, Александр Рыжов сказал: Список ресурсов для открытия через VPN-соединение удобно вести на странице Сетевые правила → Интернет фильтры → Настройка DNS. Пример добавления домена intel.com вместе с субдоменами: Выполнил я данную процедуру и все работает, но вот как только я включаю протокол ipv6 в роутере все ломается и маршруты почему то не работают, кто нибудь знает как исправить? Quote
kalino80 Posted September 9, 2024 Posted September 9, 2024 В 26.04.2023 в 19:44, Александр Рыжов сказал: Ещё один легковесный способ выборочного роутинга с однократной настройкой в консоли. Основан на том, что актуальная прошивка может использовать разные DNS-серверы для указанных пользователем доменов. Желаемые домены можно будет менять прямо в веб-интерфейсе. Решение основано на немного допиленной мелкой утилите ipset-dns. Прошивка будет обращаться к ней для разрешения определённого доменного имени из пользовательского перечня, а та, в свою очередь, будет складывать результаты работы в отдельный набор ip-адресов. Далее этот набор используется для выборочного роутинга в VPN-соединение ровно так же, как в аналогичных решениях по соседству. Тем самым сохраняются все возможности прошивочного сервиса. Перед установкой настройте в веб-интерфейсе любое VPN-соединение. Установка возможна с помощью пакета, подходящего под любую архитектуру кинетика: opkg install http://bin.entware.net/mipselsf-k3.4/test/ipset-dns-keenetic_0.2-1_all.ipk Для настройки вам понадобится имя и подсеть VPN-интерфейса. Их можно увидеть в выводе команды ip addr. В примере это nwg3 и 10.7.0.0/24: … 37: nwg3: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1324 qdisc noqueue qlen 50 link/[65534] inet 10.7.0.8/24 scope global nwg3 Внесите эти два параметра любым удобным способом в /opt/etc/bypass.conf по имеющемуся примеру в переменные VPN_NAME и VPN_SUBNET: vi /opt/etc/bypass.conf После чего решение готово к использованию. Запустите утилиту ipset-dns или просто перегрузите роутер: /opt/etc/init.d/S52ipset-dns start Список ресурсов для открытия через VPN-соединение удобно вести на странице Сетевые правила → Интернет фильтры → Настройка DNS. Пример добавления домена intel.com вместе с субдоменами: где 192.168.1.1 — IP-адрес роутера. Если вам привычней CLI-интерфейс, то аналог записи выше: ip name-server 192.168.1.1:5353 intel.com Число записей ограничено 64. Изменение списка доменов применяется налету. Для того, чтобы новые настройки вступили в силу ничего делать не надо. У меня если выбираю любая сеть то почему то не идёт через ВПН ,если выбираю свой ВПН тогда идёт но те домены что не добавлял тоже почему то не идут от провайдера а с ВПН, то есть ВПН всё начинает брать на себя) Quote
Recommended Posts
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.