Werld Posted August 23 Posted August 23 12 минуты назад, Nkllganov53 сказал: А можно ли запустить 2 экз. dnsmasq со своими конфигами (порт прослушивания)? Не знаю. Мне кажется, это ни к чему. Скриптовая обвязка от этого не изменится. Quote
Drafted Posted August 23 Posted August 23 В 22.08.2024 в 12:53, applick сказал: 1)Я так понимаю если в роутере > через интернет фильтр добавлен сайт, например 2ip.ru, а потом удален, то маршрутизация не удаляется для этого сайта, очистка происходит только через перезагрузку роутера или если вручную очистить командой - ipset flush bypass. Да, все верно. Удалять нужно вручную, либо ребутить роутер. Надо посмотреть есть ли хук на удаление записей из интернет-фильтра, чтобы чистить таблицу автоматически. В 22.08.2024 в 12:53, applick сказал: 2)Можно ли как то это все дело подружить с vless, vmess, shadowsocks2022, singbox умеет заворачивать соединение в tun. Целый вечер убил на то чтобы singbox настроить и подключиться к серверу по shadowsocks2022, но так и не получилось подружить это с ipset dnsmasq. Здесь не подскажу - не использую. 14 часа назад, Nkllganov53 сказал: Стало понятнее. А можно ли запустить 2 экз. dnsmasq со своими конфигами (порт прослушивания)? Может попроще будет с заведением доменов? С таблицами/скриптами наверное также. По логике делается это так: Дублируете скрипт запуска 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. Quote
Denis P Posted August 23 Posted August 23 (edited) 7 минут назад, Drafted сказал: Да, все верно. Удалять нужно вручную, либо ребутить роутер. Надо посмотреть есть ли хук на удаление записей из интернет-фильтра, чтобы чистить таблицу автоматически. зачем усложнять, уже всё есть ipset flush <ipset name> изменения в интернет фильтрах можно мониторить по файлу /tmp/ndnproxymain.conf там уже хеши сверяйте, мониторьте с помощью - inotifywait, entr, как угодно Edited August 23 by Denis P Quote
Drafted Posted August 23 Posted August 23 (edited) В 23.08.2024 в 23:20, Denis P сказал: зачем усложнять, уже всё есть ipset flush <ipset name> Да, я и написал вручную (через команду ipset flush bypass), либо ребут Edited August 26 by Drafted Quote
avn Posted August 23 Posted August 23 (edited) 54 минуты назад, Drafted сказал: Да, я написал вручную (через команду ipset flush bypass), либо ребут Используйте таймаут, равный таймауту dns (MaxTTL), записи сами удаляться будут. Edited August 23 by avn 1 Quote
CooLeR Posted August 23 Posted August 23 Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском. Quote
Nkllganov53 Posted August 24 Posted August 24 12 часа назад, Drafted сказал: По логике делается это так: Спасибо. То, что надо. Попробую Quote
ale_xb Posted August 24 Posted August 24 (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 by ale_xb 1 Quote
Nkllganov53 Posted August 26 Posted August 26 В 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 Posted August 26 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 Posted August 26 21 минуту назад, Denis P сказал: Зачем два экземпляра? Один может заполнять хоть 10 разных ipset Вы имеете в видуто, что предлагал @Werld: Цитата В вашем случае просто прописываете все домены на один и тот же адрес и порт dnsmasq'a. А уже в конфиге dnsmasq.conf создаете две строки для двух ipset в каждый свои домены: ipset=/ytimg.com/bypass ipset=/intel.com/bypass2 Если так, то приходится вводить домены дважды: в Кинетике и в конф-файле. Хотя это и не так уж часто делается. Quote
CooLeR Posted August 26 Posted August 26 Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском. Quote
applick Posted August 26 Posted August 26 (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 by applick Quote
Александр Рыжов Posted August 27 Author Posted August 27 Проговорю очевидную вещь: любой мануал актуален на момент написания. Ни у одного автора нет цели поддерживать его актуальность бесконечно долго. Если способны развить идею, не стесняйтесь начать новую тему. А что до этой, ей осталось недолго. По известным причинам её придётся удалить. В 05.08.2024 в 10:32, Drafted сказал: @Александр Рыжов можно Вас попросить добавить ссылку на мой способ через dnsmasq в шапку темы? Что-то тут все очень сильно оживилось и мой пост уже где-то в середине темы. В 08.08.2024 в 22:48, keenet07 сказал: @Александр Рыжов и другие. Может кто-нибудь переписать эту приблуду таким образом чтоб она работала сразу с несколькими VPN (шлюзами, интерфейсами)? 15 часов назад, applick сказал: @Александр Рыжов Измените информацию в шапке по поводу порта или дополните. Quote
CooLeR Posted August 27 Posted August 27 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 Posted August 28 22 часа назад, Александр Рыжов сказал: По известным причинам её придётся удалить. Но ведь можно сделать как на 4pda, закрыть доступ с ip российских провайдеров к некоторым темам. Формально все требования соблюдены. Quote
Host Di Posted August 28 Posted August 28 Эх, теперь не работает через WG. Нет соединения.. 😢 Есть альтернативные решения? Quote
Александр Рыжов Posted August 28 Author Posted August 28 2 часа назад, Host Di сказал: Есть альтернативные решения? Через любое другое VPN соединение. Решение не привязано к какому-то типу VPN'а. 1 Quote
CooLeR Posted August 28 Posted August 28 2 часа назад, Host Di сказал: Эх, теперь не работает через WG. Нет соединения.. 😢 Есть альтернативные решения? У Вас начали блочить WG? Или почему теперь не работает? Quote
keenet07 Posted August 28 Posted August 28 23 минуты назад, Александр Рыжов сказал: Через любое другое VPN соединение. Решение не привязано к какому-то типу VPN'а. Более того, даже не обязательно VPN. У меня через WISP соединение работает. Лишь бы интерфейс был представлен в системе и шлюз. 2 Quote
Сергей Грищенко Posted August 29 Posted August 29 Проголосуйте за реализацию пожалуйста, всем кто использует данное решение это актуально 1 Quote
GWX DNKNS Posted September 4 Posted September 4 Всем привет! Нужна помощь. Сделал настройки по инструкции Drafted от 08.04 - не заработало ( Снес все, сделал по инструкции топикстартера - опять-таки не заработало. Проброс на 2ip.ru дает российский адрес. ДНС порт на 5300 с 5353 "перевесил". /dev/hand вроде не самые кривые, но..... куда копать? Как диагностировать? Quote
Werld Posted September 4 Posted September 4 13 минуты назад, GWX DNKNS сказал: ДНС порт на 5300 с 5353 "перевесил". Наоборот, 5353 лучше не использовать. Диагностировать поэтапно. Проверяете создана ли таблица маршрутизации. Существует ли ipset. Наполняется ли он. На месте ли правила iptables. Естиь ли в созданной таблице маршрутизации маршрут по умолчанию и т.д. Quote
GWX DNKNS Posted September 4 Posted September 4 (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 by GWX DNKNS +tracelog Quote
Werld Posted September 4 Posted September 4 Раз 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 Posted September 4 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 Posted September 4 Отключил у соединения внутренний DNS сервер, а так же сервер яндекс-днс, сделал ipconfig /renew и все заработало. Спасибо! 1 Quote
kalino80 Posted September 6 Posted September 6 В 08.04.2024 в 21:14, Drafted сказал: pass-table.sh Пытаюсь настроить wink но кроме главной страницы ничего не работает, может кто что подскажет? Quote
SAGAK Posted September 8 Posted September 8 В 04.09.2024 в 14:36, GWX DNKNS сказал: Отключил у соединения внутренний DNS сервер, а так же сервер яндекс-днс, сделал ipconfig /renew и все заработало. Спасибо! Подскажите, как вы "отключили у соединения внутренний DNS"? Quote
madsen Posted September 8 Posted September 8 В 26.04.2023 в 19:44, Александр Рыжов сказал: Для настройки вам понадобится имя и подсеть VPN-интерфейса. Их можно увидеть в выводе команды ip addr. В примере это nwg3 и 10.7.0.0/24: Так и не понял, как из списка найти нужный VPN интерфейс 😒 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.