Резервният DNS на вашия VPN: къде всъщност отива заявката
Смяната на резолвер не е автоматично изтичане. Установете получателя на замяната, маршрута, който използва, и участващите имена, преди да я наречете така.
Настройка на резолвера преминава от частния адрес към публичен и заключението идва веднага: тунелът изтича. Понякога е така. Често резервната заявка все пак е пътувала вътре в тунела до резолвер, избран от администратора, което я прави решение за политика, а не дефект. Разделянето на тези случаи изисква три факта вместо един, и първият от тях е кой е отговорил. Разберете кой е получил заявката, кой маршрут я е пренесъл и за кои имена е било питано.
Резервният път е политика, а не едно поведение
Всеки клиент трябва да реши какво да прави, когато предпочитаният резолвер спре да отговаря. Той може да блокира решаването, да опита отново, да използва конфигурирана алтернатива или да го остави на операционната система, и от гледна точка на поверителността това са четири различни продукта. Четенето на екрана с настройки ви казва кое поведение е конфигурирано; не ви казва кое се е случило. Екран с един превключвател не описва четири възможности.
Браузърите добавят свой собствен слой. Браузър с включен защитен DNS може да реши име чрез свой собствен избран доставчик дори когато операционната система сочи другаде, което означава, че политиката на клиента на тунела може никога да не бъде питана за заявките, които наистина ви интересуват. Проверете приложението, което е направило заявката, а не само системната настройка.
Идентичността на резервния резолвер е първият факт, който си струва да се установи. Публичен резолвер, който принадлежи на доставчик, на когото вече се доверявате, е различна ситуация от адрес, предоставен от мрежата, в която се намирате. Самият адрес рядко казва към кое от двете се вглеждате.
Кой получава заявката след превключването
Получателят и маршрутът са независими и само тяхната комбинация описва излагането. Публичен резолвер, достигнат през тунела, никога не вижда адреса на вашата мрежа за достъп, докато същият резолвер, достигнат директно, го вижда. И двата случая дават отговор, а тест за изтичане, който съобщава само адреса на резолвера, ще ги опише еднакво. Питайте за интерфейса, както и за адреса, когато четете резултата.
Вътрешните имена правят разликата конкретна. Публичен резолвер обикновено не може да отговори на име от split-horizon, така че заявката се проваля, докато името все пак е било разкрито на страна, която не е имала работа да го види. Следователно достъпността и поверителността тук вървят заедно, вместо да се разменят.
Тунелът може също да пренесе заявката до резолвер, който не се управлява от доставчика на VPN, защото тунелът препраща, а не решава. Препращащият хост вижда заявката в открит текст и след това отваря собствената си връзка нататък, което защитава следващата стъпка, без да защитава първата.
Проверете маршрута и получателя заедно
Наблюдавайте пакетите, а не конфигурацията. Попитайте системата кой резолвер би се използвал, след което потвърдете, че заявката действително е излязла от очаквания интерфейс към очаквания адрес.
resolvectl status | grep -E "Current DNS Server|DNS Servers|DNSOverTLS"
dig +short example.com
tcpdump -ni any udp port 53 or tcp port 853
Ако записът показва, че заявката напуска физическия интерфейс, докато тунелът е активен, резервният път е заобиколил тунела независимо какво казва списъкът с резолвери. Ако се появи на интерфейса на тунела, въпросът става кой управлява далечния край и какво запазва.
Повторете проверката за едно вътрешно и едно публично име. Вътрешната заявка е мястото, където резервната конфигурация обикновено се разкрива, защото резолвер, който не може да отговори, все пак получава въпроса.
Решете дали резервният път трябва да бъде разрешен
Ако изискването е решаването да спира, когато предпочитаният резолвер не е достъпен, конфигурирайте политика за налагане, която се проваля затворено, и приемете последствието: имената няма да се решават по време на прекъсване. Това е съзнателна размяна на достъпност, а не неизправност, и дизайнът трябва да го каже преди прекъсването.
Ако изискването е само заявките да не пътуват извън тунела, публичен резолвер, достигнат през тунела, може да е приемлив, при условие че операторът и неговата политика за съхранение са разбрани. Такова приемане е преценка за трета страна, а не твърдение за криптография, и принадлежи на този, който носи твърдението за поверителност. Ако вътрешните имена трябва да продължат да работят, резервният път трябва да е резолвер, който държи вътрешните зони, което обикновено означава, че целта на резерва е друг сървър, а не друго семейство адреси.
Документирайте резултата като изречение за поведението: кой резолвер получава заявките при нормална работа, кой ги получава след повреда и дали вътрешните имена се решават във втория случай. Тест за изтичане, който в крайна сметка зарежда страница, доказва по-малко от това изречение, защото страница може да се зареди през резолвер, който никога не е трябвало да бъде питан.