DNS за 30 секунд
Перш ніж відкрити сайт, пристрій має перетворити назву на кшталт example.com на IP-адресу. Для цього він питає DNS-резолвер, який зазвичай належить вашому провайдеру. Резолвер бачить назву кожного сайту, який ви шукаєте, час запиту та вашу IP-адресу.
Що таке витік DNS?
Коли ви користуєтеся VPN, ці запити мають іти зашифрованим тунелем до власного резолвера VPN. Витік DNS стається, коли вони натомість ідуть в обхід тунелю — прямо до вашого провайдера чи іншого стороннього резолвера.
Сам трафік лишається зашифрованим, але резолвер бачить список усіх сайтів, які ви відвідуєте, і так само його бачить будь-хто, хто стежить за вашим підключенням. У деяких країнах провайдери блокують сайти через DNS, тож через витік заблоковані сайти можуть не відкриватися навіть з увімкненим VPN.
Витік DNS не змінює IP-адресу, яку бачать сайти. Він розкриває провайдеру, які сайти ви відвідуєте. Тому самою лише перевіркою IP його не виявити.
Як перевірити, чи є витік DNS
- Підключіться до VPN.
- Відкрийте перевірку витоку DNS. Вона змушує браузер шукати кілька випадкових імен, на які може відповісти лише наш тестовий сервер, і записує, які резолвери про них питають.
- Подивіться на список резолверів.
Витоку немає: кожен резолвер належить вашому VPN-провайдеру або розташований у тій самій країні, через яку виходить ваш VPN.
Витік є: ви бачите резолвери свого інтернет-провайдера або резолвери у своїй країні, хоча сервер VPN — деінде.
Великі публічні резолвери, як-от Google (8.8.8.8) і Cloudflare (1.1.1.1), мають сервери по всьому світу. Для них тест показує також підмережу клієнта, яку передав резолвер, — вона може розкрити вашу справжню мережу, навіть коли сам резолвер виглядає нейтральним.
Що спричиняє витоки DNS?
- VPN не встановлює власний DNS. Деякі застосунки VPN, ручні налаштування WireGuard чи OpenVPN і багато проксі-клієнтів залишають системний резолвер без змін.
- Windows питає всі мережі одночасно. Windows надсилає DNS-запити на всі мережеві адаптери й бере найшвидшу відповідь, тож запит може піти через звичайне підключення.
- IPv6. Якщо VPN обробляє лише IPv4, запити через IPv6 ідуть до IPv6-резолвера провайдера.
- DNS-over-HTTPS у браузері. Chrome, Edge і Firefox можуть надсилати запити на власний зашифрований резолвер. Це не витік до провайдера, але так оминається резолвер VPN, і запит може нести ваше справжнє розташування.
- Проксі-клієнти в режимі «системного проксі». Застосунки на кшталт Clash, V2Ray чи клієнтів Shadowsocks часто проксують лише трафік браузера, а система й далі резолвить імена локально.
- Роутер чи провайдер перехоплює DNS. Деякі провайдери перехоплюють увесь трафік на порту 53 і відповідають самі.
Як усунути витік DNS
Почніть із першого кроку й перевіряйте знову після кожного.
- Увімкніть захист від витоку DNS у VPN. У більшості добрих застосунків VPN є параметр «захист від витоку DNS», «лише DNS VPN» або подібний. Увімкніть також kill switch.
- Увімкніть захист від витоку IPv6 або заблокуйте IPv6 у застосунку VPN. Чому це важливо, пояснює стаття IPv4 і IPv6.
- Задайте DNS у конфігурації VPN. Для WireGuard додайте рядок
DNS =у розділ[Interface]. Для OpenVPN у Windows використовуйтеblock-outside-dns. - У проксі-клієнтах увімкніть режим TUN (у Clash, sing-box та інших він називається TUN, enhanced mode або VPN mode) і їхню обробку DNS, щоб усі запити йшли через проксі.
- Перевірте параметр безпечного DNS у браузері. У Chrome чи Edge він розташований у Налаштування > Конфіденційність і безпека > Безпека > Використовувати безпечний DNS. Або вимкніть його, щоб використовувався резолвер VPN, або виберіть резолвер, якому довіряєте.
- Змініть системний DNS на публічний резолвер як запасний варіант. Це не усуває витік до цього резолвера, але провайдер перестане бачити ваші запити.
Потім знову запустіть перевірку витоку DNS. Повну перевірку VPN, зокрема WebRTC та IPv6, описано в статті як перевірити, чи працює VPN.
Часті запитання
Чи небезпечний витік DNS?
Він розкриває сайти, які ви відвідуєте, але не паролі й не вміст сторінок — їх і далі захищає HTTPS. Утім, якщо ви користуєтеся VPN заради конфіденційності, витік зводить нанівець значну частину сенсу.
Чи може витік DNS розкрити мою справжню IP?
Опосередковано. Резолвер провайдера бачить вашу справжню IP, а резолвери, що передають підмережу клієнта, приблизно повідомляють DNS-серверу сайту, де ви перебуваєте. Самі сайти вашої IP через DNS не бачать.
Чи захищає від витоків DNS використання 1.1.1.1 або 8.8.8.8?
Ні. Це змінює лише те, хто бачить ваші запити — Cloudflare чи Google замість провайдера, — але запити все одно можуть іти повз VPN. Зупинити витік можна, лише пустивши DNS через VPN.
Чому тест показує сервери в іншій країні?
Великі резолвери надсилають ваш запит із найближчого до вас або до вашого сервера VPN дата-центру, який може бути в сусідній країні. Подивіться на назву мережі: якщо це ваш VPN-провайдер або великий публічний резолвер поруч із сервером VPN, усе гаразд.