Kaip apeiti blokavimus per DNS: Smart DNS, DoH ir kodėl VPN ne visada reikalingas.
Reikalinga svetainė užblokuota. Kolega sako „įdiek VPN”. Įdiegiate, konfigūruojate, greitis krinta perpus — ir paaiškėja, kad pakako pakeisti vieną DNS serverį. Dvi minutės vietoj dvidešimt.
Arba atvirkščiai: pakeitėte DNS, vis tiek neatsidaro. Įdiegiate VPN — irgi neveikia. Nes ten veikia DPI, o paprastas VPN jau seniai užblokuotas.
Skirtumas tarp šių atvejų — supratime kaip tiksliai veikia blokavimas. Be to renkate įrankius aklai.
KAIP ŠALYS BLOKUOJA SVETAINES
Blokavimas — tai ne viena technologija. Tai keli lygmenys, ir kiekvienas sekantis sunkiau apeinamas.
Pirmas lygmuo: DNS blokavimas. Paprasčiausias ir labiausiai paplitęs. ISP sukonfigūruoja savo DNS serverius taip, kad jie grąžintų neteisingą atsakymą užblokuotiems domenams — arba puslapio-užtaisymo IP su tekstu „svetainė užblokuota”, arba tiesiog NXDOMAIN. Techniškai svetainė veikia, IP pasiekiamas — tiesiog DNS meluoja.
Būtent taip veikia dauguma blokavimų Lietuvoje, ES šalyse ir daugelyje kitų. Sprendžiama paprastai: pakeisti DNS į 1.1.1.1 arba 8.8.8.8 — ir blokavimo nebėra.
Antras lygmuo: IP blokavimas. ISP blokuoja ne domeną, o patį serverio IP adresą. DNS gali grąžinti teisingą atsakymą, tačiau paketai iki to IP nepasiekia — numetami maršrutizavimo lygmeniu. DNS keitimas čia nepadės. Reikalingas proxy arba VPN.
Trečias lygmuo: DPI — Deep Packet Inspection. ISP analizuoja paketų turinį realiuoju laiku. Mato ne tik paskirties IP, bet ir konkretų domeną SNI lauke TLS rankos paspaudime, HTTP Host antraštėje, arba net srauto šablonus. Būtent taip veikia Rusijos TSPU (techninės priemonės grėsmėms atremti) ir Kinijos Great Firewall. Prieš DPI nepadeda nei DNS keitimas, nei paprastas VPN su lengvai identifikuojamu protokolu. Reikalinga srauto obfuskacija.
Ketvirtas lygmuo: blokavimas pagal URL arba turinį. Retai pasitaiko, paprastai kartu su DPI. Blokuojama ne visa svetainė, o konkretūs puslapiai.
Atskiras atvejis — ISP DNS užgrobimas be jokių blokavimo sąrašų. Daugelis ISP perima NXDOMAIN atsakymus (domenas neegzistuoja) ir vietoj klaidos grąžina savo reklaminį puslapį. Suklydote domene — vietoj standartinės naršyklės klaidos matote ISP paieškos puslapį. Tai vyksta be jūsų žinios ir be jokio oficialaus registro. Sprendžiama tuo pačiu DNS pakeitimu į 1.1.1.1 arba DoH.
Blokavimo lygmens supratimas — tai pirmas žingsnis. Be jo renkate įrankius aklai.
KAIP NUSTATYTI BLOKAVIMO LYGMENĮ
Dauguma iškart šoka kažką konfigūruoti. Protingiau — pirmiausia skirti dvi minutes diagnostikai. Tinkamas įrankis priklauso nuo blokavimo tipo, o suklysti čia — reiškia praleisti valandą konfigūruojant tai, kas nepadės.
Pirmas žingsnis — patikrinkite DNS. Paklauskite ISP resolverio ir viešojo, palyginkite atsakymus:
# Paklauskite ISP DNS
dig @ISP_DNS uzblokuota-svetaine.com
# Paklauskite viešojo DNS
dig @1.1.1.1 uzblokuota-svetaine.com
dig @8.8.8.8 uzblokuota-svetaine.com
Atsakymai skirtingi — ISP klastoja DNS. Resolverio pakeitimas visiškai išsprendžia problemą, jokio VPN nereikia.
Atsakymai vienodi — DNS čia neprasikalto. Patikrinkite IP pasiekiamumą tiesiogiai:
curl -v --connect-timeout 5 https://uzblokuota-svetaine.com
traceroute uzblokuota-svetaine.com
Traceroute nutrūksta ISP mazguose — IP blokavimas, reikalingas proxy arba VPN. Ryšys užmezgamas, bet iškart atjungiamas — DPI, reikalinga obfuskacija.
Tuo pačiu metu patikrinkite DNS užgrobimą — ar ISP nekeičia neegzistuojančių domenų reklama:
# Paprašykite tikrai neegzistuojančio domeno
dig @ISP_DNS sio-domeno-tikrai-nera-12345.com
dig @1.1.1.1 sio-domeno-tikrai-nera-12345.com
ISP resolveris turėtų grąžinti NXDOMAIN — statusą reiškiantį „domenas neegzistuoja”. Jei vietoj to grąžina kokį nors IP — ISP perima NXDOMAIN atsakymus ir nukreipia į savo puslapį.
SMART DNS — KAS TAI IR KAIP VEIKIA
Smart DNS — tai ne VPN ir ne šifravimas. Tai DNS servisas, kuris tam tikriems domenams grąžina savo proxy serverio IP vietoj tikrojo. Naršyklė eina pas proxy, proxy atlieka užklausą iš savo IP — kuris yra kitoje šalyje — ir grąžina atsakymą jums.
Kodėl reikalingas kitos šalies IP? Daugelis blokavimų veikia pagal geografiją: svetainė pasiekiama iš Vokietijos, bet nepasiekiama iš Rusijos ar Baltarusijos. Smart DNS proxy yra šalyje, kurioje svetainė prieinama — ir atlieka užklausą iš ten. Paskirties svetainė mato proxy IP, o ne jūsų. ISP mato ryšį su proxy, o ne su užblokuota svetaine.
Esminis skirtumas nuo VPN: per proxy eina tik užklausos į užblokuotas svetaines. Visas kitas srautas — tiesiogiai, be tunelio, be greičio praradimo.
Veikimo schema:
- Įrašote Smart DNS tiekėjo DNS vietoj įprastinio
- Prašote užblokuotos svetainės
- DNS grąžina Smart DNS tiekėjo proxy IP
- Naršyklė prisijungia prie proxy
- Proxy atlieka užklausą iš reikiamos šalies IP
- Gaunate turinį
Privalumai: greita, nereikia konfigūruoti VPN kliento, neturi įtakos kitų svetainių greičiui, veikia įrenginiuose kur VPN nesukonfigūruoti (Smart TV, žaidimų konsolės, maršrutizatoriai).
Trūkumai: neprideda šifravimo — jei svetainė veikia per HTTP, ISP mato turinį. HTTPS svetainėms turinys jau užšifruotas TLS, tačiau ISP mato proxy IP ir gali suprasti, kad apeinamas blokavimas. Veikia tik prieš DNS blokavimus. Prieš IP blokavimus ir DPI bejėgis. Reikalauja pasitikėjimo Smart DNS tiekėju — visas srautas į užblokuotas svetaines eina per jį.
Konfigūracija Linux serveryje — tiesiog pakeičiate DNS:
# /etc/resolv.conf
nameserver SMART_DNS_TIEKEJO_IP
Arba per systemd-resolved:
# /etc/systemd/resolved.conf
[Resolve]
DNS=SMART_DNS_TIEKEJO_IP
DOH KAIP APĖJIMO ĮRANKIS
DNS over HTTPS sprendžia kitą užduotį — šifruoja DNS užklausas. Tačiau tai turi svarbų šalutinį poveikį: ISP nemato kokius domenus rezolvuojate ir negali suklastoti atsakymo.
Jei blokavimas veikia per DNS klastojimą — DoH jį apeina automatiškai. Rezolvuojate per Cloudflare 1.1.1.1 arba Google 8.8.8.8 šifruotu kanalu 443 prievade. ISP mato tik HTTPS srautą — negali nei suklastoti atsakymo, nei suprasti kad tai DNS.
Svarbu atskirti DoH nuo DoT. systemd-resolved palaiko tik DoT — DNS over TLS 853 prievade. DoT taip pat šifruoja srautą ir slepia DNS užklausas nuo ISP, tačiau veikia atskirame 853 prievade, kurį galima užblokuoti. DoH veikia 443 prievade — tame pačiame kaip HTTPS — ir užblokuoti jo nesugadinant viso interneto praktiškai neįmanoma.
DoT per systemd-resolved:
# /etc/systemd/resolved.conf
[Resolve]
DNS=1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google
DNSOverTLS=yes
systemctl restart systemd-resolved
Patikrinimas ar veikia:
resolvectl status | grep "DNS over TLS"
Tikram DoH 443 prievade — dnscrypt-proxy. Lengvas proxy su DoH palaikymu, prieinamas standartinėse saugyklose nuo Debian 13 ir Ubuntu 25. Senesnėse distribucijose diegiamas iš GitHub releases:
apt install dnscrypt-proxy # Debian 13+ / Ubuntu 25+
dnf install dnscrypt-proxy # RHEL/Fedora
Sukonfigūruokite upstream serverius konfigūracijos faile:
# /etc/dnscrypt-proxy/dnscrypt-proxy.toml
listen_addresses = ['127.0.0.1:5300']
server_names = ['cloudflare', 'quad9']
systemctl enable --now dnscrypt-proxy
Nurodykite dnscrypt-proxy kaip DNS resolverį systemd-resolved:
# /etc/systemd/resolved.conf
[Resolve]
DNS=127.0.0.1:5300
DNSOverTLS=no
systemctl restart systemd-resolved
dnscrypt-proxy perduoda visas užklausas per DoH 443 prievadą. ISP mato įprastą HTTPS srautą.
Apribojimai: DoH ir DoT veikia tik prieš DNS blokavimus. Jei svetainė užblokuota pagal IP arba per DPI — nepadės. ISP nemato DNS užklausų, tačiau mato paskirties IP ir SNI TLS.
VPN PRIEŠ SMART DNS PRIEŠ DOH — KAS IR KADA
Pagrindinė klaida — rinktis įrankį prieš suprantant kas tiksliai užblokuota. VPN nepadeda prieš DNS blokavimus geriau nei resolverio pakeitimas — tiesiog lėčiau ir brangiau.
DNS blokavimas — ISP klastoja DNS atsakymus. Labiausiai paplitęs tipas ES ir daugelyje šalių su vidutine cenzūra. Sprendimas: pakeisti DNS į 1.1.1.1. Tiesiogine prasme trisdešimt sekundžių. DoH — tas pats plius užklausų šifravimas. Smart DNS — jei reikalingas kitos šalies IP. VPN veikia, tačiau per didelis kaip plaktukas viniai įkalti.
IP blokavimas — svetainės IP fiziškai nepasiekiamas, paketai numetami. DNS čia visiškai neprasikalto — galite rezolvuoti per bet kurį serverį, teisingas IP vis tiek neatsakys. Reikalingas proxy arba VPN.
DPI — gili paketų inspekcija. ISP mato ne tik paskirties IP, bet ir domeno pavadinimą SNI, srauto šablonus, protokolų parašus. DNS keitimas beprasmis — užklausa bus rezolvuota teisingai, bet ryšys vis tiek bus nutrauktas. Standartinis WireGuard arba OpenVPN lengvai identifikuojamas pagal parašus. Veikia tik obfuskuotas srautas: Shadowsocks, VLESS su reality, Trojan — protokolai, apsimetantys įprastu HTTPS.
Atskiras spąstas naudojant VPN — DNS nutekėjimai. VPN sukonfigūruotas, srautas eina per tunelį, tačiau DNS užklausos toliau rezolvuojamos per ISP, aplenkiant VPN. Taip atsitinka todėl, kad daugelis VPN klientų sukuria tunelį IP srautui, tačiau neliečia sistemos DNS — jis toliau naudoja tą resolverį kuris buvo sukonfigūruotas prieš prisijungiant. Manote kad apėjote blokavimą, o ISP vis dar mato visus jūsų prašomus domenus.
Tikrinama dnsleaktest.com — svetainė parodo per kurį resolverį eina jūsų DNS užklausos. Jei rezultatuose matote ISP IP vietoj VPN serverio — yra nutekėjimas. Ištaisoma VPN kliento nustatymuose (parinktis „DNS leak protection” arba „Use VPN DNS”) arba priverstinai sukonfigūruojant DoT/DoH virš VPN.
REALYBĖ PAGAL ŠALIS
Lietuva ir dauguma ES šalių. Blokavimai egzistuoja — azartiniai žaidimai, piratinis turinys, kai kurios finansinės paslaugos. Įgyvendinta per DNS ISP lygmeniu. DPI nėra. Sprendimas: DNS pakeitimas į 1.1.1.1 visiškai išsprendžia klausimą.
Rusija. Trys lygmenys vienu metu. Roskomnadzor tvarko registrą — ISP privalo blokuoti per DNS ir IP. Tačiau svarbiausia — TSPU: DPI įranga, įdiegta pas visus stambius ISP nuo 2019 metų. Būtent TSPU sulėtino Twitter 2021-aisiais ir dabar blokuoja VPN protokolus. DNS keitimas padeda prieš dalį blokavimų — tuos be IP blokavimo. Tačiau TSPU veikia giliau. Nuo 2023 metų įprastas WireGuard ir OpenVPN daugelyje ISP blokuojami arba sulėtinami — parašai atpažįstami. Kas veikia 2026 metais: Shadowsocks, VLESS su reality, Trojan. Pagrindinis principas — srautas turi būti neatskiriamai panašus į įprastą HTTPS. Kaip tai pasiekiama: įprastas VPN protokolas turi atpažįstamą parašą — charakteringą rankos paspaudimą, paketų šablonus, antraštes. DPI jį mato ir blokuoja. Shadowsocks šifruoja srautą taip, kad jis atrodo kaip atsitiktinis triukšmas. VLESS su reality eina toliau — apsimeta tikru TLS ryšiu su tikra svetaine, imituodamas jos fingerprint iki TLS rankos paspaudimo detalių. Trojan veikia virš tikro HTTPS ir yra tiesiogine prasme neatskiriamas nuo interneto srauto — nes ISP požiūriu ir yra interneto srautas.
Kinija. Great Firewall — techniškai pažangiausia filtravimo sistema pasaulyje. Ten užblokuoti viešieji resolveriai (8.8.8.8 ir 1.1.1.1 nepasiekiami). DPI visur. Dauguma VPN protokolų užblokuoti. Veikia tik giliai obfuskuotas srautas. DNS sprendimai beverčiai.
Baltarusija, Iranas. Lygmuo tarp Rusijos ir Kinijos. DPI yra, tačiau aprėptis neišsami. DNS keitimas ir DoH padeda kai kuriais atvejais. Patikimam apėjimui — VPN su obfuskacija.
PRAKTIKA: KĄ SUKONFIGŪRUOTI SERVERYJE
Bazinis lygmuo — DoT per systemd-resolved. Šifruoja DNS srautą, slepia užklausas nuo ISP:
# /etc/systemd/resolved.conf
[Resolve]
DNS=1.1.1.1#cloudflare-dns.com 8.8.8.8#dns.google
FallbackDNS=9.9.9.9#dns.quad9.net
DNSOverTLS=yes
DNSSEC=yes
systemctl restart systemd-resolved
resolvectl status
DoH per dnscrypt-proxy — jei DoT blokuojamas ISP (853 prievadas uždarytas). dnscrypt-proxy perduoda užklausas per DoH 443 prievadą. ISP mato įprastą HTTPS srautą. Prieinamas standartinėse saugyklose nuo Debian 13 / Ubuntu 25, senesnėse sistemose diegiamas iš GitHub releases.
apt install dnscrypt-proxy # Debian 13+ / Ubuntu 25+
dnf install dnscrypt-proxy # RHEL/Fedora
# /etc/dnscrypt-proxy/dnscrypt-proxy.toml
listen_addresses = ['127.0.0.1:5300']
server_names = ['cloudflare', 'quad9']
systemctl enable --now dnscrypt-proxy
Po to systemd-resolved:
# /etc/systemd/resolved.conf
[Resolve]
DNS=127.0.0.1:5300
DNSOverTLS=no
systemctl restart systemd-resolved
Patikrinimas ar DNS blokavimai apeinami:
# Palyginkite atsakymus
dig @8.8.8.8 uzblokuota-svetaine.com
dig uzblokuota-svetaine.com
Jei atsakymai sutampa — šifravimas veikia, ISP neklastoja atsakymų.
KODĖL DNS NĖRA SIDABRINĖ KULKA
Įsivaizduokite: užšifravote adresų knygą. Niekas nemato kur važiuojate. Tačiau kai išvažiuojate į gatvę — gatvės ženklas ir namo numeris vis tiek matomi visiems aplinkui.
Būtent taip veikia SNI — Server Name Indication. Tai laukas TLS rankos paspaudime, kur klientas atviruoju tekstu praneša domeno pavadinimą prie kurio jungiasi. Reikalinga kad serveris žinotų kurį sertifikatą pateikti — vienas IP gali aptarnauti šimtus domenų. DNS užšifruotas per DoH, tačiau domeno pavadinimas SNI matomas bet kuriam stebėtojui kelyje.
Būtent per SNI ISP su DPI nustato prie kokio domeno jungiatės — net jei DNS užklausa ėjo šifruotu kanalu. Todėl DoH slepia DNS užklausas, tačiau neslepia paties ryšio su užblokuotu resursu.
ECH — Encrypted Client Hello — šifruoja SNI. Cloudflare palaiko, Firefox palaiko. Tačiau ISP su DPI tiesiog blokuoja ryšius su ECH kaip įtartinus. Tai savaime parodo kaip rimtai jie žiūri į šį klausimą.
Išvada paprasta: DoH — gera praktika bet kokiu atveju, visada įjunkite. Tačiau prieš DPI DNS įrankiai nepadeda. Ten reikalinga srauto obfuskacija protokolo lygmeniu.
Svarbus niuansas kurį dažnai praleidžia: DoH nepanaikina pasitikėjimo problemos — jis ją perkelia. Anksčiau jūsų ISP matė visas DNS užklausas. Su DoH jas mato Cloudflare arba Google. Jūs tiesiog pakeitėte stebėtoją.
Naršyklės DoH eina toliau — jis tyliai apeina jūsų vietinį resolverį. Jei turite reklamos filtravimą, kenkėjiško turinio blokavimą arba DNS monitoringą tinklo lygmeniu — naršyklė su įjungtu DoH visa tai ignoruoja be jūsų žinios. Firefox naudoja Cloudflare, Chrome atnaujina sistemos DNS iki DoH — ir jūsų vietinis Pi-hole arba įmonės ugniasienė nustoja veikti naršyklės srautui.
Teisingas sprendimas kai reikalinga ir privatumas ir kontrolė — savas vietinis resolveris. dnscrypt-proxy arba Unbound su DoT upstream į 1.1.1.1 suteikia šifruotą išeinantį DNS srautą ir visišką kontrolę virš to kas filtruojama, registruojama ir blokuojama. Šifruojate srautą tarp savęs ir viešojo resolverio, tačiau išliekate savo tinklo šeimininku.
Įmonės tinkle naršyklės DoH reikia išjungti per grupines politikas. Kitaip darbuotojai apeina įmonės DNS — filtravimą, monitoringą, blokavimą — tiesiog atidarydami naršyklę su numatytaisiais nustatymais. DoT šiame kontekste geresnis: DNS išlieka atskiru servisu kurį galima kontroliuoti ir monitoruoti, tuo pačiu turint šifravimą.
Chrome DoH išjungiamas per registrą:
HKLM\SOFTWARE\Policies\Google\Chrome\DnsOverHttpsMode = off
Firefox — per įmonės policies.json:
{
"policies": {
"DNSOverHTTPS": {
"Enabled": false,
"Locked": true
}
}
}
Locked: true svarbu — be jo naudotojas gali vėl įjungti DoH per about:config.
Dar vienas nestandartinis scenarijus, kurį retai mini: pažeistas maršrutizatorius. Jei užpuolikas gavo prieigą prie maršrutizatoriaus — jis pakeičia DNS į savąjį DHCP nustatymuose. Visi tinklo įrenginiai automatiškai gauna jo resolverį ir rezolvuoja per jį. DNS pakeitimas rankiniu būdu įrenginyje padeda, tačiau ne visada — dalis įrenginių priverstinai ima DNS tik iš maršrutizatoriaus ir ignoruoja rankinius nustatymus.
Naršyklės DoH apeina tai visiškai — ir štai kodėl. Naršyklė su įjungtu DoH visiškai nenaudoja sistemos resolverio. Ji tiesiogiai siunčia užšifruotą DNS užklausą į 1.1.1.1 arba 8.8.8.8 per HTTPS. Maršrutizatorius mato tik HTTPS srautą 443 prievade — suklastoti jo be sertifikato neįmanoma. Užpuolikas valdo DNS serverį kurį platina maršrutizatorius, tačiau naršyklė tuo DNS serveriu niekada nesinaudoja. Būtent todėl naršyklės DoH — naudinga įprotis net patikimame tinkle.
KONTROLINIS SĄRAŠAS
Nustatykite blokavimo lygmenį prieš renkantis įrankį:
# DNS blokavimas?
dig @1.1.1.1 svetaine.com
dig @ISP_dns svetaine.com
# Ar IP pasiekiamas?
curl -v --connect-timeout 5 https://svetaine.com
# Kur nutrūksta traceroute?
traceroute svetaine.com
Pasirinkite įrankį:
— DNS blokavimas → pakeiskite DNS į 1.1.1.1 arba įjunkite DoH
— IP blokavimas → Smart DNS arba VPN
— DPI → VPN su obfuskacija (Shadowsocks, VLESS, Trojan)
Papildomai:
— DoH įjunkite bet kokiu atveju — šifruoja DNS nepriklausomai nuo blokavimų
— Serveriams nustatykite atsarginį DNS kad nepriklausytumėte nuo vieno tiekėjo
— Naudodami VPN patikrinkite DNS nutekėjimus dnsleaktest.com
IŠVADA
Ne visi blokavimai vienodi. DNS sprendimai — greiti, lengvi, be infrastruktūros — apima daugumą atvejų šalyse su vidutine cenzūra. Ten kur veikia DPI, DNS bejėgis ir reikalingi kiti įrankiai.
Paprasta taisyklė: pirmiausia supraskite kaip tiksliai kas nors užblokuota. Tada rinkitės įrankį. Ne atvirkščiai.
