Windows අභ්‍යන්තර ධාරකය කිසිදු පැමිණිල්ලකින් තොරව විසඳයි, එම නාමයම උමං මාර්ගය ඉහළ යන මොහොතේ WSL තුළ අසාර්ථක වේ. සාමාන්‍ය ප්‍රතිකර්මය වන්නේ බෙදාහැරීම තුළ පොදු විසඳන්නෙකු ලිවීමයි, එය සාමාන්‍ය පිරික්සීම නැවත ලබා දෙන අතර වැඩකරන ධාරක නාමය විසඳිය නොහැකි බවට පත් කරයි. එය එක් අසාර්ථකත්වයක් තවත් එකකින් මාරු කරන අතර සැබවින්ම බිඳුණු ස්ථරය සඟවයි. විසඳන්නෙකුගේ කිසිදු පේළියක් එකතු කිරීමට හෝ ඉවත් කිරීමට පෙර ස්ථර තුනෙන් කුමක් අසාර්ථක වන්නේදැයි තීරණය කරන්න.

පළමුව මාර්ගගත කිරීමේ අසාර්ථකත්වය බැහැර කරන්න

දෙපසම එකම සම්පූර්ණ සුදුසුකම් ලත් නාමය විමසන්න, සමාන පෙනෙන නාම දෙකක් නොව. එකම තන්තුව සඳහා Windows තුළ සාර්ථකත්වය සහ WSL තුළ අසාර්ථකත්වය විසඳුම් මාර්ග දෙකක අත්සනයි, එම රටාව මෙතරම් පිරිසිදුව වෙනත් දෙයක් නිපදවන්නේ නැත. WSL හට දන්නා සංඛ්‍යාත්මක ලිපිනයෙන්ද සේවාවට ළඟා විය නොහැකි නම්, මාර්ගගත කිරීමේ හෝ පෙරහන් කිරීමේ ගැටලුවක්ද පවතී. එවිට DNS කටයුතු එය හෙළි නොකරන අතර දහවල වැරදි ස්ථරයට යයි.

ලක්ෂණ තුනක් මෙම අවස්ථා බොහොමයක් ආවරණය කරයි, සහ එක් එක් එක වෙනත් තැනකට යොමු කරයි. වින්‍යාස ගොනුවක් විවෘත කිරීමට පෙර ගැළපෙන පේළිය කියවන්න:

Symptom inside WSLLikely layerWhere to look
Private name fails while public browsing worksResolver pathTunneling mode and the Windows build
A name that worked yesterday fails todayStale overrideGenerated resolver file, immutable flag, shell profile
The name resolves but the service does notRouting or filteringThe resolved address and the path to it

මැද පේළිය මිනිසුන් වැරදි ලෙස කියවන පේළියයි, මන්ද එය බිඳ දැමූ වෙනස සති ගණනකට පෙර සිදු කර තිබූ අතර එවිට සාර්ථක ලෙස පෙනුණි. තුන්වන පේළිය මිනිසුන් වැරදි ලෙස රෝග නිර්ණය කරන පේළියයි, මන්ද විසඳෙන නාමයක් ජාලය සුවපත් බවට සාක්ෂියක් ලෙස දැනේ. පේළි දෙකම ඔබව පහළ වෙනත් කොටසකට යවයි.

DNS උමං කිරීමට අවම සංස්කරණ සීමාවක් ඇත

Microsoft අථත්‍යකරණ නාලිකාවක් හරහා DNS ඉල්ලීම් Windows විසඳන්නාට උමං කරන WSL ජාල මාදිලියක් ලේඛනගත කරයි. ආධාරක Windows 11 ගොඩනැගීම්වල එය පෙරනිමියෙන් සක්‍රීය වේ, එබැවින්ම එකම ආයතනික ජාලයේ යන්ත්‍ර දෙකක් වෙනස් ලෙස හැසිරේ. විචල්‍යය ගොඩනැගීම් අංකයයි, ආයතනික ප්‍රතිපත්තිය නොවේ.

