අභ්‍යන්තර විකිය Edge තුළ පූරණය වේ, නමුත් බෙදාහැරීම තුළ git clone කාලය ඉක්මවා නතර වේ. මෙම තනි නිරීක්ෂණය සාමාන්‍යයෙන් «VPN WSL2 අවහිර කරයි» ලෙස කියවනු ලැබේ, සහ ඊළඟ පැය /etc/resolv.conf සංස්කරණයට යයි. වඩාත් ප්‍රයෝජනවත් කියවීම නම් WSL2 සතුව සත්කාරකයේ ජාල මාර්ගය මුලින්ම නොතිබුණි යන්නයි: එය තමන්ගේම අනුකරණය, තමන්ගේම මාර්ග සහ Windows එය සඳහා ජනනය කරන resolver ගොනුවක් සහිත උපයෝගිතා VM එකක ක්‍රියා කරයි. ඉදිරියේ සියල්ල රඳා පවතින්නේ එම තුනෙන් ඔබට සැබවින්ම නැති එක මොකක්ද යන්න මතය.

VM ට තමන්ගේම තට්ටුව, මිනුම් සහ resolver ඇත

පෙරනිමි NAT මාදිලියේ, බෙදාහැරීම අතථ්‍ය ස්විචයක පිටුපස සිට අන්තර්ජාලයට සත්කාරකය හරහා ළඟා වේ, නමුත් සත්කාරකයේ අනුකරණ නොදකී. ip addr පුද්ගලික ලිපිනයක් සහිත අතුරුමුහුණතක් පෙන්වයි, ip route එම ස්විචය හරහා පෙරනිමි මාර්ගයක් පෙන්වයි, සහ /etc/resolv.conf Windows තෝරාගත් stub resolver එකකට යොමු කරන ජනනය කළ ගොනුවකි. Windows පැත්තේ VPN සේවාලාභියෙකු ආරම්භ වූ නිසා මේ කිසිවක් වෙනස් නොවේ.

ඒ නිසා «බ්‍රවුසරය ක්‍රියා කරයි» යන්න ඉතා අල්පයක් ඔප්පු කරයි. බ්‍රවුසරය සත්කාරකයේ තට්ටුව, උමඟ සහ සත්කාරකයේ resolver ප්‍රතිපත්තිය භාවිත කරයි. ඔබේ ෂෙල් භෞතික ජාල කාඩ්පතක් අහම්බෙන් බෙදාගන්නා වෙනත් තට්ටුවක් භාවිත කරයි. ඒවා හොඳ අවස්ථාවේ එකඟ වන අතර VPN එක පෙරහනක් ස්ථාපනය කරන විට, DNS ලැයිස්තුව නැවත ලියන විට හෝ අතථ්‍ය ස්විචයේ උපජාලයට මාර්ගයක් එකතු කරන විට හරියටම වෙනස් වේ.

ඔබ කුමන ලෝකයක සිටීද යන්න පරීක්ෂණ දෙකක් තීරණය කරයි, සහ ඒවා බෙදාහැරීම තුළ ක්‍රියාත්මක විය යුතුය:

getent hosts example.com
curl -sS -m 8 -o /dev/null -w "%{http_code}\n" 1.1.1.1
ip route
cat /etc/resolv.conf

වචනාර්ථ ලිපිනයක් පිළිතුරු දෙන විට නම් අසාර්ථක වීම resolver ගැටලුවකි. නම් සහ ලිපින එකට අසාර්ථක වීම මාර්ග ගැටලුවකි, සහ resolver සංස්කරණයක් එය ස්පර්ශ නොකරයි. ඊළඟට Windows පැත්තේ සාක්ෂි එයි: Get-NetAdapter | Get-DnsClientServerAddress සහ route print -4 උමඟ ඔබේ VM ජීවත් වන උපජාලය අල්ලාගෙන ඇත්දැයි පෙන්වයි.

පළමු මිථ්‍යාව: ආයතනික DNS සේවාදායක එය නිරාකරණය කරයි

