VPN kill switch 53-портту жапканда DNS чечилбейт
Kill switch DNS'ти атайылап жаап коюшу мүмкүн. Туннелдин ичиндеги гана чечүүнү жергиликтүү resolver бөтөнчөлүгү менен салыштырып, кайсы катмар чындап иштен чыкканын аныктаңыз.
Kill switch туннелди кулатканда DNS жолун да өзү менен кошо алып кетет, ал эми артта калган resolver сиз күткөн нерсе боло бербейт. Эки долбоор бул учурга такыр башкача мамиле кылат: туннелдин ичинде жок ар бир DNS пакетин жабуу, жебир resolverди бөтөнчө катары калтыруу. Экөө тең коргоого болот. Браузер башкы барагынан симптомдор дээрлик окшош көрүнөт, ошондуктан биринчи милдет — кайсы долбоорду иш жүзүндө жайгаштырганыңызды аныктоо.
Бул айырманы көз алдымда кармайм, анткени оңдоо эки учурда тескери. Бир долбоорго кененирээк бөтөнчө керек, экинчисине тарыраак. Божомолдоо сизге же купуялуулукту, же жарым күндү кымбатка түшүрөт.
Бир эле бузулушка эки DNS долбоору
A долбоору resolverди туннелдин артындагы катардагы кызмат катары карайт. Firewall эрежелери UDP жана TCP 53кө туннелдин интерфейсинде гана уруксат берет, ал эми кардарга берилген дарек туннелдин ичиндеги resolver. Туннел кулаганда издөөлөр токтойт, жана бул бузулуш эмес, көздөлгөн натыйжа.
B долбоору resolverди жергиликтүү тармакта жеткиликтүү кармайт, адатта 192.168.1.1 дарегиндеги роутер же 127.0.0.53 дарегиндеги операциялык тутумдун stub'ы, аттарды чечүү туннел менен өлбөшү керек деген негизде. Үй LAN'ында бул ыңгайлуу, анда роутер бүт үй үчүн чечет. Мейманкана же аэропорт Wi-Fi'ында ошол эле бөтөнчө башка бирөөнүн серверине көрсөтөт, жана сиз терген ар бир ат ачыкка чыгат, веб-трафигиңиз жабык бойдон калса да.
Чек resolver кимдики экенинде. Жергиликтүүсүнө ишенсеңиз, бөтөнчө кичине жана чынчыл тешик. Ишенбесеңиз, туннелдик долбоор гана туруштук берет, ал эми баасы — кулаган туннел бардык аттарды кошо алып кетет.
VPN кардарынын өзүнүн издөөсү эмне үчүн дагы иштейт
Кардар туннел пайда боло электе шлюздун хост атын чечиши керек, ошондуктан катуу тыюу кардардын жүктөө жолун жаппашы керек. Кардарлардын көбү же акыркы чекиттин дарегин кэштейт, же ошол бир хост үчүн документтелген жүктөө бөтөнчөсүн берет. Эгер эрежелер жыйнагы ошол издөөнү жапса, туннел эч качан кайтпайт жана журналдар өз серверине жете албаган кардарды көрсөтөт; бул DNS эмес, саясат кемчилиги.
Бөлүнгөн DNS — бул көрүнгөн экинчи жер. Кардар ички аймакты жеке resolverге түртөт, калганын тутумдук resolverге калтырат. Кулагандан кийин ачык аттар дагы чечилиши мүмкүн, ал эми ички аттар убакыт бүтүп иштен чыгат, анткени жеке аймакта маршрут калбаган. Колдонуучу үчүн бул "VPN интернетти бузду"; resolver журналы үчүн бул эч качан жетпеген суроо.
systemd-resolved астында бөлүнүүнү түз көрө аласыз.resolvectl statusар бир байланыштын DNS серверлерин жана маршруттоо домендерин тизмелейт, жана туннел түшкөндөн кийин ички домен эми жок байланыштагы серверди көрсөтүүнү улантат. 127.0.0.53 дарегиндеги stub суроону дагы кабыл алат, анан жооп бербеген жогорку агымды күтөт, ошондуктан бузулуш дароо кайтуунун ордуна бир нече секунд алат.
Шифрленген DNS пакет чыпкасын айланып өтпөйт
DNS over HTTPS жана DNS over TLS 443 жана 853 портторунда жүрөт, ошондуктан 53-портту жапкан эреже алар тууралуу эч нерсе айткан эмес. "DNS"ти порт боюнча жабуу — порт тууралуу саясат, аттарды чечүү тууралуу эмес. Эгер kill switch туннелден сырттагы бардык трафикти жапса, DoH кокустан камтылат. Эгер captive portal же ачык resolver үчүн уруксат бөлсөңүз, камтылбайт.
Кардар тараптагы башкаруу — арзаныраак тутка. Firefox өзүнүн DoH resolverин канарейка атыuse-application-dns.netчечилбегенде таштайт, ошондуктан башкарылуучу тармактар ошол доменди NXDOMAIN катары жарыялашат; ишкана саясаты аны өчүк күйүндө беките алат. Android Private DNS менен Chrome'дун коопсуз DNS'инин өз өчүргүчтөрү жана өз демейкилери бар. Аларды өчүрүү resolver даректеринин артынан куугандан ишенимдүүрөөк, анткени даректер тизмеси өзгөрөт, ал эми эрежелер жыйнагыңыз өзгөрбөйт.
Мунун агындыга такыр тиешеси жок варианты да бар. Бекитилген resolverи бар колдонмого ага жетүү үчүн тармактык жол керек. Шифрлөө суроону ким окуй аларын өзгөртөт, пакеттин машинадан чыга аларын эмес, ошондуктан бүтүндөй түзмөктү жабуу параметрге тийбестен эле аны жеңет.
Симптомду катмарга шайкештештириңиз
Отчёттордун көбү бир сүйлөм болуп келет, жана ошол сүйлөм адатта катмарды атап коёт. Төмөнкү таблица — эрежеге тийүүдөн мурун менен карап чыккан нерсе; максат суроо жабылдыбы, туура эмес багытталдыбы, же такыр жиберилбедиби — ошону чечүү.
| Symptom | Likely layer | First check |
|---|---|---|
| Every name fails at once, instantly | Resolver answering with a refusal | Query the resolver by address, not by name |
| Lookups hang for seconds, then time out | Packets dropped with no response | Watch port 53 on the physical link |
| Public names resolve, internal ones do not | Split-DNS routing domain | Per-link DNS servers on the tunnel |
| Names resolve, the page still fails | Not DNS: routing or MTU | Connect to the IP directly |
| Only one application fails | Pinned resolver or cached answer | Check that app's DNS setting |
Биринчи эки сап — адамдар туура эмес диагноз койгон жерлер. Үнсүз кулоо жана баш тартуу браузерде экөө тең "DNS бузулду" болуп көрүнөт, бирок алардын бири гана kill switch өз ишин аткарып жатканын билдирет. Баш тартуу бирөө жооп берди дегенди билдирет, ошондуктан тосмо сиз ойлогон жерде эмес.
Resolver саясатын калыбына келтириңиз, анан далилдеңиз
Долбоорду оңдоңуз, симптомду эмес. Туннелдин ичинде гана чечүү үчүн туннелдин интерфейсинде 53кө уруксат бериңиз, ички resolverди туннелдин конфигурациясы менен кошо жибериңиз жана физикалык байланышты эч кандай DNS уруксатысыз калтырыңыз. wg-quick'те resolverди интерфейс конфигурациясына жазуучу сапDNS =ошол, ошондуктан аны өткөрүп жиберген туннел эски resolverди ордунда калтырат жана ар бир суроо туура эмес жолго түшөт.wg-quick колдонмосубул жүрүм-турумду ар бир платформа үчүн документтейт.
Анан ушул тартипте текшериңиз. Linux'таresolvectl statusактивдүү байланышты көрсөтөт,dig +short example.comачык атты текшерет,dig @10.8.0.1 internal.example.comжекесин текшерет, ал эмиsudo tcpdump -ni any port 53экөөнү тең иштетип жатканда пакеттер кайсы интерфейсти колдонорун көрсөтөт. Windows'тоGet-DnsClientServerAddress -AddressFamily IPv4жанаResolve-DnsName example.comошол эки фактыны берет: ким конфигурацияланган жана ким жооп берет.
Терс тест менен аяктаңыз. Туннелди ажыратыңыз, жаңы ачык ат иштен чыгарын ырастаңыз, жеке ат иштен чыгарын ырастаңыз жана53-порттун бир да пакети физикалык адаптерден чыкпаганын ырастаңыз. Кэштелген жоопторго гана туруштук берген тосмо такыр туруштук бербейт.
Билетти жабуудан мурунку текшерүү тизмеси:
- Бузулуш учурунда колдонулган resolver — саясат көздөгөн ошол.
- Кардардын өзүнүн акыркы чекитин издөөсү дагы уруксат, кэш же бөтөнчө аркылуу.
- DoH жана DoT же тосмо менен камтылган, же саясат менен өчүрүлгөн.
- Туннел кеткенден кийин жеке аймактар ачык эмес, жабык абалда иштен чыгат.