-
Posts
1,215 -
Joined
-
Last visited
-
Days Won
25
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Александр Рыжов
-
-
Я бы не стал на это рассчитывать. Расстановка тэгов в зависимости от опций клиента — это (замечательная!) фича dnsmasq.
-
4 часа назад, chillywilly сказал:
А будет ли добавлена функция загрузки pxe с uefi?
Со стороны кинетика они ни чем не отличается от уже существующей. Всё зависит от того, какой контент вы размещаете для загрузки по PXE.
-
IMHO, логи существуют отнюдь не для того, чтобы кому-то нравится. Если они помогают в диагностике проблем — это хорошие логи.
-
- 1
-
@vasek00, ldd `which snmpd`
-
3 часа назад, snark сказал:
У меня вот так , link-no-up-up > connected-yes-up-up
Похоже из [ "${change}-${connected}-${link}-${up}" == "link-yes-up-up" ] можно выкинуть $change. Поскольку "${connected}-${link}-${up}" == "yes-up-up" и у меня и у вас встречается только один раз и, следственно, однозначно определяет статус интерфейса. Обновлю линк на пакет в первом посте.
- 2
-
5 часов назад, keenet07 сказал:
Я имел в виду было бы здорово, так изменить стандартные средства, чтоб на этапе добавления маршрута туда передавался бы и сам домен (чисто для информации), ну и соответственно так же в таблице хранился бы и выводился стандартными средствами.
По идее можно, у записей в ipset'е предусмотрено поле для комментов.
1 час назад, snark сказал:Приветствую всех, вопрос про 010-bypass-table.sh из пакета, вероятно немоного недогоняю, в упор не могу отловить link-yes-up-up
У меня вот так , link-no-up-up > connected-yes-up-up
Проверял на 3.9.х. Перед отловом нужных событий сперва собираю все возможные варианты, положив в нужную папку /opt/etc/ndm/<name it>.d такое:
#!/bin/sh LOG='/opt/tmp/hook.log' echo -e "\n\n--- $(date '+%T') $0 fired ---" >> $LOG echo $@ >> $LOG set | grep -vE "^'\$|^HOME|^HOSTNAME|^IFS|^LANG|^LD_|^LINENO|^LOG|^NDM_MOUNT|^OPTIND|^PATH|^PPID|^PS|^PWD|^SHELL|^SHLVL|^TERM|^timezone|^USER|^FUNCNAME" >> $LOG exit 0
Во вложении выхлоп скрипта при выключении и повторном включении VPN-соединения.
- 1
-
On 5/3/2023 at 8:10 PM, krass said:
Подскажите,пожалуйста, предложенные вами варианты и что вы использовали лично -- без ограничений?
Никаких. Лишь бы список выбранных доменов влез на флешку. Хотя такой способ уже трудно будет назвать точечным:)
On 5/3/2023 at 10:41 PM, keenet07 said:1. Если не затруднит подскажите какой командой в entware можно увидеть весь список ip адресов направленных через VPN этой утилитой.
Посмотрите раздел «Диагностика проблем».
netfilter c доменами не работает, после того как ipset-dns разрешила очередное доменное имя в IP-адрес(а), способа сопоставить назад эти адреса с исходным доменом нет. Reverse DNS resolving будет не всегда показательным и я бы на него не стал ориентироваться вовсе.
On 5/3/2023 at 10:41 PM, keenet07 said:2. Я так понял утилита резолвит адреса через обычный DNS 8.8.8.8. … Если в конфиге вместо 8.8.8.8 указать 192.168.1.1, то зациклится запрос?
Вы вольны выбрать любой DNS-сервер для работы утилиты ipset-dns в конфиге /opt/etc/bypass.conf
Он первым делом добавится в ipset, следственно, обращения к нему будут идти тем же путём, что и к выбранным для выборочного роутинга ресурсам.
On 5/3/2023 at 10:41 PM, keenet07 said:Никак нельзя эти запросы так же через системный безопасный DoH или DoT проводить?
В принципе, можно, только в общем случае не нужно (см. выше). В соседних темах можно найти инфу на каких портах работают прошивочные DoH/DoT.
- 2
-
В 27.04.2023 в 17:11, krass сказал:
Подскажите, пожалуйста, какое другое решение?
Что-нибудь основанное на dnsmasq или adguardhome, они так же умеют наполнять ipset по результатам разрешения DNS-имён. Лично я до последнего использовал это.
В 26.04.2023 в 21:26, keenet07 сказал:Утилита резолвит домен и хранит в оперативной памяти список полученных IP адресов и создает пользовательские маршруты к ним через настроенный в конфиге VPN. Каждое новое обращение к этому домену может добавлять в этот список новые IP адреса, если у домена их множество.
Ещё отмечу, если DNS-сервер в ответ присылает сразу несколько A/AAAA-записей, то они заносятся в ipset сразу все.
6 часов назад, keenet07 сказал:Это решение может быть развернуто полностью без подключения внешних носителей для OPKG?
С лёгкой доработкой это решение может быть развёрнуто на любом кинетике, где USB-накопители вообще не предусмотрены. Дело в том, что нужные хук скрипты работают и там, хоть это нигде не документировано. Именно поэтому в роутерах без USB доступен в компонентах OPKG.
Другими словами, если вы соберёте прошивку со своими дополнительными компонентами (busybox, iptables, ipset), то оно будет прекрасно себя чувствовать, к примеру, на Keenetic Start.
6 часов назад, keenet07 сказал:Знаю, что можно в память роутера разместить. Есть только один вопрос, при таком варианте работы OPKG и скрипта происходит ли какая-либо дополнительная запись/перезапись в память роутера? Не хочется растрачивать ресурс памяти.
Никаких логов или динамических конфигов у приведённого решения нет, все файлы статичные. Ни USB-флешку, ни флешку роутера протирать не будут.
- 2
- 1
-
Не собирается хостовый cmake. Либо хостовое окружение (Ubuntu? Debian?) не отвечают требованиям сборки, либо собираемая версия стара настолько, что не собирается на (слишком:) современном для неё хосте.
-
Поддержка занимается заводским функционалом. Сторонние OPKG-пакеты уже за его пределами.
- 1
-
Если уж делать в прошивке, то законченную фичу по выборочному роутингу.
- 1
-
В первой прикидке все зависимости менее одного мегабайта, а значит, решение с помощью SDK можно поднять хоть на Keenetic Start. Необходимые для конфигурирования имена VPN-интерфейса и его подсеть можно выуживать, к примеру, по названию соединения.
21 час назад, krass сказал:А для моделей viva( или giga ) и выше можно в дальнейшем увеличить число записей?
Если надо больше, то вряд ли стоит это помещать в прошивочный конфиг или WebUI. Я бы использовал другое решение.
@keenet07, всё так. По вопросам:
- Да, всё в памяти. Решение, по сути, три статичных файла обвязки вокруг iptables и ipset.
- Ничего. Таблица наполняется адресами, но роутинг ничем не отличается от роутинга по умолчанию.
- Прошивка. Глубина бесконечна.
- Да. Понимаю, что при высоких аптаймах сет может накапливать лишнее, но при точечном обходе я бы не стал заморачиваться. Если хочется такое реализовать, то создавайте ipset сразу указывая время жизни элементов и ограничивайте TTL записей DNS-кэша в прошивочном сервисе с помощью dns-proxy max-ttl …
- Нет. Прошивка не отображает роутинг по таблицам/сетам.
17 часов назад, avn сказал:Я бы еще все маршруты в таблицу прокопировал
Т.е. маршруты по умолчанию так же окажутся в таблице для отдельного роутинга. Зачем?
- 1
- 1
-
- Popular Post
- Popular Post
Ещё один легковесный способ выборочного роутинга с однократной настройкой в консоли. Основан на том, что актуальная прошивка может использовать разные 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.
Изменение списка доменов применяется налету. Для того, чтобы новые настройки вступили в силу ничего делать не надо.
- 14
- 4
-
1 час назад, kechvaio сказал:
Добрый день, подскажите пожалуйста как корректно обновить сабж?
В новой версии изменился формат конфига. Проще переименовать старый и настроить заново.
mv /opt/etc/AdGuardHome/AdGuardHome.yaml /opt/etc/AdGuardHome/AdGuardHome.yaml.prev
-
Вареза в репозитории не будет.
- 1
-
Часто используемые (и тяжело собираемые нативно) python-модули уже есть в репозитории, в том числе python3-pillow.
-
18 часов назад, healer2001 сказал:
Вот рабочий вариант
Только довольно устаревший из-за использования ndmq. Надо бы переписать под актуальный API.
-
Тоже был вынужден ограничить журнал запросов до 24 часов из-за размера лога, теперь:
# du -hs /opt/etc/AdGuardHome/data/* 961.0K /opt/etc/AdGuardHome/data/filters 7.5M /opt/etc/AdGuardHome/data/querylog.json 29.2M /opt/etc/AdGuardHome/data/querylog.json.1 25.0K /opt/etc/AdGuardHome/data/sessions.db 185.0K /opt/etc/AdGuardHome/data/stats.db
-
В 28.01.2023 в 16:44, Alex T сказал:
А умеет ли адгард перечитывать файл с ipset без перезапуска?
Нет.
- 1
-
У роутера нет цепей, способных отключить собственное питание. Может сгодится простой механический таймер?
- 1
-
3 часа назад, Alex T сказал:
откуда их подтягивает ping
Пару лет назад прошивочный DNS-сервис научили запоминать имена хостов, которыми они представляются в момент обращения к DHCP.
-
1 час назад, Alex T сказал:
Можно ли adguard научить их отдавать?
Нет.
-
14 часа назад, Marat1217 сказал:
- пока ребенок дома один, нужно в период с 8 до 12 часов дня заблокировать доступ в youtube
Добавьте в скрипт ниже свои учётные данные для AGH, проверьте список блокируемых сервисов и запускайте из cron с нужным параметром:
cat ./agh_block_svc.sh #!/bin/sh # user:pass - учётка для WebUI API='http://user:pass@localhost:3000/control' # список сервисов для блокировки, возможные варианты в выводе ./agh_block_svc.sh list BLOCKED='["youtube","wechat"]' case $1 in block) curl --header 'Content-Type: application/json' --request POST --data-binary "$BLOCKED" $API/blocked_services/set ;; unblock) curl --header 'Content-Type: application/json' --request POST --data-binary "[]" $API/blocked_services/set ;; list) curl --silent $API/blocked_services/all | jq '.blocked_services[].id' ;; list_blocked) curl --silent $API/blocked_services/list | jq '.[]' ;; *) echo "Usage: $0 block|unblock|list|list_blocked" ;; esac
Для работы придётся установить пакеты curl, jq, cron. Задания для cron попробуйте сделать самостоятельно:)
- 2
- 4
AdGuardHome
in Каталог готовых решений Opkg
Posted
AdGuardHome никак не лимитирует объём используемой оперативной памяти при своей работе, однако лимиты можно задавать как для любого другого приложения на GO с помощью переменных среды.
Значения можно задать в стартовом скрипте /opt/etc/init.d/S99adguardhome следующим образом:
PREARGS="env GOMEMLIMIT=64MiB GOGC=40"
в примере выше для AGH задан лимит в 64MB RAM и более агрессивное поведение по освобождению RAM (дефолтное значение 100), за что придётся заплатить появлением пиков в графике загрузки проца в момент обновления списков блокировки.