Jump to content

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

Moderators
  • Posts

    1,212
  • Joined

  • Last visited

  • Days Won

    25

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

  1. В 08.12.2019 в 01:25, Krabik сказал:

    Но при это я хочу чтобы некоторые приложения (например браузер Chrome) ВСЕГДА ходили только через резервный.

    Кстати, можно помечать трафик от отдельных приложений, а на кинетике для помеченного трафика использовать отдельную таблицу роутинга.

    И никакой SOCKS-прокси не понадобится.

  2. Два девайса разнесены пространственно и соединены одним ethernet-кабелем. Подскажите не накосячил ли я где в конфигах? Всё работает, но хочу убедиться, что настроено правильно.

    Для минимизации телодвижений (thnx to @KorDen) в WAN-порт Keenetic Peak вставлен кабель от MikroTik, отличия от заводского конфига минимальные:

    interface GigabitEthernet1/Vlan100
        security-level public
        ip dhcp client dns-routes
        ip dhcp client name-servers
        up
    
    interface Bridge0
        include GigabitEthernet1/Vlan100

    Другими словами, в кабеле между роутерами ходит не тегированный WAN провайдера и тегированный домашний LAN. 

    MikroTik hEX RB750Gr3 сброшен без загрузки дефолтного конфига и настроен с нуля:

    /interface bridge
    add name=lan
    add name=wan
    /interface vlan
    add interface=ether2 name=ether2vlan100 vlan-id=100
    /interface bridge port
    add bridge=wan interface=ether1
    add bridge=wan interface=ether2
    add bridge=lan interface=ether3
    add bridge=lan interface=ether4
    add bridge=lan interface=ether5
    add bridge=lan interface=ether2vlan100
    /ip dhcp-client
    add interface=lan

    Соответственно, в ether1 торчит WAN от провайдера, ether2 соединён с Кинетиком.

    MikroTik выступает только в роли свитча.

    1.gif

  3. Перекладка зарегистрированных со статическим IP-адресом клиентов кинетика в интерфейс AdGuardHome:

    opkg install curl jq
    
    curl --silent http://localhost:79/rci/show/ip/hotspot | \
    jq -c '.host[] | select(.dhcp.static != null) | {ids: [.ip], name: .name, tags: [], upstreams : [], use_global_blocked_services: true, use_global_settings: true}' | \
    while read postbody; do
        curl --header 'Content-Type: application/json' --request POST --data-binary "$postbody" http://user:pass@localhost:3000/control/clients/add
    done

    user:pass — учётные данные для доступа к интерфейсу Adguardhome, замените на свои.

     

    Удаление всех клиентов AdGuardHome:

    #!/bin/sh
    
    API='http://user:pass@localhost:3000/control'
    curl --silent $API/clients | jq -c '.clients[] | {name: .name}' | \
    while read postbody; do
        curl --header 'Content-Type: application/json' --request POST --data-binary "$postbody" $API/clients/delete
    done

     

    • Thanks 2
    • Upvote 3
  4. 7 часов назад, zyxmon сказал:

    Есть еще различия в самом go - папка, где сертификаты, таймзона. Некоторые бинарники, написанные на go это используют и стандартно собранные не будут работать.

    Да, всё так. Однако авторы adguardhome сами подстроились под Entware-сертификаты. 

  5. 12 часа назад, Proms сказал:

    Спасибо! Не подскажете, чем отличается версии linux_arm64 с github и adguardhome-go из opkg? adguardhome-go это какой то порт что ли?

    К текущему моменту почти ничем, различия косметические

    На оффсайте adguardhome релизы появляются раньше, а в Entware попадают спустя ~2 месяца.

  6. Никак. Это ядерные модули, которые из «чужой» системы загрузить на кинетике не получится. Надо обращаться к разрабам прошивки. Если ваша задача интересная и может быть полезна другим, то шансы довольно высоки.

  7. В 03.05.2022 в 14:35, Solomon сказал:

    У меня зарезервировано статическое доменное имя myrouter.keenetic.link через порт которого  (280) я пытаюсь достучаться до приложения. 
     

    Что сделал/чего достиг:

    По состоянию на сейчас внутри моей сети всё работает безупречно - я с мобильного приложения могу отдать команду сигнализации, она в свою очередь в приложение успешно кидает тревогу при нарушении, что и вижу в мобильном приложении.

    Внешние подключения в вашем сценарии будут возможны только для домена четвёртого уровня. В интерфейсе: Доменное имя → Добавить.

    Тогда подключения (пример) к http://alarm.myrouter.keenetik.link будут переадресованы на порт TCP280 вашего приложения внутри сети.

  8. В 22.06.2022 в 22:04, Dim McAlastair сказал:

    Скажите, а можно как-то приспособить для кинетика вот это вот решение с использованием bind: https://openwrt.org/docs/guide-user/services/dns/bind-server-filter-aaaa? Чтоб как и в описанном примере bind работал, как дополнение к прошивочному DNS и занимался обработкой запросов только на конкретные домены?

    Лично я бы не стал связываться с bind ради такой мелочи, легче будет сладить с конфигом dnsmasq. К счастью, нужный для вас функционал dnsmasq'а появился в последних релизах adguardhome. Я оставил ссылку с примером в предыдущей теме.

    • Thanks 1
  9. Есть возможность использовать многие дистрибутивы Linux в chroot-среде при условии, если они собраны для нужной архитектуры. В частности, на MIPS-роутерах можно использовать Debian, на AARCH64 выбор ещё больше.

    Предлагаю установочный архив для установки на Keenetic KN-2710 легковесного дистрибутива Alpine Linux, основанного на musl и busybox. Дистрибутив получил широкое распространение в облачных средах и имеет в т.ч. официальные релизы для минималистичного развёртывания в chroot-среде. 

    Для установки:

    • убедитесь, что версия прошивки кинетика 3.9 Alpha 0.3 или новее,
    • подготовьте USB-носитель, отформатированный в EXT2/3/4,
    • скачайте или подготовьте самостоятельно установочный архив install-alpine-minirootfs-*-aarch64.tar.gz,
    • поместите его в папку install на USB-носителе,
    • выполните в CLI кинетика следующие команды:
    opkg chroot
    opkg initrc /opt/etc/ndm/initrc
    opkg opkg disk <volume>

    где <volume> - соответствующий EXT2/3/4 раздел на USB-накопителе.

    Для входа в Alpine Linux используйте SSH-подключение к порту TCP2222. Не забудьте после первого подключения изменить учётные данные root:alpine. Все скрипты, специфичные для работы кинетика находятся в папке /etc/ndm.

    Система инициализации OpenRC внутри среды полностью работоспособна, пример добавления xrdp в автостарт:

    rc-update add xrdp

     

    • Thanks 5
    • Upvote 2
  10. Строго по wiki:

    git clone https://github.com/Entware/Entware.git && cd Entware
    make package/symlinks
    cp -v configs/mipsel-3.4.config .config
    make tools/install
    make toolchain/install
    make target/compile

    Галки в `make menuconfig` трогать незачем, просто собирайте нужный пакет:

    make V=s package/<name>/compile 

    Можно руководствоваться документацией по OpenWrt Buildroot'у.

    • Thanks 1
  11. 7 часов назад, Goga777 сказал:

    Где лучше ставить adh - на роутере гига3 или на VPS для своей домашней сети? Процессор или память на гига3 не будут перегружены ?

    Очень хороший вопрос. С одной стороны на виртуалке дома больше ресурсов, с другой, появляется ещё одна точка отказа. Лично я не ставил на MIPS-роутеры agh из-за своих предубеждений по поводу софта на GO.

    На ARM-роутере никаких проблем нет точно. Разве что настройки по умолчанию могут раздуть логи.

    Остановился на виртуалке, где нагрузки от agh вовсе не чувствуется. Повторюсь, всё это IMHO.

    PVE_AGH_Summary.png

    • Upvote 1
  12. @ale_xb, у вас единственная нерешённая задача:

    7 часов назад, ale_xb сказал:

    Хочется, чтобы узлы в домашней LAN, автоматически получающие ip адресацию по DHCP, также автоматически регистрировали свой hostname в dnsmasq,

    верно? Пока не понял зачем вас связки MAC-hostname, если надо просто разрешать имена из локальной сети, например, myclient.lan. Достаточно строчки в конфиге dnmasq:

    server=/lan/127.0.0.1#10053

     

  13. Я бы попробовал следующее:

    • назначил основным DNS-сервером dnsmasq,
    • в настройках кинетика прописал локальный домен, например, lan,
    • указал dnsmasq'у разрешать имена домена .lan через прошивочный DNS-сервис.
  14. 7 часов назад, Aftalik сказал:

    *.fbcdn.net - так нельзя?

    Для этой цели придётся использовать dnsmasq, который умеет наполнять определённый ipset результатами разрешения заранее перечисленных DNS-имён. Как это подружить с bird4 я не знаю.

     

  15. Значит, в том контексте, где вы проверяете эту переменную она не определена. К примеру, экспорт переменной в /opt/etc/init.d/S00soft повлияет на дочерние процессы этого скрипта, но никак не скажется на родительском окружении SSH, в который вы вошли.

     

×
×
  • Create New...