-
Постов
1 238 -
Зарегистрирован
-
Посещение
-
Победитель дней
25
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Весь контент Александр Рыжов
-
Какое устройство?
-
Посмотрите как запускается AGH в стартовом скрипте и аналогично запустите в консоли, чтобы увидеть вывод об ошибке. В случае AGH: AdGuardHome -w /opt/etc/AdGuardHome -l /opt/var/log/AdGuardHome.log --pidfile /opt/var/run/AdGuardHome.pid --no-check-update Чаще всего AGH жалуется на изменившуюся схему конфигурационного файла. Она там часто меняется от версии к версии.
-
Надо проверить логику работы прошивки. После монтирования накопителей должны вызываться хук-скрипты согласно очереди накопленных на внутренней шине событий. Не знаю, есть ли различия при работе с внутренним разделом UBIFS. Все современные браузеры кэшируют DNS-запросы, поэтому я бы искал причину тормозов в чём-то другом. Начал бы с согласования MSS c MTU внутри туннеля. Загляните в /tmp/ndnproxymain.conf. Прелесть в том, что прошивочная служба (со своим кэшем) обращается в ipset-dns. Т.е. для клиента за роутером любой кэшированный DNS-ответ исходит от прошивки, а не от ipset-dns.
-
К слову, Openconnect поддерживает в т.ч. Juniper SSL VPN, который никуда не уходил. Если речь о подключении к рабочим ресурсам, то я бы тоже не стал ждать добавления его в прошивку и раскошелился на кинетик с флешкой. В Openconnect практически нечего конфигурировать. echo 'P@ssw0rd' | \ openconnect \ --user user1 \ --authgroup msk_employee \ --passwd-on-stdin \ --background \ --no-dtls \ --os win \ --interface=ssltun0 \ --verbose \ https://sslvpn.mywork.com/something Плюс правило в netfilter: iptables -w -A FORWARD -i br0 -o ssltun0 -j ACCEPT
-
Плюс к названному выше — возможность обращения к локальным устройствам по тем DNS-именам, которыми они представились DHCP-серверу. И в целом не хочется без крайней нужды отрывать какой-то базовый функционал от роутера, поскольку прошивочная логика больше не будет им управлять. Если он отвалится, то перезапустить его будет некому. Прошивочные фичи можно сохранить, сделав каскад из DNS-прокси служб. Прошивочный резолвер будет обращаться к dnsmasq.
-
Да. С помощью dnsmasq или adguardhome. Оба умею складывать результаты разрешения имён в ipset. Вот в этом всё дело. Придётся отказаться от прошивочного сервиса с его плюшками.
-
Никак, это решение для точечного обхода. На первой странице темы можно найти детали обсуждения.
-
Как поддерживает? Проприетарным бинарником, существующим только для архитектуры x86. Начните со списка поддерживаемых принтеров в CUPS, затем убедитесь, что для драйверов есть исходники в открытом доступе. Без этого никак.
- 3 ответа
-
- 1
-
-
@catdimon, с точки зрения TFTP сервера никаких изменений не требуется. Однако для загрузки по UEFI: нужен загрузочный образ в формате UEFI, в образе д.б. поддержка UEFI NIC драйверов, chained-загрузка в большинстве случаев невозможна, в BIOS д.б. отключен Secure Boot.
-
Контент последней статьи с сайта keenetic-gi.ga, архив доступен здесь. В самом алгоритме нет ничего нового, но благодаря недавнему обновлению AdGuard Home (далее AGH) его можно реализовать довольно изящно: использование VPN для заданных вами доменов возможно тройкой коротких скриптов. Требования Развёрнутая среда Entware, Рабочее VPN-соединение поверх провайдерского, по которому будет идти обращение к определённым доменам. Установка пакетов Подразумевается, что AGH будет использоваться вместо встроенной в прошивку службы DNS Proxy. Установите необходимые пакеты: opkg install adguardhome-go ipset iptables Выполните первоначальную настройку AGH, для чего в CLI роутера наберите: opkg dns-override system configuration save В этот момент Entware-сервисы будут перезапущены, а интерфейс для первоначальной настройки AGH станет доступен по адресу http://192.168.1.1:3000, где 192.168.1.1 — IP-адрес роутера. Настройки по умолчанию подходят для большинства случаев. Скриптовая обвязка Результаты разрешения указанных доменных имён AGH будет помещать в ipset (bypass в примере), правилами iptables трафик по этим IP-адресам будет помечаться fwmark, а для роутинга помеченного трафика будет использоваться своя таблица маршрутизации. Первый скрипт — создание ipset'а при старте роутера. Создайте файл /opt/etc/init.d/S52ipset со следующим содержимым: #!/bin/sh PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin if [ "$1" = "start" ]; then ipset create bypass hash:ip ip rule add fwmark 1001 table 1001 fi Второй — для поддержания актуальности таблицы роутинга. Файл /opt/etc/ndm/ifstatechanged.d/010-bypass-table.sh с содержимым: #!/bin/sh [ "$system_name" == "nwg0" ] || exit 0 [ ! -z "$(ipset --quiet list bypass)" ] || exit 0 [ "${change}-${connected}-${link}-${up}" == "link-yes-up-up" ] || exit 0 if [ -z "$(ip route list table 1001)" ]; then ip route add default dev $system_name table 1001 fi где nwg0 — сетевой интерфейс VPN-соединения для выборочного доступа. Если затрудняетесь в его поиске, то посмотрите вывод ip addr, его адрес будет совпадать с тем, что виден в веб-интерфейсе.Третий — пометка трафика с помощью fwmark. Актуальная прошивка активно использует эту возможность, поэтому маркировать трафик приходится точечно. Создайте файл /opt/etc/ndm/netfilter.d/010-bypass.sh c контентом: #!/bin/sh [ "$type" == "ip6tables" ] && exit [ "$table" != "mangle" ] && exit [ -z "$(ip link list | grep nwg0)" ] && exit [ -z "$(ipset --quiet list bypass)" ] && exit if [ -z "$(iptables-save | grep bypass)" ]; then iptables -w -t mangle -A PREROUTING ! -s 192.168.254.0/24 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-mark 1001 iptables -w -t mangle -A PREROUTING ! -s 192.168.254.0/24 -m set --match-set bypass dst -j CONNMARK --restore-mark fi где nwg0 — снова сетевой интерфейс VPN-соединения, 192.168.254.0/24 — его подсеть. Её так же можно найти в выводе ip addr. Сделайте скрипты исполняемыми: chmod +x /opt/etc/init.d/S52ipset chmod +x /opt/etc/ndm/ifstatechanged.d/010-bypass-table.sh chmod +x /opt/etc/ndm/netfilter.d/010-bypass.sh и переходите к финальному пункту. Список доменов для выборочного доступа Найдите в конфигурационном файле AGH /opt/etc/AdGuardHome/AdGuardHome.yaml строчку ipset_file: "" и поменяйте на ipset_file: /opt/etc/AdGuardHome/ipset.conf. Файл /opt/etc/AdGuardHome/ipset.conf будет единственным, требующим редактирования время от времени, в зависимости от изменения вашего персонального списка доменов для выборочного доступа. Он имеет следующий синтаксис: intel.com,ipinfo.io/bypass instagram.com,cdninstagram.com/bypass epicgames.com,gog.com/bypass Т.е. в левой части через запятую указаны домены, требующие доступа, справа после слэша — ipset, в который AGH складывает результаты разрешения DNS-имён. Можно указать всё в одну строчку, можно разделить логически на несколько строк как в примере. Домены третьего уровня и выше также включаются в правило доступа, т.е. указание intel.com включает www.intel.com, download.intel.com и пр. Рекомендую добавить какой-нибудь «сигнальный» сервис, показывающий ваш текущий IP-адрес (ipinfo.io в примере). Так вы сможете проверить работоспособность настроенного решения. Учтите, что AGH не перечитывает изменённый файл, поэтому после правки перезапустите его с помощью: /opt/etc/init.d/S99adguardhome restart При желании можно использовать несколько VPN-соединений для обращения к разным доменам, для простоты понимания здесь это не описано. Диагностика проблем Убедитесь в том, что набор ipset создан и наполняется в процессе работы: ipset --list bypass Вывод должен быть не пустой. Убедитесь в существовании нужной таблицы роутинга для выборочного доступа: ip rule list | grep 1001 Убедитесь, что в таблице присутствует необходимый маршрут: ip route list table 1001 Посмотрите, существуют ли правила netfilter для пометки пакетов: iptables-save | grep bypass После перезагрузки роутера проверьте в веб-интерфейсе Системный журнал, в нём не должно быть красных строк, связанных с настроенными скриптами. Удачи в начинаниях!
- 160 ответов
-
- 14
-
-
-
- adguardhome
- ipset
-
(и ещё 1 )
C тегом:
-
AdGuardHome никак не лимитирует объём используемой оперативной памяти при своей работе, однако лимиты можно задавать как для любого другого приложения на GO с помощью переменных среды. GOMEMLIMIT — максимальный объём памяти, доступной для использования в байтах, GOGC — агрессивность сборщика мусора в процентах. Меньше — агрессивнее, т.е. память освобождается чаще за счёт повышения нагрузки на проц. Значения можно задать в стартовом скрипте /opt/etc/init.d/S99adguardhome следующим образом: PREARGS="env GOMEMLIMIT=64MiB GOGC=40" в примере выше для AGH задан лимит в 64MB RAM и более агрессивное поведение по освобождению RAM (дефолтное значение 100), за что придётся заплатить появлением пиков в графике загрузки проца в момент обновления списков блокировки.
-
Я бы не стал на это рассчитывать. Расстановка тэгов в зависимости от опций клиента — это (замечательная!) фича dnsmasq.
-
Со стороны кинетика они ни чем не отличается от уже существующей. Всё зависит от того, какой контент вы размещаете для загрузки по PXE.
-
IMHO, логи существуют отнюдь не для того, чтобы кому-то нравится. Если они помогают в диагностике проблем — это хорошие логи.