resolver ගොනුව සංස්කරණය කිරීම සම්ප්‍රදායික උපදෙසයි, සහ එය ආසන්න වශයෙන් අඩක් නිවැරදිය. නිවැරදි වන විට නිශ්චිත හේතුවක් නිසා නිවැරදිය: ජනනය කළ ගොනුව පොදු නම් පමණක් දන්නා resolver එකකට යොමු කරයි, එබැවින් intranet.example.internal සඳහා විමසුම මාර්ගය හොඳින් තිබියදීත් නොපවතින ලෙස ආපසු එයි.

VPN හි සේවාදායක සවි කිරීම යනු Windows ගොනුව නැවත ජනනය කිරීම නැවැත්වීමයි, මන්ද අතින් ලියන ඕනෑම ගොනුවක් ඊළඟ ආරම්භයේදී ප්‍රතිස්ථාපනය වේ:

[network]
generateResolvConf = false

එය /etc/wsl.conf ලෙස සුරකින්න, Windows වලින් wsl --shutdown ධාවනය කරන්න, පසුව බෙදාහැරීම ආරම්භ කර /etc/resolv.conf ලියන්න, උමඟේ සේවාදායක පළමුව සහ පොදු resolver උපස්ථයක් ලෙස පමණක්. මෙය නඩත්තු පිරිවැයක් සහිත කල්පවත්නා වෙනසකි: ගොනුව තවදුරටත් සත්කාරකය අනුගමනය නොකරයි, එබැවින් ආයතනික DNS ලිපින වෙනස් වන විට බෙදාහැරීම පැරණි ඒවාම අසයි. යමෙකු එම ගොනුවේ හිමිකරු විය යුතුය.

අසාර්ථකතාව වඩාත් පුළුල් වන විටද එය කිසිවක් නොකරයි. curl සිට 1.1.1.1 දක්වා කාලය ඉක්මවා ගියහොත්, උමඟ සේවාලාභියා අතථ්‍ය ස්විචය පෙරහන් කරමින් සිටී හෝ VM හි උපජාලය උමඟට මාර්ගගත කරමින් සිටී, සහ නිවැරදි resolver ඔබට තවමත් ළඟා විය නොහැකි නම් පමණක් ලබා දෙයි.

දෙවන මිථ්‍යාව: මිනුම් වෙනස පවතී

නම් විසඳා ගත් නමුත් රථවාහන භෞතික අනුකරණය හරහා පිටව ගියහොත්, අතුරුමුහුණත් මිනුම් ලීවරයයි. VPN අනුකරණයට ඉහළ පිරිවැයක් සහ WSL ස්විචයට අඩු පිරිවැයක් දෙන්න:

Get-NetAdapter | Where-Object InterfaceDescription -Match "AnyConnect" | Set-NetIPInterface -InterfaceMetric 4000
Get-NetIPInterface -InterfaceAlias "vEthernet (WSL)" | Set-NetIPInterface -InterfaceMetric 1

පසුව මතක තබා ගන්න, බොහෝ සේවාලාභී ගොඩනැගීම්වල උමඟ අනුකරණය සෑම සම්බන්ධතාවයකදීම නැවත නිර්මාණය වන අතර මිනුම එහි පෙරනිමියට පැමිණේ. එක් වරක් ධාවනය වන විධානයක් නිහඬව කල් ඉකුත් වන අලුත්වැඩියාවකි, සාමාන්‍යයෙන් සති අන්තයක් පුරා, සහ ටිකට් නැවත පැමිණෙන්නේ «පසුගිය සතියේ ක්‍රියා කළා» යනුවෙනි. VPN සිදුවීමෙන් ආරම්භ වන නියමිත කාර්යයක්, හෝ සම්බන්ධ වීමෙන් පසු පරිශීලකයා ධාවනය කරන ස්ක්‍රිප්ටයක්, මෙම අලුත්වැඩියාවේ අවංක අනුවාදයයි.

එම කල් ඉකුත්වීම ම එක් මුරණ්ඩු පූර්වාරක්ෂාවක් සඳහා එකතු කළ සත්කාරක මාර්ග සඳහාද අදාළ වේ. රෝග නිර්ණයක් ලෙස ඒවා වටී, මන්ද ගැටලුව එක් ගමනාන්තයක්ද නැතිනම් මුළු මාර්ගයද යන්න ඒවා කියයි, නමුත් ඒවා ගෘහ නිර්මාණයක් නොවේ.

තෙවන මිථ්‍යාව: එක් අලුත්වැඩියාවක් සෑම Windows ගොඩනැගීමක්ම ආවරණය කරයි

