UniFi Security Gateway - blokování reklam a trackerů
18.03.2020 - Jedná se o jedno z nejúčinějších blokování reklamního obsahu a trackerů. Nedochází k blokování obsahu v prohlížeči (tak jak to činí například oblíbený AdBlock), ale přímo na úrovni UniFi Security Gateway (je jedno, zdali máte "základní" model USG nebo USG Pro), který "závadové" vybrané IP adresy nahrazuje v rámci DNS adresou IP 0.0.0.0. Tedy při požadavek na konkrétní URL se nezobrazí žádný obsah.
Můžete jet podle originálního návodu v angličtině, případně jsem pro vás níže připravil předklad a doplnění blokování CZ domén.
Pro každý návod je třeba mít připojen USG prostřednictvím SSH, tedy v případě Windows doporučuji například program Putty. Tedy v konzoli musíte vidět:
admin@USG-PRO:~$
Nyní se přihlásíme jako administrátor:
sudo -i
Přepneme se do požadovaného adresáře:
cd /config/scripts
Nyní provedeme stažení skriptu ve verzi 8.5 pro blokování přímo do požadovaného adresáře:
curl 'https://raw.githubusercontent.com/unifiMynet/dnsmasqAdBlock/master/getBlacklistHosts.V8.6.zip' > getBlacklistHosts.zip
Rozbalíme stažený soubor:
unzip getBlacklistHosts.zip
Uklidíme po sobě, tedy smažeme stažený ZIP:
rm getBlacklistHosts.zip
Nastavíme práva pro spuštení skriptu:
chmod +x getBlacklistHosts.sh
Nyní stáhneme definiční soubor "závadových" adres, které používám já (klidně můžete přeskočit, ale jsou zde další CZ domény, které v ostatních cizích seznamech nejsou):
curl 'https://www.s474n.com/download/USG/dnsblacklist.txt' > dnsblacklist
Spustíme skript a při prvním spuštění si vytvoří konfigurační soubor (getBlacklistHosts.conf):
./getBlacklistHosts.sh
Znovu spustíme skript, který pojede dle výchozí konfigurace v konfiguračním souboru. Ta je nastavena tak, že se nemusíte o nic starat, pokud výslovně nechcete "whitelistovat" konkrétní domény, apod. Zde už bych odkázal na originální návod (odkaz nahoře):
./getBlacklistHosts.sh
Vše by se mělo okamžitě zprovoznit, což si můžeme ověřit přes příkaz nslookup, kam záznam požadované domény směřuje, tedy například:
nslookup testMyLocalUSGDNS.com
Odpovědět by nám měl u dané domény záznamem adresy 0.0.0.0:
Nazev: testMyLocalUSGDNS.com Address: 0.0.0.0
Pokud se zobrazí výše uvedená IP adresa 0.0.0.0 u domény, máte vše v naprostém pořádku a blokovaných cca 93 tisíc unikátních adres. V případě, že vidíte jinou adresu, bude nutné zjistit, kde je problém, což se nejlépe hledá v logu, můžete tedy zkusit zadat následující příkaz a zjistit, co se nepovedlo:
cat /var/log/getBlackListHosts.log
V tomto kroku je již řešení problémů naprosto individuální a nelze tedy napsat jednoznačný návod. Zjednodušeně řečeno je dobré začít odstraněním vypsané chyby :)