AdGuardHome na bramce AIS

Czym jest AdGuardHome

Opis jak zainstalować AdGuardHome na bramce DEV/PRO

Odpalamy konsolę bramki, a następnie pobieramy AdGuardHome:

cd ~
curl -L https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.106.3/AdGuardHome_linux_armv7.tar.gz -o adguard.tar.gz

Rozpakowujemy:

tar -zxvf adguard.tar.gz
cd AdGuardHome/

Pobieramy przygotowany config z mojego gita:

curl -L https://raw.githubusercontent.com/stravinci/home_assistant_configs/master/AdGuardHome.yaml -o AdGuardHome.yaml

Dodajemy automatyzację ustawiającą port-forwarding:

alias: DNS service port forwarding
description: ''
trigger:
  - platform: homeassistant
    event: start
condition: []
action:
  - service: ais_shell_command.execute_command
    data:
      command: >-
        if ! su -c "/system/bin/iptables -L PREROUTING -t nat -n |grep -q
        8053";then  su -c "/system/bin/iptables -t nat -A PREROUTING -p udp
        --dport 53 -j REDIRECT --to-port 8053"  su -c "/system/bin/iptables -t
        nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-port 8053"fi
mode: single

Oraz ją jednorazowo uruchamiamy ręcznie, w przyszłości będzie uruchamiać się za każdym uruchomieniem HomeAssistant:

Dodajemy startowanie AdGuardHome do menadżera PM2:

pm2 start ~/AdGuardHome/AdGuardHome --name AdGuard --output /dev/null --error /dev/null --restart-delay=150000

Zapisujemy ustawienia PM2:

pm2 save

Usługa jest uruchomiona. Konfigurator jest dostępny pod adresem bramki z portem 3000.

http://<ip_bramki>:3000/

Teraz wyjaśnienia kilku ustawień w config’u pobranego z mojego gita:

Port na którym jest konfigurator AdGuardHome:

bind_port: 3000

Login i hasło do konfiguratora, można zmienić przed uruchomieniem lub po z poziomu konfiguratora, hasło będzie zaszyfrowane w config’u:

users:
- name: admin
  password: admin

Port na którym wystawiona jest usługa:

  port: 8053

Tutaj wyjaśnione przez @araczkowski dlaczego tak a nie inaczej:

Pod adresem:

http://<ip_bramki>:3000/#guide

jest kilka instrukcji jak ustawić DNSy w różnych typach urządzeń.

Proszę o informację zwrotną z wątpliwościami, brakami instrukcji oraz rezultatami :slight_smile:

Moje uwagi

  1. Instalujesz AdGuardHome na swoja odpowiedzialność
  2. Nie mam pewności jak zachowa się bramka AIS mając ustawiony serwer DNS na samą siebie - odpalanie procesu AdGuardHome nie jest jej priorytetem, wiec w początkowej fazie uruchamiania bramki nie ma ona dostępu do internetu.
  3. Od wielu miesięcy używam AdGuardHome w domu i użytkownicy są zadowoleni z filtrowania reklam, a nawet blokowania scamerskich stron.
  4. Od tygodnia AdGuardHome mam postawiony również na bramce i póki co testuję tą instancję tylko na swoim telefonie - nie widzę różnicy w działaniu, więc w najbliższym czasie będę podejmował próby przełączenia głownego DNSa na routerze na ten z bramki.
  5. “Pełny reset aplikacji” czyli bramki nie przywróci nam tej usługi.
5 polubień

Dziękuję za instrukcję i jako beta tester potwierdzam działanie AdGuard Home na DEV1. @Stravi - a może dla samej bramki pozostawić standardowy serwer DNS na routerze głównym (bramie)?

1 polubienie

@Stravi Szacun :slight_smile:

@jolka dzięki

@Cezary.K ustawienie DNSa dla pojedynczej maszyny z poziomu routera może nie być łatwym zadaniem, na szybko poszukałem takiej opcji w swoim routerze UDM i nie znalazłem - musiałbym wydzielić bramkę AIS do odrębnej sieci i tam dać publiczny DNS, reszta urządzeń w dotychczasowych sieciach.
Ale można ustawić DNS na bramce, ustawiając statyczne IP podajemy też DNSy.

1 polubienie

Bardziej chodziło mi o ustawienie w bramce statycznego IP z DNS np 8.8.8.8 (przykładowy publiczny), a w wybranych urządzeniach ustawić aby pobierały z ADGuard czyli na adres bramki. Czy ustawienie DNS samą na siebie jest konieczne?

nie jest konieczne i jak najbardziej możesz ustawić tak jak napisałeś i ja miałem to na myśli pisząc to:

dlaczego chcesz przenieść to z routera na bramkę ?

Nie mam usługi DNS na routerze tylko na NUCu, a to jest ostatnia usługa na tej maszynie - po co ma zjadać prąd przez cała dobę jak może to robić proces na bramce.

1 polubienie

ok, pisałeś o przenosinach dns z routera i się zasugerowałem.

jakieś dodatkowe filtry do adguarda stosujesz ?

Polecam w wolnej chwili… może nie chwili, bo to 1,5h wykład, za to w bardzo przystępnym języku.

3 polubienia

