-
Posts
1,215 -
Joined
-
Last visited
-
Days Won
25
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by Александр Рыжов
-
-
В 08.04.2024 в 21:14, Drafted сказал:
Если @Александр Рыжов сделает из этого пакет, то будет вообще сказка)
Повторюсь это решение работает намного стабильнее и быстрее чем при использовании ipset-dns.
Погонял на KN-2710, при старте роутера так же race condition где-то остался. Как и ранее, помогает рестарт dnsmasq.
-
В роутере беспроводным модулем управляет прошивка. Утилиты, привычные для ПК здесь не работают. Пакет aircrack-ng на кинетике бесполезен.
-
Возьмите бинарник из этого пакета. Дайте потом обратную связь.
Смахивает на проблему со старыми устройствами.
- 1
-
Какое устройство?
-
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
ipset-dns для выборочного роутинга
in Каталог готовых решений Opkg
Posted
Не то, чтобы забыл, не делал.
Зачем перезапускать dnsmasq, если его работоспособность зависит только от наличия ipset'а, создаваемого при старте роутера?