Jump to content

Recommended Posts

Posted
12 минуты назад, Nkllganov53 сказал:

А можно ли запустить 2 экз. dnsmasq со своими конфигами (порт прослушивания)?

Не знаю. Мне кажется, это ни к чему. Скриптовая обвязка от этого не изменится. 

Posted
В 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.

Posted (edited)
7 минут назад, Drafted сказал:

Да, все верно. Удалять нужно вручную, либо ребутить роутер. Надо посмотреть есть ли хук на удаление записей из интернет-фильтра, чтобы чистить таблицу автоматически.

зачем усложнять, уже всё есть

ipset flush <ipset name>

изменения в интернет фильтрах можно мониторить по файлу /tmp/ndnproxymain.conf

там уже хеши сверяйте, мониторьте с помощью - inotifywait, entr, как угодно

Edited by Denis P
Posted (edited)
В 23.08.2024 в 23:20, Denis P сказал:

зачем усложнять, уже всё есть

ipset flush <ipset name>

Да, я и написал вручную (через команду ipset flush bypass), либо ребут :)

Edited by Drafted
Posted (edited)
54 минуты назад, Drafted сказал:

Да, я написал вручную (через команду ipset flush bypass), либо ребут :)

Используйте таймаут, равный таймауту dns (MaxTTL), записи сами удаляться будут.

 

image.png.786807111e967ee7ff195d4c14330ee6.png

Edited by avn
  • Thanks 1
Posted

Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском.

Posted
12 часа назад, Drafted сказал:

По логике делается это так:

Спасибо. То, что надо. Попробую

Posted (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 by ale_xb
  • Thanks 1
Posted
В 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

но знаний уже не хватило. Может у кого то был опыт? Или подскажите, что делать. Уже самому стало интересно.

 

Posted
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

  • Upvote 2
Posted
21 минуту назад, Denis P сказал:

Зачем два экземпляра? Один может заполнять хоть 10 разных ipset

Вы имеете в видуто, что предлагал @Werld

Цитата

В вашем случае просто прописываете все домены на один и тот же адрес и порт dnsmasq'a. А уже в конфиге dnsmasq.conf создаете две строки для двух ipset в каждый свои домены:
ipset=/ytimg.com/bypass
ipset=/intel.com/bypass2

Если так, то приходится вводить домены дважды: в Кинетике и в конф-файле. Хотя это и не так уж часто делается.

Posted

Помогите пожалуйста, все настроил из шапки. Все корректно работает до перезагрузки - потом список доменов через VPN не идет пока не отключишь и заново не подключишь встроенное хранилище. Дальше до перезагрузки все работает идеально. Как будто пакет не запускается автозапуском.

Posted (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 by applick
Posted

Проговорю очевидную вещь: любой мануал актуален на момент написания. Ни у одного автора нет цели поддерживать его актуальность бесконечно долго.

Если способны развить идею, не стесняйтесь начать новую тему. А что до этой, ей осталось недолго. По известным причинам её придётся удалить.

В 05.08.2024 в 10:32, Drafted сказал:

@Александр Рыжов можно Вас попросить добавить ссылку на мой способ через dnsmasq в шапку темы? Что-то тут все очень сильно оживилось и мой пост уже где-то в середине темы.

В 08.08.2024 в 22:48, keenet07 сказал:

@Александр Рыжов и другие.

Может кто-нибудь переписать эту приблуду таким образом чтоб она работала сразу с несколькими VPN (шлюзами, интерфейсами)?

15 часов назад, applick сказал:

@Александр Рыжов Измените информацию в шапке по поводу порта или дополните.

Posted
16 часов назад, applick сказал:

Чтобы все работало после перезагрузки надо изменить порт в ipset-dns потому что происходит конфликт с avahi-daemon и поэтому не работает. Выполняем:
nano /opt/etc/init.d/S52ipset-dns и редактируем порт 5353 на 5300, сохраняем, перезагружаем роутер, теперь домены добавлять в роутере во вкладке > Сетевые правила > Интернет фильтр > в строке Адрес сервера DNS писать это значение 192.168.1.1:5300

Большое спасибо. Все стало работать корректно!

Posted
22 часа назад, Александр Рыжов сказал:

По известным причинам её придётся удалить.

Но ведь можно сделать как на 4pda, закрыть доступ с ip российских провайдеров к некоторым темам. Формально все требования соблюдены. 

Posted

Эх, теперь не работает через WG. Нет соединения.. 😢

Есть альтернативные решения?

Posted
2 часа назад, Host Di сказал:

Эх, теперь не работает через WG. Нет соединения.. 😢

Есть альтернативные решения?

У Вас начали блочить WG? Или почему теперь не работает?

Posted
23 минуты назад, Александр Рыжов сказал:

Через любое другое VPN соединение. Решение не привязано к какому-то типу VPN'а.

Более того, даже не обязательно VPN. У меня через WISP соединение работает. Лишь бы интерфейс был представлен в системе и шлюз.

  • Upvote 2
Posted

Всем привет!

Нужна помощь. Сделал настройки по инструкции Drafted от 08.04 - не заработало (

Снес все, сделал по инструкции топикстартера - опять-таки не заработало. Проброс на 2ip.ru дает российский адрес. ДНС порт на 5300 с 5353 "перевесил".

/dev/hand вроде не самые кривые, но..... куда копать? Как диагностировать?

Posted
13 минуты назад, GWX DNKNS сказал:

ДНС порт на 5300 с 5353 "перевесил".

Наоборот, 5353 лучше не использовать. Диагностировать поэтапно. Проверяете создана ли таблица маршрутизации. Существует ли ipset. Наполняется ли он. На месте ли правила iptables. Естиь ли в созданной таблице маршрутизации маршрут по умолчанию и т.д.

Posted (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 туннель :(

tracelog.png

Edited by GWX DNKNS
+tracelog
Posted

Раз  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 должен показать два правила осуществляющие маркировку.
Если все на месте, то все должно работать.

  • Thanks 1
Posted
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. ДНС от провайдера (в качестве его используется другой мой роутер; просто на рабочем настраивать новое - не комильфо) отключен

Posted

Отключил у соединения внутренний DNS сервер, а так же сервер яндекс-днс, сделал ipconfig /renew и все заработало.

Спасибо!

  • Upvote 1
Posted
В 08.04.2024 в 21:14, Drafted сказал:
pass-table.sh

Пытаюсь настроить wink но кроме главной страницы ничего не работает, может кто что подскажет?

Posted
В 04.09.2024 в 14:36, GWX DNKNS сказал:

Отключил у соединения внутренний DNS сервер, а так же сервер яндекс-днс, сделал ipconfig /renew и все заработало.

Спасибо!

Подскажите, как вы "отключили у соединения внутренний DNS"?

Posted
В 26.04.2023 в 19:44, Александр Рыжов сказал:

Для настройки вам понадобится имя и подсеть VPN-интерфейса. Их можно увидеть в выводе команды ip addr. В примере это nwg3 и 10.7.0.0/24:

Так и не понял, как из списка найти нужный VPN интерфейс 😒

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...