Jak się zalogować bo admin admin nie działa gdyż wyświetla taki błąd:
Error: control/login | invalid username or password | 400

Z telefonu też jest identyczny efekt


Mimo iż w pobranym pliku są te dane logowania

edit: usnąłem ten wpis

i niby coś działa bo strona się ładuje ale jak wpisuje ip bramki w dns na urządzeniach typu telefon z androidem 12 czy komputer z Windowsem 10 nie ma na nich dostępu do Internetu

zaś przy próbie ponownej instalacji (ip:3000/install.html) mam komunikat Error: control/install/configure | 404 page not found | 404 a poazatym nie wykrywa innego interfejsu

ale w ustawieniach dhcp wykrywa ale też wywala błąd


choć nie wiem czy jest potrzeba włączania tej opcji ale integracje w ha udało sie dodać

A pozatym chyba coś jest skopane w tej konfiguracji bo nie można włączać czy dodawać filtrów bo wyświetla się Error: control/filtering/set_url | open /data/data/pl.sviete.dom/files/home/AdGuardHome/data/filters/.1.txt630961749104847074: no such file or directory | 400

@Akszyn
Czy Ty w ogóle rozumiesz jak działa ten filtrujący DNS (Adguard Home)?
Czy wiesz do czego służy serwer DHCP i dlaczego może być tylko jeden w danej sieci LAN?

Tak i dlatego chciałbym z niego skorzystać na bramce ale widziałem że nie ma potrzeby włączania tego adguardowego dns na filmiku zamieszczonym więc to jest tylko prezentacja błędów jakie wyskakują, a pozatym chyba wypakowanie i wgranie pliku yaml nie wystarczy bo wyskakują błędy z sesji 400 gdyż nie działa komenda do instalacji

$ ./AdGuardHome -s install
2023/08/07 18:34:02 [info] Service control action: install
2023/08/07 18:34:02 [fatal] Failed to install AdGuard Home service: open /etc/init.d/AdGuardHome: no such file or directory

więc poradnik chyba tego nie uwzględnia testów na gdyż samo uruchomienie na porcie 3000 nie gwarantuje że to zadziała

Rozumiem, że masz bramkę na starym sofcie (sprzed termuxa), czy zatem instalowałeś dostatecznie starą wersję adguarda?

nie udaje sie uruchomić a najstarsza wersja jaką można rozpakować to 103 ale podczas próby uruchomienia mam

$ ./AdGuardHome
2023/08/07 19:25:18 [info] AdGuard Home, version 0.103.3, channel release, arch linux arm v7
2023/08/07 19:25:18 [info] configuration file contains unknown schema_version, abort
2023/08/07 19:25:18 [fatal] configuration file contains unknown schema_version, abort

poprzednie wersje nie chcą się w ogóle rozpakować

$ tar -zxvf adguard.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

jedyna wersja która daje sie uruchomić to ta co w pierwszym poście

Pakiet AdGuard , który pobierasz pierwszym poleceniem musi być odpowiedni dla architektury sprzętu na jakim chcesz go instalować.

Czyli ta wersja z pierwszego wpisu nie zadziała bo dev1 ma wyższa architekturę i nie ma co próbować niższych?

Więc która wersję arm najlepiej powinienem pobrać? Release AdGuard Home v0.107.36 · AdguardTeam/AdGuardHome · GitHub

Dopiero w tym zdaniu zdradziłeś, że próbujesz instalacji na DEV1 czyli powinno być OK z pakietem dla
AdGuardHome_linux_armv7.tar.gz
Coś mi się wydaje, że nie wczytuje się prawidłowo plik konfiguracyjny.

EDIT:
Chwila… a czy DEV1 nie ma czasem architektury arm8l?

Wpisz do konsoli polecenie lscpu

cały czas chodzi o dev1 (na tym koncie pisze tylko o dev1 a na drugim koncie o dev 3 tylko)

$ lscpu
Architecture:        armv8l
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           4
Vendor ID:           ARM
Model:               4
Model name:          Cortex-A53
Stepping:            r0p4
CPU max MHz:         1200.0000
CPU min MHz:         100.0000
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 wp half thumb fastmult vfp edsp neon vfpv3 tlsi vfpv4 idiva idivt
$ 

wiec nie wiem czy próbować jeszcze starszego arm v5 czy kombinowaćw edycję pliku instalacyjnego bo to plik raczej pod typowego linuxa a nie androida

Na architekturze arm soft nie zawsze jest kompatybilny wstecz tak jak na x86 (gdzie na x64 można odpalić soft nawet dla i386), więc nie schodziłbym poniżej armv7 (wręcz jestem przekonany, że armv5 jest niekompatybilny z armv7).

arm8l znaczy mniej więcej tyle, że na procku 64-bitowym masz prawdopodobnie odpalony 32-bitowy system, więc musisz w nim odpalić oprogramowanie 32-bitowe
(bo 64-bitowe na 100% nie poleci, więc zapomnij o tym, że skoro procek jest armv8 to możesz odpalić cokolwiek aarch64)

Wyżej pisałem o wersji z czasów “przedtermuxowych”, ale nie o tym żebyś pobierał najstarszą możliwą wersję, skoro autorowi wątku to działało 2 lata temu, to najwyraźniej wtedy zależności były zachowane.