Jump to content

r13

Forum Members
  • Posts

    5248
  • Joined

  • Last visited

  • Days Won

    66

Everything posted by r13

  1. @eralde В новом ui в карточке клиента отсевает настройка профиля dns Старый: Новый:
  2. Похоже не помогло. Профиль dns: Клиент с этим профилем и в отдельной политике: Запросы идут мимо dns сервера из профиля. Селфтест ниже.
  3. Еще требуется настроить firewall Пример тут https://help.keenetic.com/hc/ru/articles/360000991640-Примеры-использования-правил-межсетевого-экрана#8
  4. Добрый день, Сейчас есть возможность добавлять статические маршруты через определенный интерфейс Хотелось бы видеть возможность создания статических маршрутов через политики В линуксе это будет ip rule add to {PREFIX} table {TABLE_ID} Это позволит использовать преимущество политик - резервирование если подсеть доступна через несколько линков. ЗЫ и не забыть предусмотреть данную функцию для ipv6
  5. Нужно еще сохранить изменения в консоли: system configuration save Тогда изменения сохранятся после перезагрузки
  6. Как раз не странно, это о чем я и говорил в посте выше, через site to site ходит строго то что указано в local/remote сетях
  7. Чистый ipsec использует политики, маршруты ему не нужны, так что это by design Возможно в туннеле сеть-сеть нужно добавить подсеть клиентов virtualIP IKEv2 сервера
  8. Эта страница есть у LTE модемов(появляется при их наличии)
  9. Присоединяюсь к вопросу Версия 4.03, у меня есть отдельный профиль dns "AdGuardHome" смотрит на локальный Adguardhome Так вот, запросы на него идут только если клиент входит в политику по умолчанию. при привязке клиента к пользовательской политике запросы идут мимо Adguardhome несмотря на привязку клиента к dns профилю "AdGuardHome".
  10. Такс проверено, работает, заодно оптимизировал на максимальное использование штатного функционала. Как выясняется все равно инструкцию надо менять, так как с версии 4.0 скрипты в папке /opt/etc/ndm/ifstatechanged.d/ считаются устаревшими https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmifstatechangedd-obsoleted-since-40-kept-only-for-backward-compatibility. Соответственно дубль 2: Требования - KeenOS версия 4.х Развёрнутая среда Entware, Рабочее VPN-соединение поверх провайдерского, по которому будет идти обращение к определённым доменам Для работы через ipv6 наличие рабочего ipv6 на основном подключении и VPN Установка пакетов Подразумевается, что AGH будет использоваться вместо встроенной в прошивку службы DNS Proxy. Установите необходимые пакеты: opkg install adguardhome-go ipset iptables ip-full curl jq Выполните первоначальную настройку AGH, для чего в CLI роутера наберите: opkg dns-override system configuration save В этот момент Entware-сервисы будут перезапущены, а интерфейс для первоначальной настройки AGH станет доступен по адресу http://192.168.1.1:3000, где 192.168.1.1 — IP-адрес роутера. Настройки по умолчанию подходят для большинства случаев. Скриптовая обвязка Результаты разрешения указанных доменных имён AGH будет помещать в ipset (bypass/bypass6 в примере), правилами iptables трафик по этим IP-адресам будет помечаться fwmark, c идентификатором соответствующим политике в KeenOS. Первый скрипт — создание 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 ipset create bypass6 hash:ip family inet6 fi И еще пара скриптов для пометки трафика с помощью fwmark. Актуальная прошивка активно использует эту возможность, поэтому маркировать трафик приходится точечно. В двух последующих скриптах заменить <Имя полиси> на название политики в которую нужно перенаправлять трафик Создайте файл /opt/etc/ndm/netfilter.d/010-bypass.sh c контентом для пометки ipv4 трафика: #!/bin/sh [ "$type" == "ip6tables" ] && exit [ "$table" != "mangle" ] && exit [ -z "$(ipset --quiet list bypass)" ] && exit if [ -z "$(iptables-save | grep bypass)" ]; then mark_id=`curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == "<Имя полиси>") | .mark'` iptables -w -t mangle -A PREROUTING ! -i nwg0 -m conntrack --ctstate NEW -m set --match-set bypass dst -j CONNMARK --set-mark 0x$mark_id iptables -w -t mangle -A PREROUTING ! -i nwg0 -m set --match-set bypass dst -j CONNMARK --restore-mark fi Создайте файл /opt/etc/ndm/netfilter.d/011-bypass6.sh c контентом для пометки ipv6 трафика: #!/bin/sh [ "$type" != "ip6tables" ] && exit [ "$table" != "mangle" ] && exit [ -z "$(ipset --quiet list bypass6)" ] && exit if [ -z "$(ip6tables-save | grep bypass6)" ]; then mark_id=`curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == "<Имя полиси>") | .mark'` ip6tables -w -t mangle -A PREROUTING ! -i nwg0 -m conntrack --ctstate NEW -m set --match-set bypass6 dst -j CONNMARK --set-mark 0x$mark_id ip6tables -w -t mangle -A PREROUTING ! -i nwg0 -m set --match-set bypass6 dst -j CONNMARK --restore-mark fi В скриптах nwg0 — сетевой интерфейс VPN-соединения для выборочного обхода блокировок. Если затрудняетесь в его поиске, то посмотрите вывод команды ip addr. Сделайте скрипты исполняемыми: chmod +x /opt/etc/init.d/S52ipset chmod +x /opt/etc/ndm/netfilter.d/010-bypass.sh chmod +x /opt/etc/ndm/netfilter.d/011-bypass6.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,bypass6 instagram.com,cdninstagram.com/bypass,bypass6 epicgames.com,gog.com/bypass,bypass6 Т.е. в левой части через запятую указаны домены, требующие обхода блокировок, справа после слэша — ipset, в который AGH складывает результаты разрешения DNS-имён. Можно указать всё в одну строчку, можно разделить логически на несколько строк как в примере. Домены третьего уровня и выше также включаются в обход блокировок, т.е. указание intel.com включает www.intel.com, download.intel.com и пр. Рекомендую добавить какой-нибудь «сигнальный» сервис, показывающий ваш текущий IP-адрес (ipinfo.io в примере). Так вы сможете проверить работоспособность настроенного решения. Учтите, что AGH не перечитывает изменённый файл, поэтому после правки перезапустите его с помощью: /opt/etc/init.d/S99adguardhome restart Диагностика проблем Убедитесь в том, что набор ipset создан и наполняется в процессе работы: # Проверка ipv4 ipset --list bypass # Проверка ipv6 ipset --list bypass6 Вывод должен быть не пустой. Посмотрите, существуют ли правила netfilter для пометки пакетов: # Проверка ipv4 iptables-save | grep bypass # Проверка ipv6 ip6tables-save | grep bypass6 После перезагрузки роутера проверьте в веб-интерфейсе Системный журнал, в нём не должно быть красных строк, связанных с настроенными скриптами. В итоге:
  11. Идеи кончились... Можно выяснить какой именно скрипт все сломал?
  12. Это полный вывод? В этом выводе нет маршрута по умолчанию, и fd префикс это от vpn туннеля?
  13. Нет, это проверка типа хука. Значит не отваливается. Далее уже сложно без селфтеста угадывать... Ну попробуем. Какой выхлоп у команды: show ipv6 route
  14. Понятнее не стало. Что значит отваливается? На интерфейсе поровайдера префикс остаётся?
  15. Тут нужно прдробнее, что не получает, что за провайдер.
  16. Никак, просто его в самый низ по приоритетам сдвинуть и оно не будет использоваться.
  17. Нет там ссылка на маркировку, а привязка к таблице в первом скрипте: Если маркировка 1001 то идти в таблицу 42. Если очень хочется можно везде сменить и маркировку тоже на номер таблицы, но это если хочется чтоб было красиво), на функционал не влияет.
  18. Нет, нетфильтр остается, это маркировка трафика для перенаправления в нужную таблицу маршрутизации
  19. Также можно упростить инструкцию и вместо создания маршрутов скриптами использовать нативные политики keenos, которые уже являются таблицами маршрутизации. Просто создаем политику и включаем в нее требуемый vpn туннель. Далее с помощью команды cli show ip policy смотрим связанный с политикой номер таблицы маршрутизации: И используем эту таблицу в скрипте /opt/etc/init.d/S52ipset в таком случае скрипты /opt/etc/ndm/ifstatechanged.d/010-bypass-table.sh и /opt/etc/ndm/ifstatechanged.d/011-bypass6-table.sh вообще не нужны. Эту функцию будет выполнять сама KeenOS, ну и бонусом будет резервирование/агрегация каналов предоставляемая политиками.
  20. Такс, подправил скрипт, сократив количество проверок, попробуйте с ним.
  21. Да, этот кусок [ "$1" == "hook" ] || exit 0 не нужен. Зы, если все равно не создастся, отлавливать какое из условий скрипта не отрабатывает. Зы2 chmod +x для новых скриплов было выполнено?
  22. Дополненная инструкция для поддержки ipv6. Требуется KeeneticOS 4.x+ и настроенный ipv6 на туннельном интерфейсе Дополнен скрипт /opt/etc/init.d/S52ipset, добавлены скрипты /opt/etc/ndm/netfilter.d/011-bypass6.sh и /opt/etc/ndm/ifstatechanged.d/011-bypass6-table.sh Скрипт с примером /opt/etc/AdGuardHome/ipset.conf дополнен ipset`ом bypass6 ЗЫ работоспособность скриптов проверил, но сейчас в локации без v6 так что полностью проверю через пару дней как буду дома(там аналогичная конструкция работает).
×
×
  • Create New...