Ինչո՞ւ են DNS64-ի պատասխանները փոխվում, հենց VPN-ը միանում է։
DNS64-ի պատասխանը կոդավորում է թարգմանության ենթադրություն։ Ստուգեք՝ ո՞ր լուծիչը պատասխանեց, արդյո՞ք նախադիրն ուղղորդված է, և արդյո՞ք ձեր ուղու վրա թարգմանիչ կա։
DNS64-ի պատասխանները նկարագրում են ցանցային դասավորություն, այլ ոչ սերվերի հատկություն։ Լուծիչը IPv4 հասցեից սինթեզում է IPv6 հասցե, և արդյունքը աշխատում է միայն այնտեղ, որտեղ այդ նախադիրի վերջում թարգմանիչ է նստած։ VPN մտցրեք ուղու մեջ, և այդ դասավորությունը կարող է մնալ, փոխվել կամ դադարել ճշմարիտ լինելուց՝ կախված երեք պայմանից։
Այդ պայմաններն են՝ պատասխանած լուծիչը, այն ուղին, որ ձեր սարքն ունի դեպի սինթեզված նախադիրը, և այն, թե արդյո՞ք այդ ուղու վրա ինչ-որ բան կատարում է թարգմանությունը։ Յուրաքանչյուրը դիտելի է, և հենց դա է խափանումը ախտորոշելի դարձնում։
Ինչի՞ն է իրականում մատնանշում սինթեզված AAAA գրառումը
DNS64 լուծիչը պատասխանում է միայն IPv4 ունեցող անվան AAAA հարցմանը՝ IPv4 հասցեն ներդնելով նախադիրի մեջ, որը կարգավորված է այն օգտագործելու համար, և այդ աշխատանքի հայտնի նախադիրը 64:ff9b::/96-ն է, ինչպես նկարագրված է RFC 6147-ում։ Գրառումը հավելվածի համար նման է ցանկացած այլ AAAA գրառման, և հենց դա է իմաստը. միայն IPv6 ունեցող հաճախորդը կարող է կապ փորձել՝ չիմանալով, որ նպատակակետը երբեք IPv6 չի ունեցել։ Այնուհետև այդ կապը կախված է NAT64 ֆունկցիայից, որը ինչ-որ տեղ ուղու վրա թարգմանում է երկու ընտանիքների միջև։ Առանց այդ թարգմանչի՝ սինթեզված հասցեն հավատալի տեսք ունեցող նպատակակետ է, որը ոչ մի տեղ չի տանում։
Այսպիսով գրառումը կոդավորում է միանգամից երկու բան՝ սկզբնական IPv4 հասցեն և այն ենթադրությունը, որ թարգմանիչը հասանելի է։ Միայն առաջինն է տեսանելի հենց պատասխանում։
Երեք պայման են որոշում՝ դեռ աշխատու՞մ է արդյոք
Առաջին պայմանն այն է, թե որ լուծիչն է ստեղծել գրառումը, քանի որ առանց կարգավորված DNS64-ի լուծիչն այդ անվան համար ոչինչ չի վերադարձնում, և հավելվածը ձախողվում է այլ կերպ։ Երկրորդն այն է, թե արդյո՞ք ձեր սարքն ուղի ունի դեպի սինթեզված նախադիրը, քանի որ պատասխանը կարող է վավեր լինել, մինչ դեպի այն տանող ուղին բացակայում է։ Երրորդն այն է, թե արդյո՞ք այդ նախադիրն ունեցող թարգմանիչը գտնվում է այն ուղու վրա, որը դուք կօգտագործեիք, քանի որ 64:ff9b::/96-ը այլ տեղ տանող թունելը հասնում է այլ ֆունկցիայի կամ ընդհանրապես ոչնչի։ Բոլոր երեքը կարող են ճշմարիտ լինել թունելից առաջ և ձախողվել դրանից հետո, և դրա համար ախտանիշը նման է հանկարծակի անկման։
Ստուգեք դրանք այդ հերթականությամբ։ Բացակայող պատասխանը և բացակայող ուղին զննարկիչում նույնական են երևում, իսկ լուծիչի մատյանում՝ բոլորովին տարբեր։
Երբ լուծիչը փոխվում է, պատասխանը փոխվում է
VPN հաճախորդը հաճախ պարտադրում է իր լուծիչը կամ ամբողջությամբ վերցնում է հարցման ուղին, և այդ լուծիչը կարող է ոչինչ չսինթեզել։ Այն ժամանակ միայն IPv4 ունեցող անունների հարցումները ոչ մի AAAA գրառում չեն վերադարձնում, ինչը միայն IPv6 ունեցող հաճախորդն ապրում է որպես անուն, որին չի կարող հասնել։ Հակառակն էլ է պատահում. իսկապես սինթեզող լուծիչը կարող է ձեզ նախադիր տալ, որը ձեր թունելային ուղին չի տանում։
Քեշավորումը դժվարացնում է դա տեսնելը։ Գրասենյակի ցանցում ստացված սինթեզված գրառումը կարող է գոյատևել այն համատեքստից, որ ստեղծել է այն, ուստի հաճախորդը շարունակում է կապվել հասցեի, որի թարգմանիչն այլևս հասանելի չէ։ Նայեք հիմա պատասխանող լուծիչին, ոչ թե այն լուծիչին, որը պատասխանել է գրառումը պահելու պահին։ Քեշը մաքրելը՝ առանց հին և նոր պատասխանները գրանցելու, ոչնչացնում է ձեզ անհրաժեշտ ապացույցը։
Փորձեք հարցումն ու ուղին առանձին
Հարցրեք անվանն ուղղակիորեն՝ նախքան հավելվածը ներգրավելը, և նշեք, թե որ սերվերն է պատասխանել։ Ստորև բերված հրահանգները ցույց են տալիս AAAA գրառումը, օգտագործվող լուծիչը և այն, թե արդյո՞ք ուղի կա դեպի սինթեզված նախադիրը։ Գործարկեք դրանք թունելը փակ վիճակում, ապա նորից՝ բաց վիճակում։
dig AAAA ipv4only.example.com +short
dig AAAA ipv4only.example.com | grep -E '^;; SERVER'
ip -6 route get 64:ff9b::c000:0216
curl -6 -sS -o /dev/null -w '%{http_code} %{time_connect}\n' --max-time 8 http://ipv4only.example.com/
Կարդացեք արդյունքները որպես շղթա։ Բացակայող AAAA գրառումը նշանակում է, որ ձեր առջևի լուծիչը չի սինթեզում, ուստի միայն IPv6 ունեցող ուղին չի աշխատի այդ անվան համար, ինչ էլ որ անի հաճախորդը։ Գրառումը կա, բայց ուղի չկա՝ նշանակում է, որ նախադիրը չի տանում ընթացիկ ուղին, և դա ուղղորդման որոշում է, ոչ թե լուծիչի խափանում։ Ուղին կա, մինչ հարցումը դեռ ձախողվում է՝ մատնանշում է հենց թարգմանչին, և դա պատկանում է մեկ այլ տիրոջ։
Գրանցեք լուծիչը, ցանցային համատեքստը և հասցեների ընտանիքը յուրաքանչյուր արդյունքի կողքին։ Հենց այդ գրառումն է թույլ տալիս հաջորդ համեմատությանը տարանջատել լուծիչի փոփոխությունը ուղղորդման փոփոխությունից։