-
Posts
1,212 -
Joined
-
Last visited
-
Days Won
25
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Александр Рыжов
-
-
Какое устройство?
-
13 часа назад, Saymer сказал:
Перестал работать AGH
Посмотрите как запускается AGH в стартовом скрипте и аналогично запустите в консоли, чтобы увидеть вывод об ошибке. В случае AGH:
AdGuardHome -w /opt/etc/AdGuardHome -l /opt/var/log/AdGuardHome.log --pidfile /opt/var/run/AdGuardHome.pid --no-check-update
Чаще всего AGH жалуется на изменившуюся схему конфигурационного файла. Она там часто меняется от версии к версии.
- 1
-
12 часа назад, Drafted сказал:
Пока решил диким костылем.
Надо проверить логику работы прошивки. После монтирования накопителей должны вызываться хук-скрипты согласно очереди накопленных на внутренней шине событий. Не знаю, есть ли различия при работе с внутренним разделом UBIFS.
12 часа назад, Drafted сказал:ipset-dns походу всегда стучит в upstream на каждый запрос (что логично), из-за этого первичное открытие сайта прям сильно долгое.
Все современные браузеры кэшируют DNS-запросы, поэтому я бы искал причину тормозов в чём-то другом. Начал бы с согласования MSS c MTU внутри туннеля.
12 часа назад, Drafted сказал:Все-таки работа через локальный (прошивочный) резолвер мне показалась гораздо быстрее, чем если гнать DNS через туннель. Плюс он вроде как должен кешировать.
Загляните в /tmp/ndnproxymain.conf. Прелесть в том, что прошивочная служба (со своим кэшем) обращается в ipset-dns. Т.е. для клиента за роутером любой кэшированный DNS-ответ исходит от прошивки, а не от ipset-dns.
-
1. Ровно так же. Пока не отловил причину.
2. Не могу сказать, не использую.
-
1 час назад, schr1ger сказал:
1) Направить весь трафик к нему, видимо кроме трафика до него самого. (для подключения)
Видимо, хотели направить в openconnect только выборочный трафик? Посмотрите /opt/lib/netifd/proto/vpnc-script, вся логика там, он очень общего вида.
-
К слову, 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
- 1
- 1
-
Спасибо за инфу.
44 минуты назад, abbat сказал:Теоретически, конечно, можно наколхозить сервер точного времени на каком-нибудь отдельном устройстве и ввести его в сеть, но не хочется плодить сущности без необходимости, если можно подключить GPS датчик напрямую.
Отмечу, что на роутере время заметно «плавает» в разные стороны, в т.ч. из-за режимов энергосбережения SoC'ов.
-
8 часов назад, abbat сказал:
К роутеру с USB-портом можно подключить GPS приемник, установить gpsd + ntpd и роутер может стать источником точного времени для устройств сети (достаточно актуально для изолированных сетей).
Видел как использовали такую связку софта на форуме SNB. GPS-приёмники, насколько понял, представляются в системе простыми /dev/ttyX. Можно ли в таком варианте достичь желаемой точности?
-
Автоматически обновляющее что? Пакеты opkg?
-
1 час назад, Сергей Грищенко сказал:
А от каких именно плюшек придётся отказаться?
Плюс к названному выше — возможность обращения к локальным устройствам по тем DNS-именам, которыми они представились DHCP-серверу.
И в целом не хочется без крайней нужды отрывать какой-то базовый функционал от роутера, поскольку прошивочная логика больше не будет им управлять. Если он отвалится, то перезапустить его будет некому.
Прошивочные фичи можно сохранить, сделав каскад из DNS-прокси служб. Прошивочный резолвер будет обращаться к dnsmasq.
- 1
-
4 часа назад, Сергей Грищенко сказал:
Мне и нужно для точечного обхода, просто список больше чем 64. Можно ли это решить с помощью DNSMasq?
Да. С помощью dnsmasq или adguardhome. Оба умею складывать результаты разрешения имён в ipset.
4 часа назад, Сергей Грищенко сказал:3. Отключить штатный DNS кинетика
Вот в этом всё дело. Придётся отказаться от прошивочного сервиса с его плюшками.
-
1 час назад, Сергей Грищенко сказал:
Какие есть решения с этим ограничением? Можно ли обойтись без изменения прошивки?
Никак, это решение для точечного обхода. На первой странице темы можно найти детали обсуждения.
-
35 минут назад, Сергей Грищенко сказал:
Можете подсказать, почему может не работать на iphone? На андроиде и ПК всё ок.
Проверил на iOS 17.11, точно не работает.
Вероятно, iPhone использует стороонние DNS.
- 1
-
В 23.02.2023 в 16:21, sp595 сказал:
В KeeneticOS он не поддерживается т.к это является CAPT принтером, но cups его поддерживает.
Как поддерживает? Проприетарным бинарником, существующим только для архитектуры x86.
12 часа назад, pil123 сказал:Буду рад подсказкам разбирающихся в вопросе.
Начните со списка поддерживаемых принтеров в CUPS, затем убедитесь, что для драйверов есть исходники в открытом доступе. Без этого никак.
- 1
-
@catdimon, с точки зрения TFTP сервера никаких изменений не требуется. Однако для загрузки по UEFI:
- нужен загрузочный образ в формате UEFI,
- в образе д.б. поддержка UEFI NIC драйверов,
- chained-загрузка в большинстве случаев невозможна,
- в BIOS д.б. отключен Secure Boot.
- 1
-
Забыт слеш перед opt/... Поправил.
- 1
-
В 04.05.2023 в 18:09, snark сказал:
На 4.0А20 link-yes-up-up не появляется
Видимо в 4.0 что то изменилось
Точно. Но менять упрощённый вариант не придётся:)
-
19 минут назад, bbaslican сказал:
is there any way to format usb disk and re install opkg and entware remotely ?
Nope:( Unless you've got two partitions for Entware deployment and ability to switch between them.
- 1
-
39 минут назад, sergeyk сказал:
Вы случаем сборку запускаете не на Mac с arm64?
Тестил только на 3.08, слитой с устройства на Debian Stable x64. Это рекомендуемый стенд для OpenWrt Buildroot, а SDK на его основе.
-
Прошивку без подписи можно загрузить только в режиме recovery.
-
- Popular Post
- Popular Post
Контент последней статьи с сайта 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
- После перезагрузки роутера проверьте в веб-интерфейсе Системный журнал, в нём не должно быть красных строк, связанных с настроенными скриптами.
Удачи в начинаниях!
- 5
- 6
-
AdGuardHome никак не лимитирует объём используемой оперативной памяти при своей работе, однако лимиты можно задавать как для любого другого приложения на GO с помощью переменных среды.
- GOMEMLIMIT — максимальный объём памяти, доступной для использования в байтах,
- GOGC — агрессивность сборщика мусора в процентах. Меньше — агрессивнее, т.е. память освобождается чаще за счёт повышения нагрузки на проц.
Значения можно задать в стартовом скрипте /opt/etc/init.d/S99adguardhome следующим образом:
PREARGS="env GOMEMLIMIT=64MiB GOGC=40"
в примере выше для AGH задан лимит в 64MB RAM и более агрессивное поведение по освобождению RAM (дефолтное значение 100), за что придётся заплатить появлением пиков в графике загрузки проца в момент обновления списков блокировки.
- 3
- 1
-
Я бы не стал на это рассчитывать. Расстановка тэгов в зависимости от опций клиента — это (замечательная!) фича dnsmasq.
-
4 часа назад, chillywilly сказал:
А будет ли добавлена функция загрузки pxe с uefi?
Со стороны кинетика они ни чем не отличается от уже существующей. Всё зависит от того, какой контент вы размещаете для загрузки по PXE.
не запускается ptokax
in Вопросы по сборке и настройке Opkg
Posted
Возьмите бинарник из этого пакета. Дайте потом обратную связь.
Смахивает на проблему со старыми устройствами.