WSL ජාල මාර්ගෝපදේශය එම මාදිලිය සහ එයට ආධාරක වන සංස්කරණ විස්තර කරයි. මෙම විශේෂාංගය වැදගත් වන්නේ ආයතනික DNS ප්‍රතිපත්තිය සාමාන්‍යයෙන් Windows විසඳන්නා තුළ පවතින බැවිනි, සහ Windows මාර්ගය උරුම වන බෙදාහැරීම ප්‍රතිපත්තියද එකට උරුම කර ගනී. පොදු විසඳන්නෙකුගෙන් විමසන බෙදාහැරීමකට පෞද්ගලික නාමයකට කිසිදු මාර්ගයක් නැත, එහි වින්‍යාසය කෙතරම් පිළිවෙළකට පෙනුණත්. එම යාන්ත්‍රණය මුළු ලක්ෂණයම පැහැදිලි කරයි, සහ පොදු-විසඳන්නා විසඳුම අසාර්ථක වන්නේ ඇයිද යන්නද පැහැදිලි කරයි.

කිසිවක් සංස්කරණය කිරීමට පෙර ගොඩනැගීම කියවන්න. නව ස්ථාපනයකින් පිටපත් කළ සැකසුම පැරණි එකක් එය ක්‍රියාත්මක කරන බවට සාක්ෂියක් නොවේ. වෙනස අසල ගොඩනැගීම් අංකය සටහන් කරන්න, මන්ද යන්ත්‍ර දෙකක් අතර වෙනස සෑම විටම පාහේ ප්‍රතිපත්තියක් නොව සංස්කරණයකි.

පැරණි අභිබවා යාම් ඒවා විසඳූ ගැටලුවට වඩා දිගු කලක් ජීවත් වේ

පැරණි වට්ටෝරු ජනනය වූ විසඳන්නා ගොනු අක්‍රීය කළේය, නාම සේවාදායකය දෘඩ කේතගත කළේය, නැතහොත් ගොනුව වෙනස් නොවන ගුණාංගයකින් අගුළු දැම්මේය. එම වෙනස්කම් ඒවා ඇති කළ සම්බන්ධතා ගැටලුව අතුරුදහන් වූ පසුවද දිගු කලක් තිස්සේ එහිම පවතී, සහ නව සැකසුමක් කිසිවක් නොකරන බව පෙනීමට සාමාන්‍යයෙන් හේතුව ඒවාය. ඒවා බෙදාහැරීම නැවත ස්ථාපනය කිරීමෙන් පසුවද shell පැතිකඩක ආකාරයෙන් ඉතිරි වේ, එය සෑම පිවිසුමකදීම ගොනුව නැවත ලියයි. අවසාන එක සොයා ගැනීම වඩාත් අපහසුය, මන්ද සැමෝම පරීක්ෂා කරන ගොනුවෙන් එය නොපෙනේ.

අත්ලෙන් ලියූ විසඳන්නා ගොනුවක්, එය මත වෙනස් නොවන ගුණාංගයක්, සහ එය නැවත ලියන ආරම්භක ස්ක්‍රිප්ටයක් සොයන්න. සංස්කරණයට පෙර වෙනස් නොවන ධජය පරීක්ෂා කරන්න, මන්ද අගුළු දැමූ ගොනුවකට ලිවීම අවසර ගැටලුවක් ලෙස කියවෙන ආකාරයෙන් අසාර්ථක වේ. පසුව shell පැතිකඩ පරීක්ෂා කරන්න, මන්ද එහි ස්ක්‍රිප්ටය ඔබේ නිවැරදි කිරීමෙන් තත්පර කිහිපයකින් පැරණි අන්තර්ගතය නැවත ලබා දෙයි.

අභිබවා යාමක් ඉවත් කිරීමේ ප්‍රතිවිපාක ඇත, එබැවින් ඔබ ඉවත් කළ දේ සහ ඇයිද යන්න සටහන් කරන්න. වෙනත් අරමුණකට සැබවින්ම ස්ථිතික විසඳන්නෙකු අවශ්‍ය බෙදාහැරීමක් ජනනය වූ ගොනුව නැවත පැමිණි විට බිඳෙනු ඇත.

ගොනු දෙකක්, වෙනස් භූමිකා දෙකක්

