DNS през VPN срещу DoH в браузъра: какво не може да ви каже тестът за изтичане
Адресът от теста за изтичане показва само кой резолвер е отговорил. Шифрованите заявки, разделеният DNS и политиката на браузъра решават дали частните имена изобщо се разрешават.
Страницата за тест за изтичане казва, че DNS е наред, значката на браузъра казва, че е сигурно, а вътрешното уики все още не се зарежда. И трите могат да са верни едновременно, защото адресът на резолвера не е същото като политиката, която го е избрала, или пътя, който е изминала заявката. Това, което хората наричат DNS изтичане, всъщност е един въпрос: кой резолвер получи името и дали този избор е бил умишлен? Подреждането на това изисква три проверки и само последната включва промяна на настройка.
Мит първи: значката назовава вашия резолвер
Тестът за изтичане разрешава пробно име и съобщава адреса, който е отговорил. Той не съобщава политиката, която е избрала този резолвер, а когато заявката е обвита в DNS през HTTPS, междинно устройство по пътя изобщо не вижда името. Две много различни машини дават една и съща успокоителна значка: едната, в която VPN е изпратил 10.8.0.1 и браузърът го използва, и другата, в която браузърът е игнорирал системния списък и е изпратил името през тунела до собствения си шифрован доставчик.
Разликата има значение в момента, в който частно име се провали. В първата настройка резолверът на VPN отговаря за корпоративната зона; във втората браузърът никога не го е питал, така че краткото име на хост не се разрешава и повредата изглежда като счупен VPN. Проверката не е още един тест за изтичане, а търсене на име, което знае само един резолвер.
Мит втори: браузърът напуска тунела
DNS избира адрес, маршрутизирането носи връзката и това са два отделни слоя. Заявка, изпратена до публичен доставчик на DoH, все още е TCP порт 443 към маршрутизируем адрес. Ако вашата таблица за маршрутизиране изпраща маршрута по подразбиране в тунела, тази заявка също минава през тунела. Марката на резолвера не решава пътя.
Това, което DoH в браузъра променя, е получателят на имената. Това е истинско решение за поверителност и истинско решение за политика, но не е заобикаляне на маршрутизирането. Ако изискването ви е имената да остават при оператора на VPN, шифрована заявка към някой друг нарушава това изискване, докато все още използва тунела за действителната връзка.
Мит трети: всеки VPN надделява над всеки браузър
Сигурният DNS в браузъра има режими, а не превключвател: изключен, доставчик по подразбиране с резервен вариант, персонализиран шаблон или политика, наложена от операционната система или организацията. Именно резервният случай поражда периодичните доклади. Когато шифровата крайна точка е недостъпна, браузърът може да се върне към системния резолвер, така че същият лаптоп разрешава частно име правилно в понеделник и не го разрешава във вторник.
В същото време повечето VPN клиенти задават системния резолвер, когато връзката се появи, и възстановяват предишния, когато тя падне. Браузър, който държи персонализиран шифрован резолвер, изобщо не забелязва това възстановяване. Ето защо същият профил се държи различно на два лаптопа и защо resolv.conf изглежда правилен, докато браузърът все още пита някой друг.
resolvectl status # per-link DNS servers and split-DNS domains
scutil --dns | head -30 # macOS resolver order for each domain
nslookup intranet.corp 10.8.0.1 # ask the VPN resolver directlyИзпълнете тези команди, докато сте свързани, отбележете кои домейни претендира всеки резолвер и ги сравнете с това, което браузърът съобщава за своя режим. Документацията на Mozilla за DoH е разумно описание на това как трябва да работят поведението по подразбиране и резервното поведение на браузъра.
Решението има три входа, а не един
Частните имена, доверието към оператора и достъпността решават правилната подредба. Имената, които знае само резолверът на VPN, налагат разделен DNS: частният суфикс отива към изпратения резолвер, а всичко останало следва политиката, която сте избрали за публичните имена. Доверието към оператора решава дали публичните имена също трябва да отиват към този резолвер или към отделна услуга. Достъпността решава дали избраният от вас шифрован резолвер е изобщо използваем в тази мрежа.
| Condition | What it forces |
|---|---|
| Internal names must resolve | Split DNS: private suffixes to the VPN resolver, the rest to your chosen default |
| Queries must stay with one operator | Pin both the system resolver and the browser mode, and disable fallback |
| Resolver only reachable through the tunnel | Keep the pushed resolver; do not point DoH at an endpoint your routes exclude |
Нито един от тези редове не е универсална препоръка. Резолвер, управляван от VPN, концентрира наблюденията при този оператор; отделната услуга добавя още един получател на заявените имена. Нито една от двете подредби не доказва нищо за съхранението, освен ако не прочетете политиката.
Записвайте решението за всеки профил, защото тези настройки се разместват. Профил, който е изпратил резолвер миналия месец, днес може да не изпраща нищо, а браузърът с готовност ще запази стара персонализирана крайна точка, която все още отговаря. В бележката трябва да бъдат адресът на резолвера, суфиксите, които притежава, и режимът на браузъра, а не марката на услугата.
Тествайте политиката, която смятате, че сте настроили
Тествайте по име, а не по значка. Разрешете публично име и частно име през системния резолвер, след което повторете в браузъра с неговата собствена настройка за сигурен DNS в режима, който възнамерявате да използвате. Ако частното име се проваля само в браузъра, открили сте несъответствието на получателя, без да докосвате нито една настройка на VPN.
След това се свържете отново и проверете възстановяването, защото именно там живеят грешките при предаването: прекъснете, потвърдете, че предишният резолвер се е върнал, свържете се отново, потвърдете, че изпратеният се е върнал. Накрая тествайте браузър с управлявана политика, ако имате такъв, защото този режим може напълно да откаже промяната ви и тихо да запази предишния резолвер.
Започнете с въпроса за пространството от имена и ще избегнете повечето от това. Ако машината трябва да достига вътрешни имена, шифрованият резолвер на браузъра е решение само за публичната половина, а частната половина остава при това, което VPN е изпратил.