IT is Love

Blokování reklam v operačních systémech II

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

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

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

Ověření stavu systemd-resolved

systemctl status systemd-resolved.service
systemd-resolve google.com
systemd-resolve --status

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

Summary
Blokování reklam v operačních systémech II
Article Name
Blokování reklam v operačních systémech II
Description
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.
Author
Publisher Name
ITisLove
Publisher Logo

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..