VPN-ի DNS ընդդեմ բրաուզերի 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-ն ուղարկել է։