ApproachWhat it actually does
Resolver pinFixes private names only; no effect on path failures
Sidecar distributionForwards traffic over a socket to a helper VM, so the switch's filter no longer matters
Mirrored networkingGives the distribution the host's interface set; also enables DNS tunnelling

wsl-vpnkit යනු sidecar රටාවයි: කුඩා බෙදාහැරීමක් සත්කාරක පැත්තේ මාර්ගය හිමිකරගෙන අතථ්‍ය සොකට් එකක් හරහා අනෙකුත් බෙදාහැරීම් සඳහා යොමු කරයි, එබැවින් යෙදුම් රථවාහන පෙරහන් කළ ස්විචය මත රඳා පැවතීම නතර කරයි. තොග මාර්ගය ක්‍රියා කළ යුතුය, එනම් networkingMode සහ dnsTunneling අධික්‍රමණ %UserProfile%\.wslconfig වෙතින් ඉවත් කිරීම, සෑම ක්‍රියාකාරී බෙදාහැරීමකම generateResolvConf = true ප්‍රතිස්ථාපනය කිරීම සහ පිවිසුමේදී සේවාව ආරම්භ කිරීම.

කැඩපත මාදිලිය Windows 11 22H2 සහ ඊට පසු ඒවායේ ගොඩනගා ඇති විකල්පයයි, සහ එය එක් සැකසුමක් සහ එක් වසා දැමීමකි:

[wsl2]
networkingMode=mirrored

බෙදාහැරීම තුළ ip addr පසුව සත්කාරකයේ අනුකරණ ලැයිස්තුගත කරයි, උමඟ ඒවා අතර දිස්විය හැක, සහ DNS උමංකරණය සේවාලාභියා DNS ලැයිස්තුව නැවත ලියන විටද Windows resolver හරහා සෙවීම් යොමු කරයි. එය සර්වව්‍යාපී නොවේ: සමහර පෙරහන් ධාවක කැඩපත මාර්ගය තවමත් ඉවත් කරයි, සහ Hyper-V ගිනිතාලි නීතිවලට පැහැදිලි අවසරයක් අවශ්‍ය විය හැක. Microsoft හි WSL ජාලකරණ මාර්ගෝපදේශය නවතම සඳහා ලියූ වට්ටෝරුවක් යෙදීමට පෙර ඔබේ ගොඩනැගීම සමඟ සැසඳිය යුතු පිටුවයි.

සෑම වෙනසකට පසුව තුනක් පරීක්ෂා කරන්න

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

ඔබ තෝරා ගත්තේ කුමක් වුවත්, පිළිගැනීමේ පරීක්ෂණය බෙදාහැරීම තුළ එම ඉල්ලීම් තුනයි: අභ්‍යන්තර නමක්, පොදු නමක් සහ අමු ලිපිනයක්. පසුව උමඟ විසන්ධි කර නැවත සම්බන්ධ කිරීමෙන් පසු, සහ wsl --shutdown පසුව ඒවා නැවත කරන්න. අභ්‍යන්තර නම පමණක් අසාර්ථක වීම resolver ප්‍රතිපත්තියයි; අභ්‍යන්තර සහ පොදු නම් එකට අසාර්ථක වී ලිපිනය ක්‍රියා කරන්නේ නම් එයද resolver ප්‍රතිපත්තියයි; සියල්ල අසාර්ථක වීම මාර්ගයයි.

එක් අභ්‍යන්තර සත්කාරකයක් අසාර්ථක වී ඉතිරිය ක්‍රියා කරන්නේ නම්, resolver දෙස බැලීම නවත්වා එම පූර්වාරක්ෂාව සඳහා නැති මාර්ගයක් සොයන්න. ඊළඟ නැවත සම්බන්ධතාවය තෙක් සියල්ල ක්‍රියා කරන්නේ නම්, ධාවන කාල තත්ත්වය මත රඳා පවතින අලුත්වැඩියාවක් ඔබ සොයාගෙන ඇත, සහ එය ස්වයංක්‍රීයව නැවත යෙදිය යුතුය හෝ ඉහත යාන්ත්‍රණ දෙකෙන් එකක් සමඟ ප්‍රතිස්ථාපනය කළ යුතුය.

අදාළ ලිපි