Ubuntu ir Firefox naudoju jau aštuntus metus ir pirmą kartą susidūriau su tokia problema. Firefox naršyklėje lenda Deal Fox blokai. Kadangi įjungtas AdBlock, tie blokai tušti. Kas tai ir kaip juos pašalinti?
As radau sprendima blokuoti reklamas, tracking servisus bei soc tinklus. Naudoju BIND tam. Stai paprastas budas kaip toki galima paleisti pas save.
Suprantama pirma instaliuoti bind|named (nelendu i tokias detales, forumas nera naujokams).
Tada paprastas setupas: /etc/namedb/blockeddomain.hosts
; This zone will redirect all requests back to the blackhole itself.
$TTL 600
@ 1D IN SOA localhost root (
42 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
5 IN A 127.0.0.1
Kuris nurodo, kad tarkim google.lt ip adresas bus 127.0.0.1
/etc/namedb/block.zones zonu failas kuriame "blacklistai":
zone "adcash.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "statcounter.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "facebook.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "primewire.ag" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "poll.fm" {type master; file "/etc/namedb/blockeddomain.hosts";};
zone "wwwpromoter.com" {type master; file "/etc/namedb/blockeddomain.hosts";};
Na ir kad paprasciau butu block parasiau paprasta shell skriptuka:
NAMED_ZONE="/etc/namedb/block.zones"
NAMED_HOST="/etc/namedb/blockeddomain.hosts"
if [[ $(/usr/bin/id -u) == 0 ]]; then
[[ -z ${1} ]] && exit
E=$(grep ${1} /etc/namedb/block.zones | awk '{print $2}' | sed 's/"//g')
if [[ ${1} != ${E} ]]; then
print "ok"
echo "zone \"${1}\" {type master; file \"${NAMED_HOST}\";};" >> ${NAMED_ZONE}
rndc reconfig
else
print "sorry, error."
fi
fi
Tokio setupo problemos:
1 Laikas kuris reikalingas blocklist sukurti (keleta valandu kol surenkama ka blokuoti).
Privalumai:
1 DNS caching (speeds up DNS queries).
2 Nereikia jokiu AD blockeriu, neapkrauna sistemos (-200 domains = ~ 15MB memory).
3 Toks setupas routeri leidzia apsaugoti visa jusu home network nuo pornografiniu, socialiniu ir panasiu tinklapiu.
Siūlau, mano galva, paprastesnį variantą (na serveris tikrai lengvesnis)
# apt-get install unbound
Šlamšto blokavimui tinka numatytieji nustatymai, pakanka prisidėti norimus DNS serverių adresus. Pavyzdžiui:
# egrep -v '^\s*#|^\s*$' /etc/unbound/unbound.conf | tr -s '\n'
server:
verbosity: 1
python:
remote-control:
forward-zone:
name: "."
forward-addr: 8.8.8.8 # Google Public DNS
forward-addr: 8.8.4.4 # Google Public DNS
Toliau pasileidžiam serverį, pasitikrinam, ant kokių portų jis kabo:
# invoke-rc.d unbound restart
Restarting recursive DNS server: unbound.
# unbound-control lookup google.com
The following name servers are used for lookup of google.com.
forwarding request:
Delegation with 0 names, of which 0 can be examined to query further addresses.
It provides 2 IP addresses.
8.8.8.8 not in infra cache.
8.8.4.4 not in infra cache.
# dig @localhost google.com
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @localhost google.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47732
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 299 IN A 2.127.252.242
google.com. 299 IN A 2.127.252.221
google.com. 299 IN A 2.127.252.231
<...>
Kol kas viskas veikia
Kad atkartoti tai, ką Techtronic scenarijus daro - sintaksė labai paprasta:
# unbound-control local_zone "google.com" static
# unbound-control local_data "google.com 3600 in A 127.0.0.1"
Tikrinam:
# dig @localhost google.com
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @localhost google.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48891
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 3600 IN A 127.0.0.1
;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Mon Feb 9 22:49:01 2015
;; MSG SIZE rcvd: 44
Taigi ir vėl viskas gražiai suveikė
Reikalui eisant, galima pašalinti įrašus po vieną:
#!/bin/bash
# Domain names
dn_lst=$(/usr/bin/curl -s http://malwaredomains.lehigh.edu/files/justdomains)
cat /dev/null > ./blocked_dn_zones.txt
cat /dev/null > ./blocked_dn_data.txt
function add_lzone() {
i=0
/usr/sbin/unbound-control local_zone "$1 static" &> /dev/null && i=$((i+=1))
/usr/sbin/unbound-control local_data "$1 3600 in A 127.0.0.1" &> /dev/null && i=$((i+=1))
test "$i" -eq 2 && echo "$1: Atlikta :)" || echo "$1: Nepavyko :/"
}
while read -r domain; do
echo "$domain static" >> ./blocked_dn_zones.txt
echo "$domain 3600 in A 127.0.0.1" >> ./blocked_dn_data.txt
add_lzone "$domain"
done <<< "$dn_lst"
Atlikau keletą testų Scenarijus aukščiau įkelia į žurnalą 21646 blokuojamą adresą. Blokuojamųjų URI pasiskolinau iš Techtronic scenarijaus http://ix.io/2Uy/sh.
Unbound dabar sunaudoja 9.9 MB operatyviosios atminties. Visai neblogai, ką manot?
PATAISYMAS:
Apsimelavau truputį
9.9 - tiek procentų atminties mano serveryje sunaudoja unbound
Ubuntu ir Firefox naudoju jau aštuntus metus ir pirmą kartą susidūriau su tokia problema. Firefox naršyklėje lenda Deal Fox blokai. Kadangi įjungtas AdBlock, tie blokai tušti. Kas tai ir kaip juos pašalinti?

As radau sprendima blokuoti reklamas, tracking servisus bei soc tinklus. Naudoju BIND tam. Stai paprastas budas kaip toki galima paleisti pas save.
Suprantama pirma instaliuoti bind|named (nelendu i tokias detales, forumas nera naujokams).
Tada paprastas setupas:
/etc/namedb/blockeddomain.hosts
Kuris nurodo, kad tarkim google.lt ip adresas bus 127.0.0.1
/etc/namedb/block.zones zonu failas kuriame "blacklistai":
/etc/bind/named.conf konfiguracija:
Na ir kad paprasciau butu block parasiau paprasta shell skriptuka:
Tokio setupo problemos:
1 Laikas kuris reikalingas blocklist sukurti (keleta valandu kol surenkama ka blokuoti).
Privalumai:
1 DNS caching (speeds up DNS queries).
2 Nereikia jokiu AD blockeriu, neapkrauna sistemos (-200 domains = ~ 15MB memory).
3 Toks setupas routeri leidzia apsaugoti visa jusu home network nuo pornografiniu, socialiniu ir panasiu tinklapiu.
Siūlau, mano galva, paprastesnį variantą (na serveris tikrai lengvesnis)
Šlamšto blokavimui tinka numatytieji nustatymai, pakanka prisidėti norimus DNS serverių adresus. Pavyzdžiui:
Toliau pasileidžiam serverį, pasitikrinam, ant kokių portų jis kabo:
Pasitikrinam, ar veikia forward direktyva:
Kol kas viskas veikia
Kad atkartoti tai, ką Techtronic scenarijus daro - sintaksė labai paprasta:
Tikrinam:
Taigi ir vėl viskas gražiai suveikė
Reikalui eisant, galima pašalinti įrašus po vieną:
Tikrinam:
Matot, kad ir vėl suranda g00gle serverius.
Laikui bėgant gali susikaupti nemažas sąrašas nepageidaujamų adresų, tad tą sąrašą galima išsisaugoti:
Jei taip atsitiktų, kad prisireikė serverį perkrauti, sąrašus įkelti galima taip:
Kokie pliusai?
1) Nereikia kurti zonų failų
2) Nereikia perkrauti serverio įkeliant zonas, taigi nepradingsta sukauptas cache
3) Labai nesudėtingai eksportuojami/importuojami adresų žurnalai
4) Optimaliau išnaudoja kompiuterio atmintį nei Bind (žr. žemiau)
Sėkmės
Išjungiau http://luu.lightquartrate.com/sd/apps/a ... Q9JnJpPQ==
Reklamų neberodo, bet tas velnias dar kompe. Tekste žymi nuorodas, vėrinėja naujus Firefox langus.

Firefox prieduose radau įdiegtą keistą įskiepį.Išjungiau ir viskas susitvarkė.

Wooow @Ghost, nuostabus darbas!
Atlikau keletą testų Scenarijus aukščiau įkelia į žurnalą 21646 blokuojamą adresą. Blokuojamųjų URI pasiskolinau iš Techtronic scenarijaus http://ix.io/2Uy/sh.
Unbound dabar sunaudoja
9.9 MBoperatyviosios atminties. Visai neblogai, ką manot?PATAISYMAS:
Apsimelavau truputį
9.9 - tiek procentų atminties mano serveryje sunaudoja unbound
Tikrieji skaičiai kitokie:
244516 KB viso.
244516 KB / 21646 = 11.3 KB (vienai zonai)
11.3 x 200 / 1024 = 2.21 MB (2'iems šimtams zonų).
Taigi:
15 MB / 2.21 MB = beveik 7 kartus mažiau atminties nei sunaudotų Bind su 200 zonų (kaip minėjo Techtronic).
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=6&t=9435