Jump to content

Александр Рыжов

Moderators
  • Posts

    1,213
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Александр Рыжов

  1. В роутере беспроводным модулем управляет прошивка. Утилиты, привычные для ПК здесь не работают. Пакет aircrack-ng на кинетике бесполезен.
  2. Возьмите бинарник из этого пакета. Дайте потом обратную связь. Смахивает на проблему со старыми устройствами.
  3. Посмотрите как запускается AGH в стартовом скрипте и аналогично запустите в консоли, чтобы увидеть вывод об ошибке. В случае AGH: AdGuardHome -w /opt/etc/AdGuardHome -l /opt/var/log/AdGuardHome.log --pidfile /opt/var/run/AdGuardHome.pid --no-check-update Чаще всего AGH жалуется на изменившуюся схему конфигурационного файла. Она там часто меняется от версии к версии.
  4. Надо проверить логику работы прошивки. После монтирования накопителей должны вызываться хук-скрипты согласно очереди накопленных на внутренней шине событий. Не знаю, есть ли различия при работе с внутренним разделом UBIFS. Все современные браузеры кэшируют DNS-запросы, поэтому я бы искал причину тормозов в чём-то другом. Начал бы с согласования MSS c MTU внутри туннеля. Загляните в /tmp/ndnproxymain.conf. Прелесть в том, что прошивочная служба (со своим кэшем) обращается в ipset-dns. Т.е. для клиента за роутером любой кэшированный DNS-ответ исходит от прошивки, а не от ipset-dns.
  5. 1. Ровно так же. Пока не отловил причину. 2. Не могу сказать, не использую.
  6. Видимо, хотели направить в openconnect только выборочный трафик? Посмотрите /opt/lib/netifd/proto/vpnc-script, вся логика там, он очень общего вида.
  7. К слову, 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
  8. Спасибо за инфу. Отмечу, что на роутере время заметно «плавает» в разные стороны, в т.ч. из-за режимов энергосбережения SoC'ов.
  9. Видел как использовали такую связку софта на форуме SNB. GPS-приёмники, насколько понял, представляются в системе простыми /dev/ttyX. Можно ли в таком варианте достичь желаемой точности?
  10. Плюс к названному выше — возможность обращения к локальным устройствам по тем DNS-именам, которыми они представились DHCP-серверу. И в целом не хочется без крайней нужды отрывать какой-то базовый функционал от роутера, поскольку прошивочная логика больше не будет им управлять. Если он отвалится, то перезапустить его будет некому. Прошивочные фичи можно сохранить, сделав каскад из DNS-прокси служб. Прошивочный резолвер будет обращаться к dnsmasq.
  11. Да. С помощью dnsmasq или adguardhome. Оба умею складывать результаты разрешения имён в ipset. Вот в этом всё дело. Придётся отказаться от прошивочного сервиса с его плюшками.
  12. Никак, это решение для точечного обхода. На первой странице темы можно найти детали обсуждения.
  13. Проверил на iOS 17.11, точно не работает. Вероятно, iPhone использует стороонние DNS.
  14. Как поддерживает? Проприетарным бинарником, существующим только для архитектуры x86. Начните со списка поддерживаемых принтеров в CUPS, затем убедитесь, что для драйверов есть исходники в открытом доступе. Без этого никак.
  15. @catdimon, с точки зрения TFTP сервера никаких изменений не требуется. Однако для загрузки по UEFI: нужен загрузочный образ в формате UEFI, в образе д.б. поддержка UEFI NIC драйверов, chained-загрузка в большинстве случаев невозможна, в BIOS д.б. отключен Secure Boot.
  16. Nope:( Unless you've got two partitions for Entware deployment and ability to switch between them.
  17. Тестил только на 3.08, слитой с устройства на Debian Stable x64. Это рекомендуемый стенд для OpenWrt Buildroot, а SDK на его основе.
  18. Прошивку без подписи можно загрузить только в режиме recovery.
  19. Контент последней статьи с сайта 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 После перезагрузки роутера проверьте в веб-интерфейсе Системный журнал, в нём не должно быть красных строк, связанных с настроенными скриптами. Удачи в начинаниях!
  20. AdGuardHome никак не лимитирует объём используемой оперативной памяти при своей работе, однако лимиты можно задавать как для любого другого приложения на GO с помощью переменных среды. GOMEMLIMIT — максимальный объём памяти, доступной для использования в байтах, GOGC — агрессивность сборщика мусора в процентах. Меньше — агрессивнее, т.е. память освобождается чаще за счёт повышения нагрузки на проц. Значения можно задать в стартовом скрипте /opt/etc/init.d/S99adguardhome следующим образом: PREARGS="env GOMEMLIMIT=64MiB GOGC=40" в примере выше для AGH задан лимит в 64MB RAM и более агрессивное поведение по освобождению RAM (дефолтное значение 100), за что придётся заплатить появлением пиков в графике загрузки проца в момент обновления списков блокировки.
  21. Я бы не стал на это рассчитывать. Расстановка тэгов в зависимости от опций клиента — это (замечательная!) фича dnsmasq.
×
×
  • Create New...