වින්‍යාස ගොනු දෙක වෙනස් තැන්වල පවතින අතර වෙනස් දේවල් පාලනය කරයි, ඒවා මිශ්‍ර කිරීම වැරදි ස්ථරයට යෙදෙන සංස්කරණ ඇති කරයි. Windows පැත්තේ ගොනුව අථත්‍ය යන්ත්‍රයේ ගුණාංග සකසයි, බෙදාහැරීමේ පැත්තේ ගොනුව එම බෙදාහැරීම තමන්ගේම විසඳන්නා වින්‍යාසය ගොඩනගන්නේ කෙසේදැයි සකසයි. කිසිවක් අනෙකා අභිබවා නොයයි, එබැවින් දෙකම එකඟ විය යුතුය.

මෙම විශේෂාංගයට ආධාරක වන ස්ථාපනයක් සඳහා, Windows පැත්තේ කොටස කෙටිය. එම පැත්තේ මුළු වෙනස එයයි:

[wsl2]
dnsTunneling=true

එම කොටස Windows පරිශීලක පැතිකඩට අයත් වන අතර එක් බෙදාහැරීමකට නොව අථත්‍ය යන්ත්‍රයට අදාළ වේ. උමං කිරීම සඳහා බෙදාහැරීම විසඳන්නා ජනනය අක්‍රීය නොකර තිබීමද අවශ්‍ය වේ, එබැවින් බෙදාහැරීමේ පැත්තේ ගොනුව එම හැසිරීම නිශ්චලව තැබිය යුතුය. එකක් අනෙක නොමැතිව වෙනස් කරන්න, එවිට මාදිලිය නිහඬව කිසිවක් නොකරයි, සහ මෙම ප්‍රතිකර්මය බිඳුණු ලෙස වාර්තා වන වඩාත් පොදු ආකාරය එයයි. එකම සැසියේ ගොනු දෙකම පරීක්ෂා කරන්න, මන්ද සති ගණනක පරතරයකින් කළ සංස්කරණ දෙකක් කිසිවෙකුට ආරෝපණය කළ නොහැකි සංස්කරණ දෙකකි.

නැවත අරඹන්න, පසුව දෙපසින්ම විමසන්න

මෙම සැකසුම් පරිසරය ආරම්භ වන විට කියවනු ලැබේ, එබැවින් ක්‍රියාත්මක වන බෙදාහැරීමක් තුළ නව shell ඒවා නැවත පූරණය නොකරයි. shell නැවත ආරම්භ කිරීම වෙනුවට පරිසරය වසන්න, සහ පළමුව ක්‍රියාත්මක වන කිසිදු කාර්යයක් සුරකින්න මන්ද සෑම බෙදාහැරීමක්ම එය සමඟ නතර වේ. මෙම එක් අතහැරීම පමණක් වෙනසකට කිසිදු බලපෑමක් නැති බවට වන බොහෝ වාර්තා පැහැදිලි කරයි.

පසුව දෙපසටම එකම ප්‍රශ්නය අසන්න. ප්‍රතිදානය ද බෙදාහැරීම අවසානයේ කුමන විසඳන්නා සමඟ පැවතුණේද යන්න පෙන්වයි:

wsl.exe --shutdown
wsl.exe -e sh -c 'cat /etc/resolv.conf'
wsl.exe -e sh -c 'getent hosts files.corp.example'
wsl.exe -e powershell -Command 'Resolve-DnsName files.corp.example'

පළමු විධානය පරිසරය අවසන් කරයි, දෙවැන්න බෙදාහැරීම දැන් භාවිතා කරන විසඳන්නා පෙන්වයි, සහ අවසාන දෙක එක් එක් පැත්තට එකම ප්‍රශ්නය යොදයි. සැකසුමේ තත්ත්වය නොව පිළිතුරු සසඳන්න. ගොනු දෙකම නිවැරදිව තිබියදී පිරිසිදු නැවත ආරම්භයකින් පසුවත් අසාර්ථක වන විමසුම ආයතනික විසඳන්නා ප්‍රතිපත්තියට යොමු කරයි, සහ එම සංවාදයට වෙනත් හිමිකරුවෙකි.

අදාළ ලිපි