dogoma Posted August 24, 2023 Share Posted August 24, 2023 Подскажите, кто обновился на 4.0.4, сетап работает? Quote Link to comment Share on other sites More sharing options...
Mapuk37 Posted September 1, 2023 Share Posted September 1, 2023 Подскажите, а есть возможность все это сделать не через VPN а через Tor? То есть так же, чтобы через Тор шли только выбранные сайты? Да поймут меня владельцы Playstation - единственный рабочий сейчас способ покупки игр через турецкий аккаунт требует создания учетной записи на необходимом сайте именно из сети тор (при заходе через VPN - сайт жалуется, что ты пользуешься впн и не дает создать учетку). И я думаю такой сайт не единственный. А тор как альтернативное решение думаю хорошо бы подошел в этом случае... Quote Link to comment Share on other sites More sharing options...
r13 Posted September 26, 2023 Share Posted September 26, 2023 (edited) В 4.1 идентификаторы таблиц маршрутизации стали динамически меняться. Так что инструкция отсюда доработана, требуется доустановить пакеты curl и jq. Добавлено динамическое чтение идентификатора маркировки в скриптах /opt/etc/ndm/netfilter.d/010-bypass.sh /opt/etc/ndm/netfilter.d/011-bypass6.sh По примеру предоставленному @avn: В 08.08.2023 в 23:29, avn сказал: Можно mark так найти curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == "Unblock-VPN") | .mark' Edited September 27, 2023 by r13 1 3 Quote Link to comment Share on other sites More sharing options...
Alexey77 Posted October 2, 2023 Share Posted October 2, 2023 В 01.09.2023 в 15:32, Mapuk37 сказал: Подскажите, а есть возможность все это сделать не через VPN а через Tor? Здравствуйте скажите на какой порт у вас настроен tor? Quote Link to comment Share on other sites More sharing options...
avn Posted October 4, 2023 Share Posted October 4, 2023 (edited) 17 минут назад, Denis P сказал: Прошу тем, кому актуально, поддержать вот эту идею https://github.com/AdguardTeam/AdGuardHome/issues/6233 Это позволит полноценно использовать ipset create timeout, что в свою очередь даст возможность для поддержания списков ipset и маршрутов в актуальном состоянии, т.е если домен резолвится в тот же адрес - счетчик timeout будет просто обновлен, если в другой - по истечении timeout он автоматически будет удален из ipset. В данный момент это тоже возможно, но если адрес уже содержится в кэше agh, он не добавляется в ipset, что слегка ломает всю логику и счетчик timeout не обновляется. Нафиг не нужно. Timeout для ipset и такой же в agh. А каждый раз дергать ipset для обновления ( удаления и добавления) для того, что бы обновить время timeout так себе идея. Edited October 4, 2023 by avn 1 Quote Link to comment Share on other sites More sharing options...
Freedom Posted February 19 Share Posted February 19 В 07.08.2023 в 09:39, r13 сказал: бонусом будет резервирование/агрегация каналов предоставляемая политиками Не могу понять, почему это работает, если в /opt/etc/ndm/netfilter.d/010-bypass.sh мы вручную указываем nwg0? Quote Link to comment Share on other sites More sharing options...
r13 Posted February 19 Share Posted February 19 1 час назад, Freedom сказал: Не могу понять, почему это работает, если в /opt/etc/ndm/netfilter.d/010-bypass.sh мы вручную указываем nwg0? Там отрицание, не nwg0 Quote Link to comment Share on other sites More sharing options...
Freedom Posted February 19 Share Posted February 19 (edited) 1 час назад, r13 сказал: Там отрицание, не nwg0 Точно, но это не меняет сути. Тут явно указывается на конкретное VPN-соединение. Получается нельзя использовать другие соединения в указанной политике, иначе трафик будет маркироваться неправильно, на сколько я понимаю, хотя у меня все работало, даже когда поставил в политике на 1-е место другое VPN-соединение, но все-равно, предполагаю лучше так не делать Edited February 19 by Freedom Quote Link to comment Share on other sites More sharing options...
Sergey K Posted February 20 Share Posted February 20 Уф, наконец поборол проблему (переход с 398 на 4Х), проблема как всегда в прокладке между монитором и стулом В гайде тут: Забыто упомянуто (точнее ранее это проскальзовало в скринах, но в итоге пропало) как сделать корректно сделать политики 1) в впн соединениях указываем (ранее в 3.9.8 это не требовалось) 2) В политиках создаем новую политику доступа и называем ее также как в скриптах (у меня main) В подключениях политики указываем (только) 1 или несколько VPN соединений через которые будут идти маршрутизированные данные (я тут добавлял и впн и основной и ЭТО И БЫЛА ОШИБКА) Большое спасибо @r13 2 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 26 Share Posted February 26 @r13 @avn - господа! А как быть, если "резервное" подключение создается средствами Entware. Например sing-box. Как найти mark? PS Создал политику по имени скрипта запуска S99sing-box. `show ip polycy` всегда выдает { "policy": { "Policy1": { "description": " S99sing-box", "mark": "ffffaac", "table4": 12, "route4": { "route": [ { "destination": "10.0.0.0/24", "gateway": "0.0.0.0", "interface": "GigabitEthernet1", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false }, { "destination": "172.16.250.0/30", "gateway": "0.0.0.0", "interface": "", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false }, { "destination": "192.168.1.0/24", "gateway": "0.0.0.0", "interface": "Bridge0", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false } ] }, "table6": 11, "route6": {} } }, "prompt": "(config)" } Первый маршрут всегда wan (10.0.0.0), второй tun0 (sing-box), третий lan (bridge). Или так и должно быть? PS Это стенд с 1811 на прошивке 4.1 Quote Link to comment Share on other sites More sharing options...
avn Posted February 26 Share Posted February 26 1 час назад, zyxmon сказал: @r13 @avn - господа! А как быть, если "резервное" подключение создается средствами Entware. Например sing-box. Как найти mark? PS Создал политику по имени скрипта запуска S99sing-box. `show ip polycy` всегда выдает { "policy": { "Policy1": { "description": " S99sing-box", "mark": "ffffaac", "table4": 12, "route4": { "route": [ { "destination": "10.0.0.0/24", "gateway": "0.0.0.0", "interface": "GigabitEthernet1", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false }, { "destination": "172.16.250.0/30", "gateway": "0.0.0.0", "interface": "", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false }, { "destination": "192.168.1.0/24", "gateway": "0.0.0.0", "interface": "Bridge0", "metric": 0, "flags": "U", "rejecting": false, "proto": "boot", "floating": false, "static": false } ] }, "table6": 11, "route6": {} } }, "prompt": "(config)" } Первый маршрут всегда wan (10.0.0.0), второй tun0 (sing-box), третий lan (bridge). Или так и должно быть? PS Это стенд с 1811 на прошивке 4.1 Может я вопроса не понял? json=`curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == " S99sing-box")'` xt_mark=`echo $json | jq -r '.mark'` xt_table=`echo $json | jq -r '.table4'` xt_iface=`ip -4 route show table ${xt_table} | awk '/default/ { print $3 }'` Quote Link to comment Share on other sites More sharing options...
r13 Posted February 26 Share Posted February 26 @zyxmon в случае использования интерфейса созданного в entware непонятно в чем будет профит от использования политики, так как переключать default route для такого интерфейса все равно придется так же через скрипты. Возможно в данном случае инструкция из первого поста темы более релевантна. 1 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 27 Share Posted February 27 @r13 @avn - спасибо, разберусь. Хотя уже вчера наступило некоторое понимание "по ходу пьесы". Теперь нужно все проверить. Quote Link to comment Share on other sites More sharing options...
vasek00 Posted February 27 Share Posted February 27 10 часов назад, zyxmon сказал: PS Создал политику по имени скрипта запуска S99sing-box. `show ip polycy` всегда выдает "route": [ { "destination": "10.0.0.0/24", ... }, { "destination": "172.16.250.0/30", ... }, { "destination": "192.168.1.0/24", ... } Первый маршрут всегда wan (10.0.0.0), второй tun0 (sing-box), третий lan (bridge). Или так и должно быть? Все просто не имеет значения WAN или TUN или PPP, а имеет значение default dev ppp0 scope link 10.10.xxх.0/24 dev eth2.9 ... 10.147.ххх.0/24 dev zt_br0 ... 104.21.ххх.ххх dev nwg4 ... 109.126.ххх.ххх dev ppp0 ... 185.107.ххх.ххх dev ppp0 ... 188.114.ххх.ххх dev ppp0 ... 192.168.100.0/24 via 10.147.ххх.ххх dev zt_br0 .... 192.168.130.0/24 dev br0 ... 192.168.150.0/24 dev br1 ... ... Quote Link to comment Share on other sites More sharing options...
avn Posted February 27 Share Posted February 27 1 час назад, vasek00 сказал: Все просто не имеет значения WAN или TUN или PPP, а имеет значение default dev ppp0 scope link 10.10.xxх.0/24 dev eth2.9 ... 10.147.ххх.0/24 dev zt_br0 ... 104.21.ххх.ххх dev nwg4 ... 109.126.ххх.ххх dev ppp0 ... 185.107.ххх.ххх dev ppp0 ... 188.114.ххх.ххх dev ppp0 ... 192.168.100.0/24 via 10.147.ххх.ххх dev zt_br0 .... 192.168.130.0/24 dev br0 ... 192.168.150.0/24 dev br1 ... ... В таблице имеет значение только это, остальное косвенное default dev ppp0 scope link Quote Link to comment Share on other sites More sharing options...
vasek00 Posted February 27 Share Posted February 27 (edited) 1 час назад, avn сказал: В таблице имеет значение только это, остальное косвенное default dev ppp0 scope link Речь выше шла про то и не про какой он в списке интерфейс, первый WAN или не первый, или br0 второй или он последний - просто пример их расположение от IP. Edited February 27 by vasek00 Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 27 Share Posted February 27 Я совсем "не копенгаген" в tc (traffic control). С политиками не вышло, подозреваю, что все таки неправильно поменял роутинг. Надеюсь следующие юзеры лучше меня разбираются (или я где опечатался). Сделал все по первому посту - и заработало! Однако такая неожиданность - хуки ifcreated или ifstatechanged не работают с сетевыми интерфейсами, созданными Entware. Но с этим то просто..... 1 Quote Link to comment Share on other sites More sharing options...
dogoma Posted February 28 Share Posted February 28 19 часов назад, zyxmon сказал: Я совсем "не копенгаген" в tc (traffic control). С политиками не вышло, подозреваю, что все таки неправильно поменял роутинг. Надеюсь следующие юзеры лучше меня разбираются (или я где опечатался). Сделал все по первому посту - и заработало! Однако такая неожиданность - хуки ifcreated или ifstatechanged не работают с сетевыми интерфейсами, созданными Entware. Но с этим то просто..... Подскажите в итоге, всё заработало? Sing-box с XTLS-Reality в режиме tun, а AGH просто как и раньше указывать интерфейс, через который он будет отправлять указанные ресурсы? Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 28 Share Posted February 28 1 час назад, dogoma сказал: Подскажите в итоге, всё заработало? Sing-box с XTLS-Reality в режиме tun, а AGH просто как и раньше указывать интерфейс, через который он будет отправлять указанные ресурсы? Заработало. Есть проблема с созданием маршрута - т.к. singbox создает tun0 до окончания сетевой инициализации роутера. Пока поставил паузу в 15 секунд до выполнения `ip route add ....` 1 Quote Link to comment Share on other sites More sharing options...
dogoma Posted February 29 Share Posted February 29 6 часов назад, zyxmon сказал: Заработало. Есть проблема с созданием маршрута - т.к. singbox создает tun0 до окончания сетевой инициализации роутера. Пока поставил паузу в 15 секунд до выполнения `ip route add ....` Опишите пожалуйста как это сделать. Настроил sing-box, выхлоп с команды "curl --interface tun0 http://myip.wtf/json" получил, adguardhome ранее уже настраивал, перенастроил на tun0 новиспечённый, для теста в байпас вписал ipinfo.io, но сайт не открывается. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 29 Share Posted February 29 6 часов назад, dogoma сказал: Опишите пожалуйста как это сделать. Сначала нужно в скриптовой обвязке заменить nwg0 на tun0. Затем задайте маршрутизацию руками ip route add default dev tun0 table 1001 Если теперь все работает, то можно (правда очень криво-костыльно) скриптом S99zsing-box (алфавитно должен после S99sing-box выполняться. S99zsing-box 1 Quote Link to comment Share on other sites More sharing options...
dogoma Posted February 29 Share Posted February 29 (edited) @zyxmon спасибо! Как-то странно работает. С клиентов wi-fi сети не открываются сайты прописанные в bypass, но клиенты WG (на роутере сервер, к нему подключаются клиенты извне) отлично ходят на эти сайты, ipinfo.io (прописанный в bypass) показывает что нужно. ip addr показывает: в этом случает /opt/etc/ndm/netfilter.d/010-bypass.sh будет с такой подсетью? 172.16.250.0/30 Скрытый текст #!/bin/sh [ "$type" == "ip6tables" ] && exit [ "$table" != "mangle" ] && exit [ -z "$(ip link list | grep tun0)" ] && exit [ -z "$(ipset --quiet list bypass)" ] && exit if [ -z "$(iptables-save | grep bypass)" ]; then iptables -w -t mangle -A PREROUTING ! -s 172.16.250.0/30 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-mark 1001 iptables -w -t mangle -A PREROUTING ! -s 172.16.250.0/30 -m set --match-set bypass dst -j CONNMARK --restore-mark fi Edited February 29 by dogoma Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 29 Share Posted February 29 2 часа назад, dogoma сказал: в этом случает /opt/etc/ndm/netfilter.d/010-bypass.sh будет с такой подсетью? 172.16.250.0/30 Да. похоже так. По wi-fi я не проверял. Quote Link to comment Share on other sites More sharing options...
dogoma Posted February 29 Share Posted February 29 1 час назад, zyxmon сказал: Да. похоже так. По wi-fi я не проверял. Проверил по проводу, ситуация такая же. Подскажите, может кто знает как продиагностировать проблему? На всякий случай выводы команд из шапки: Скрытый текст ipset --list bypass не пустой Name: bypass Type: hash:ip Revision: 4 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 3264 References: 2 Members: ... (дальше IP-шники) ip rule list | grep 1001 не пустой 399: from all fwmark 0x3e9 lookup 1001 ip route list table 1001 не пустой default dev tun0 scope link iptables-save | grep bypass не пустой -A PREROUTING ! -s 172.16.250.0/30 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-xmark 0x3e9/0xffffffff -A PREROUTING ! -s 172.16.250.0/30 -m set --match-set bypass dst -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff Quote Link to comment Share on other sites More sharing options...
dogoma Posted March 1 Share Posted March 1 В 29.02.2024 в 14:35, dogoma сказал: Проверил по проводу, ситуация такая же. Подскажите, может кто знает как продиагностировать проблему? На всякий случай выводы команд из шапки: Показать содержимое ipset --list bypass не пустой Name: bypass Type: hash:ip Revision: 4 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 3264 References: 2 Members: ... (дальше IP-шники) ip rule list | grep 1001 не пустой 399: from all fwmark 0x3e9 lookup 1001 ip route list table 1001 не пустой default dev tun0 scope link iptables-save | grep bypass не пустой -A PREROUTING ! -s 172.16.250.0/30 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-xmark 0x3e9/0xffffffff -A PREROUTING ! -s 172.16.250.0/30 -m set --match-set bypass dst -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff Проблема была не в adguardhome или его настройке. Проблема была в настройках туннеля. Quote Link to comment Share on other sites More sharing options...
dogoma Posted March 2 Share Posted March 2 В 10.08.2023 в 09:17, Mapuk37 сказал: Супер, спасибо. А есть что-то подобное для сайтов? Например у торрентов часто несколько адресов, на netify не находятся... Тестируя другие решения для маршрутизации обнаружил такой удобный репозиторий: https://github.com/v2fly/domain-list-community/tree/master/data там файлы с именем сайта, в котором список всех используемых им доменов 2 Quote Link to comment Share on other sites More sharing options...
taravasya Posted March 15 Share Posted March 15 (edited) Так как со временем по теме всё расползлось немножко, то пока разбирался сам, решил попутно собрать воедино актуальную инструкцию: https://taravasya.github.io/notes/keenetic/agh_keenetic Кажется учёл все последние изменения. Настроил пошагово именно по своей инструкции только ipv4. Выборочное туннелирование работает нормально. Edited March 15 by taravasya 8 Quote Link to comment Share on other sites More sharing options...
Mapuk37 Posted May 1 Share Posted May 1 Все ок работает по инструкции от r13, за исключением одного нюанса. Работают только на основном подключении, проводном интернете. У меня ещё подключен usb может в качестве резерва. Так вот с него обход не работает. Можно ли как то настроить? Quote Link to comment Share on other sites More sharing options...
vasek00 Posted May 1 Share Posted May 1 2 часа назад, Mapuk37 сказал: Можно ли как то настроить? AGH может использовать и не зависит от кол-ва провайдеров + ПО роутера и его профили Скрытый текст ... handle_ddr: true ipset: [] ipset_file: /opt/home/AdGuardHome/ipset.conf bootstrap_prefer_ipv6: false ... наличие двух строк в конф файле AGH, одна из которых "ipset_file: /opt/home/AdGuardHome/ipset.conf" в сам файл ipset.conf например строки или несколько строк хххх.com,хххххх.io/wg-i хххххххх.com,ххххх.ххххх.com/wg-i далее ipset create wg-i hash:ip где ее удобней использовать например в скрипт запуска AGH (но учесть если используете вдруг команды скрипта такие как restart/stop/start, хотя когда все отлажено то этого не нужно). Основное iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s 192.168.IP_клиента/32 -j RETURN iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s 192.168.IP_клиента/32 -j CONNMARK --save-mark iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s 192.168.IP_клиента/32 -m set --match-set wg-i dst -j MARK --set-mark 0xffff_ПРОФИЛЬ именно в таком порядке. Пояcнения - так как в 4.2 произошли изменения по маркировке то как найти нужный профиль было расписано много раз (что ищем так это "show ip policy" нужный профиль и его mark это и будет "0xffff_ПРОФИЛЬ"). Данные команды лучше использовать в скрипте например /opt/etc/ndm/101-AGH.sh #!/bin/sh [ "$table" != "mangle" ] && exit 0 if [ -z "$(iptables-save | grep 'wg-i')" ]; then iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s ... RETURN iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s ... --save-mark iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s ... --set-mark 0xffff_ПРОФИЛЬ fi exit 0 1 Quote Link to comment Share on other sites More sharing options...
Mapuk37 Posted May 2 Share Posted May 2 В 01.05.2024 в 17:57, vasek00 сказал: AGH может использовать и не зависит от кол-ва провайдеров + ПО роутера и его профили Показать содержимое ... handle_ddr: true ipset: [] ipset_file: /opt/home/AdGuardHome/ipset.conf bootstrap_prefer_ipv6: false ... наличие двух строк в конф файле AGH, одна из которых "ipset_file: /opt/home/AdGuardHome/ipset.conf" в сам файл ipset.conf например строки или несколько строк хххх.com,хххххх.io/wg-i хххххххх.com,ххххх.ххххх.com/wg-i далее ipset create wg-i hash:ip где ее удобней использовать например в скрипт запуска AGH (но учесть если используете вдруг команды скрипта такие как restart/stop/start, хотя когда все отлажено то этого не нужно). Основное iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s 192.168.IP_клиента/32 -j RETURN iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s 192.168.IP_клиента/32 -j CONNMARK --save-mark iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s 192.168.IP_клиента/32 -m set --match-set wg-i dst -j MARK --set-mark 0xffff_ПРОФИЛЬ именно в таком порядке. Пояcнения - так как в 4.2 произошли изменения по маркировке то как найти нужный профиль было расписано много раз (что ищем так это "show ip policy" нужный профиль и его mark это и будет "0xffff_ПРОФИЛЬ"). Данные команды лучше использовать в скрипте например /opt/etc/ndm/101-AGH.sh #!/bin/sh [ "$table" != "mangle" ] && exit 0 if [ -z "$(iptables-save | grep 'wg-i')" ]; then iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s ... RETURN iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s ... --save-mark iptables -t mangle -I _NDM_HOTSPOT_PRERT -i br0 -s ... --set-mark 0xffff_ПРОФИЛЬ fi exit 0 Не очень хотелось бы настраивать обход для конкретных клиентов. Меня устраивает, как сейчас прописано у r13 - обход на всех устройствах, подключающимся с роутеру, просто добавить возможность работы при переключении на мобильный интернет. Quote Link to comment Share on other sites More sharing options...
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.