Tímto článkem navazuji na předchozí díl na mém starším webu, první díl se věnoval zejména blokování reklam na routeru Turris a O2 smart boxech. Tento díl bych chtěl zaměřit na blokování reklam v moderních linuxových distribucích. Ukázky budou probíhat na Ubuntu 20.10.
Jak jsem v předchozím článku zmínil, je možné blokovat reklamy různými způsoby. Pokud blokuji reklamu již prostřednictvím routeru, nepotřebuji již blokovat prostřednictvím DNS, nebo /etc/hosts
. Blokování reklam prostřednictvím DNS – například pomocí systemd-resolved je pohodlná varianta, kterou využijete u notebooku, se kterým cestujete, nebo pokud nemůžete blokovat reklamy na routeru.
BLokování reklam prostřednictvím systemd-resolved
Pokud chceme v operačním systému blokovat reklamu prostřednictvím systemd-resolved, měli bychom mít systemd-resolved správně nakonfigurovaný, povolený a nastartovaný. Konfigurace se nachází v souboru /etc/systemd/resolved.conf. Soubory editujte po přihlášení na účet root prostřednictvím svého oblíbeného editoru.
Moje ukázka souboru /etc/systemd/resolved.conf
:
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
DNS=94.140.14.14 94.140.15.15 2a10:50c0::ad1:ff 2a10:50c0::ad2:ff
FallbackDNS=1.1.1.1
Domains=lan home
DNSSEC=no
DNSOverTLS=no
MulticastDNS=no
LLMNR=no
Cache=no-negative
DNSStubListener=yes
ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no
Code language: PHP (php)
IP adresy odkazují na dns.adguard.com, který na blokování reklam používám. Na počítači pro děti můžeme chtít kromě reklam blokovat i jiný obsah, který by mohl být závadný. V takovém případě můžeme použít jinou variantu DNS resolverů – ukazuji jen řádek, který se liší, IP adresy odkazují na dns-family.adguard.com:
DNS=94.140.14.15 94.140.15.16 2a10:50c0::bad1:ff 2a10:50c0::bad2:ff
Code language: PHP (php)
Volba Cache=no-negative je užitečná ze dvou důvodů, není ale dostupná ve starších verzích systemd-resolved:
- Nevyhodnocuje se každý dotaz, ale systém si pamatuje IP adresu, kterou dostal jako odpověď na dotaz.
- Nekešují se negativní odpovědi – tedy takové, kdy DNS resolver nereaguje nebo pošle odpověď, že server nenalezl.
Vytvoření správného symbolického odkazu na resolv.conf
Další konfigurace, která nás bude zajímat, je v souboru /etc/resolv.conf
. Tento soubor je zpravidla symbolický odkaz (symlink) a my potřebujeme, aby ukazoval na správné místo v operačním systému (/run/systemd/resolve/stub-resolv.conf
nebo /run/systemd/resolve/resolv.conf
).
Správné nasměrování uděláme v terminálu následujícími příkazy po přihlášení jako root (smazání souboru a vytvoření symlinku):
ln -svTf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Povolení a restartování systemd-resolved
Místo restartu můžeme použít start, pokud víme, že služba systemd-resolved neběžela už předtím.
systemctl enable systemd-resolved
systemctl restart systemd-resolved.service
Code language: CSS (css)
Ověření stavu systemd-resolved
systemctl status systemd-resolved.service
systemd-resolve google.com
systemd-resolve --status
Code language: CSS (css)
Pokud je status active (running) a na příkaz systemd-resolve google.com dostaneme odpověď obsahující IP adresy, máme vyhráno.
Pokud používáme network-manager, můžeme ještě říci explicitně network-manageru, aby používal systemd-resolved jako výchozí, to uděláme tak, že vytvoříme soubor /etc/NetworkManager/conf.d/dns.conf následujícím příkazem:
cat <<'EOF'>/etc/NetworkManager/conf.d/dns.conf
[main]
dns=systemd-resolved
EOF
Code language: JavaScript (javascript)
Kdo jsem:
IT nadšenec žijící v Kladně, system engineer, sysadmin, správce informačních systémů.
Proč jsem si založil tento web: někdo si píše deníček, někdo hraje hry, mne linux a svobodný software nepouští ani ve volném čase. Takže sem občas hodím nějakou svojí poznámku, která někomu možná pomůže.
Navíc, kdyby někdo potřeboval pomoc, tak mne může díky webu najít.
S čím vám mohu pomoci:
Počítač: Rád Vám pomohu s omlazením vašeho počítače (desktopu, notebooku) nebo sestavím nový.
Server: Chcete mít vlastní webový server, NAS (síťové úložiště), VPN server nebo CLOUD? Provozovat e-shop? I v tom vám mohu pomoci.
Domácí síť: Potřebujete vyřešit domácí síť, nejste spokojeni s rychlostí a kvalitou WiFi? Potřebujete připojit zařízení k VPN?
Počítač pro home office: Potřebujete nutně počítač pro home office, ale nechcete platit moc?
Počítač pro online výuku: Jste učitel nebo žák/student, či máte doma někoho, kdo je? Nemáte na čem pracovat? Pomohu vám to vyřešit.
Mám rád počítače a moderní technologie, Linux, zejména distribuce Ubuntu a Debian, CentOS a Rhel mi také nejsou cizí. Ve své práci se starám o více než 6000 linuxových serverů (Ubuntu, Red Hat Enterprise Linux, CentOS).
V minulosti jsem kromě správy linuxových serverů získal zkušenosti i se správou Windows Serverů a instalací a konfigurací linuxových a windowsových terminálů (například na docházku, nebo pro jídelny).
Jiří Meitner
IČ: 73763004
Fyzická osoba zapsaná v živnostenském rejstříku
podpora@ITisLove.cz
WhatsApp
Karla Tomana 830
Kladno
Středočeský kraj
272 04
Česko
Systémový inženýr, Linux administáror, správce informačních systémů, admin, IT specialista, IT help
Napsat komentář