ඔබේ Mac VPN තුළ භාවිත කරන DNS විසඳන් කරුවන් පරීක්ෂා කරන ආකාරය
scutil --dns මගින් macOS ඇත්තටම ගොඩනගා ඇති විසඳන් කරු තත්ත්වය මුද්රණය කරයි. සෑම කොටසක්ම අතුරුමුහුණතකට ගළපන්න, සැබෑ නමක් විමසන්න, සහ පිළිතුරු දුන්නේ කුමන සේවාදායකයදැයි ඔප්පු කරන්න.
scutil --dns macOS ඇත්තටම උපදෙස් ගන්නා විසඳන් කරු වින්යාසය මුද්රණය කරයි, ඔබ සැකසුම් පුවරුවක ටයිප් කළ එකම DNS සේවාදායකය නොවේ. ප්රතිදානය බොහෝ දෙනා බලාපොරොත්තු වන ප්රමාණයට වඩා දිගු ය, මන්ද පද්ධතිය පෙරනිමි මාර්ගය, විෂය පථගත අතුරුමුහුණත් සහ වසම්-විශේෂිත යොමු කිරීම සඳහා වෙන් වූ විසඳන් කරු කොටස් රඳවා ගනී. ප්රතිදානයේ ඉහළම කොටස විමසුමට පිළිතුරු දෙන කොටස විය යුතුම නැත. පුද්ගලික නමක් කාර්යාලයේ විසඳා VPN ඉහළ එන මොහොතේ අසාර්ථක වන්නේ නම්, නොගැළපීම ගැළපුම් නීති සහ මාර්ගවල ය, සේවාදායක ලිපිනයේ නොවේ. පළමුව අනුපිළිවෙල කියවා, පසුව සැබෑ සෙවීමකින් පිළිතුර ඔප්පු කරන්න.
ලිපිනවලට පෙර කොටස් අනුපිළිවෙල කියවන්න
සෑම සටහනක්ම resolver #N සමඟ ආරම්භ වී nameserver[0], සමහර විට if_index, flags පේළියක්, reach සහ කොටස සරල පෙරනිමියක් නොවන විට domain සහ search domain ලැයිස්තුවක් ලැයිස්තුගත කරයි. වසමක් නොමැති 1 වන විසඳන් කරු පොදු නම් හසුරුවන පෙරනිමියයි. එහි ධජවල Scoped දරන ඕනෑම දෙයක් if_index නම් කරන අතුරුමුහුණතට බැඳී ඇත, සහ Supplemental ලෙස සලකුණු කර ඇති ඕනෑම දෙයක් ඊට යටින් ලැයිස්තුගත වසම්වලට පමණක් අදාළ වේ.
තේරීම පසුබැස්ම ගැළපීමකි. intranet.corp.example වැනි නමකට, domain සටහන දිගම ගැළපෙන පසුබැස්ම වන විසඳන් කරුට macOS ප්රමුඛත්වය දෙයි, එබැවින් domain : corp.example ඇති කොටස ප්රතිදානයේ බොහෝ පහළින් තිබුණත් පෙරනිමිය පරාජය කරයි. එකම දිගැති වසම් අතර තුල්යතාව order තීරණය කරයි. පළමු බැල්මට මෙයින් වැඩි යමක් අවශ්ය වන්නේ කලාතුරකිනි: එක් කොටසක් මුල සිට අග දක්වා කියවීමට අවශ්ය විට මුළු ප්රතිදානය, කොටස් අනුපිළිවෙල දැන ගැනීමට ආරම්භක පේළි, සහ ක්ෂේත්ර පේළි අසල කොටස් ශීර්ෂ මුද්රණය කරන පෙරන ලද එක් චක්රයක්. විෂය පථගත කොටස් තමන්ගේම ශීර්ෂය යටතේ දිස්වන අතර ඒවාට ඉහළින් ඇති ලැයිස්තුවේ අඛණ්ඩ පැවැත්මක් ලෙස කියවේ, එබැවින් ප්රතිදානය උද්ධෘත කරන විට ශීර්ෂයක් ඇස හරහා තබා ගන්න.
scutil --dns
scutil --dns | sed -n '1,45p'
scutil --dns | grep -nE '^resolver #|^DNS configuration'
scutil --dns | grep -nE 'resolver #[0-9]+|if_index|domain|flags|nameserver'
if_index උමං අතුරුමුහුණතට ගළපන්න
සුචියක් ප්රයෝජනවත් වන්නේ එහි පිටුපස ඇති අතුරුමුහුණත නම් කළ හැකි නම් පමණි. scutil --nwi පද්ධතිය රඳවා ගන්නා ජාල තොරතුරු ලැයිස්තුගත කරයි, ප්රාථමික අතුරුමුහුණත සහ ළඟා වීමේ හැකියාව ඇතුළුව, අතර ifconfig -l ඔබට නම් ලබා දෙයි, එහිදී utun0 සිට utun9 දක්වා සේවාලාභියෙක් සාමාන්යයෙන් සාදන උමං අපේක්ෂකයන් වේ. Apple තමන්ගේම පරීක්ෂණ උදාහරණය ලෙස scutil --dns යෙදවුම් මාර්ගෝපදේශයේ භාවිත කරයි, සහ Network Extension මගින් තේරුණු වසම් තේරුණු විසඳන් කරුවන්ට කෙසේ යොමු කළ හැකි දැයි ලේඛනගත කරයි; එම විෂය පථගත කොටස් හෙළිදරව් කරන්නේ එම යාන්ත්රණයයි.
ප්රශ්නය තීරණය කරන පරීක්ෂාව නම් විසඳන් කරු උමං ස්ථාපනය කළ මාර්ගයේ සිටීද යන්නයි:
scutil --nwi
ifconfig utun4
route -n get 10.20.0.53
netstat -rn | grep -m5 utun
route -n get විසඳන් කරු සටහනට නොගැළපෙන ද්වාරයක් සහ අතුරුමුහුණතක් ලබා දෙන්නේ නම්, ලිපිනය සම්පූර්ණයෙන් නිවැරදි වුවත් ළඟා විය නොහැකි විය හැක. ආයතනික උපජාලක් පමණක් රැගෙන යන බෙදූ උමං ඒවායින් පිටත DNS සේවාදායකයක් වෙත යන විමසුම් ඉවත දමයි, සහ අසාර්ථකත්වය කාල ඉක්මවීමක් ලෙස දිස්වේ, එබැවින් වින්යාස ප්රතිදානය තවමත් පිරිසිදුව පෙනේ.
පද්ධති විසඳන් කරුගෙන් අසන්න, පසුව සේවාදායකයෙන්
මෙවලම් තුනක් වෙනස් ප්රශ්න තුනකට පිළිතුරු දෙයි, ඒවා මිශ්ර කිරීමෙන් මෙම ක්ෂේත්රයේ බොහෝ වැරදි නිගමන ඇති වේ. dscacheutil -q host -a name සාමාන්ය යෙදුම් භාවිත කරන එම පද්ධති විසඳන් කරු හරහා යයි, එබැවින් විෂය පථගත සහ අතිරේක කොටස් අදාළ වේ. සේවාදායක තර්කයක් නොමැතිව dig /etc/resolv.conf කියවයි, එය macOS හි විෂය පථගත විසඳුම සඳහා සත්යයේ මූලාශ්රය නොවේ, සහ එය වසම්-ප්රති-නීති සම්පූර්ණයෙන්ම මඟ හරියි. dig @address හරියටම එක් සේවාදායකයක් කරා ළඟා වන අතර තේරීම ගැන කිසිවක් නොකියයි.
dscacheutil -q host -a name intranet.corp.example
dig intranet.corp.example
dig @10.20.0.53 intranet.corp.example
nslookup intranet.corp.example
පළමු විධානය පිළිතුරු දී දෙවැන්න NXDOMAIN ලබා දෙන්නේ නම්, ඔබ සොයමින් සිටි බෙදීම සොයා ගෙන ඇති අතර කිසිවක් කැඩී නැත. පළමුවැන්න කාල ඉක්මවන විට dig @10.20.0.53 පිළිතුරු දෙන්නේ නම්, විසඳන් කරු ක්රියා කරයි නමුත් උමං තේරූ මාර්ගයේ ළඟා විය නොහැක, එබැවින් ඊළඟ පියවර DNS සැකසුම් වෙනස් කිරීම නොව route -n get ය. පුද්ගලික නම් ටිකට් පතක හෝ බෙදාගත් සටහනක අලවන කිසිවකින් පිටත තබා ගන්න.
ප්රතිදානයට ඔබට පෙන්විය නොහැකි දේ
කොටස් කිහිපයක් විසඳන් කරු ලැයිස්තුවට ඉහළින් හෝ අසල පිහිටා ඇත, සහ එක් එක් කෙනාට ප්රතිදානය කිසිදා සඳහන් නොකරන තැනකට විමසුමක් යැවිය හැක. ආරක්ෂිත DNS සක්රීය කළ බ්රවුසරයකට තමන්ගේම සංකේතාංකිත නාලිකාව හරහා විසඳා ගත හැක, එබැවින් dscacheutil කාල ඉක්මවන අතර පිටුවක් පූරණය වීම ප්රතිවිරෝධයක් නොවේ. ආරක්ෂක මෘදුකාංගයක් ස්ථාපනය කළ DNS ප්රතිශක්තකය Network Extension සපයන්නෙකු ලෙස ක්රියා කර විමසුම් තමාම යොමු කරයි, සහ scutil --dns වින්යාස කළ දේ පෙන්වයි, ප්රතිශක්තකය අවසානයේ භාවිත කළ ඉහළ ලිපිනය නොව. සෙවුම් වසම් තුන්වන ඇඹරුමක් එකතු කරයි: අයෝග්ය නමකට ලැයිස්තුගත සෑම පසුබැස්මක්ම අනුපිළිවෙලින් එකතු වේ, එබැවින් පිළිතුරු දුන් කොටස ඔබ කිසිදා සැක නොකළ එකක් විය හැක.
පැරණි පිළිතුරු බැහැර කිරීමට ලාභම සහ වඩාත්ම මඟ හරින දේ වේ:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
scutil --dns | head -20
පිරිසිදු කිරීමෙන් පසු ප්රතිදානය වෙනස් වන්නේ නම්, තත්ත්වය හැඹිලියේ තිබුණි සහ පෙර ප්රතිදානය තවදුරටත් නොපවතින උමං එකක් විස්තර කළේය. වෙනස් නොවන්නේ නම්, වින්යාසය එය ඇති ආකාරයටම ය, සහ ප්රශ්නය මාර්ග සහ යෙදුම් ප්රතිපත්තිය වෙත මාරු වේ.
පෙර සහ පසු සඳහා කෙටි අත්පොතක්
ප්රතිපත්තිය අවසර දෙන තැනක පමණක් මූල රේඛාවක් ගන්න, සහ ගොනු සමකාලීන කළ ෆෝල්ඩරයකින් පිටත තබා ගන්න. පහත අනුපිළිවෙල මා සේවාලාභී යන්ත්රවල ධාවනය කරන දේ: මූල රේඛාව ගන්න, සම්බන්ධ වන්න, නැවත ගන්න, පසුව සංසන්දනය කර සොයන්න.
scutil --dns > ~/dns-before.txt
# connect the VPN, then:
scutil --dns > ~/dns-after.txt
diff -u ~/dns-before.txt ~/dns-after.txt
dscacheutil -q host -a name intranet.corp.example
වෙනස කියවන්නේ පේළිවලින් නොව කොටස්වලින්. උමං අතුරුමුහුණත සුචිය සහ පුද්ගලික පසුබැස්ම සඳහා domain සටහනක් දරන නව විෂය පථගත විසඳන් කරුවෙක් බලාපොරොත්තු වන හැඩයයි. පොදු ලිපිනයකට යොමු වන නව පෙරනිමි විසඳන් කරුවෙක් සේවාලාභී පැතිකඩක් හිමි අය සමඟ එසවිය යුතු සොයා ගැනීමකි. පසුව සැබවින්ම අසාර්ථක වූ යෙදුම තුළ සෙවීම නැවත නැවත කරන්න, කවචයේ පමණක් නොව, සහ ප්රතිඵලය අසල route -n get හි අතුරුමුහුණත සටහන් කරන්න.
වෙනසක් අවලංගු කිරීමට විසන්ධි වී මූල රේඛාව ගැනීම නැවත නැවත කරන්න. විෂය පථගත කොටස ගොස් ඇත්නම්, සේවාලාභියා තමන් පිටුපස පිරිසිදු කර ඇත. කොටස තවදුරටත් නොපවතින අතුරුමුහුණතකට විරුද්ධව ලැයිස්තුගතව තිබේ නම්, තත්ත්වය පැරණිය, සහ යමෙකු පැතිකඩ ස්පර්ශ කිරීමට පෙර පිරිසිදු කිරීම සහ නැවත සම්බන්ධ වීමම මෘදුම විසඳුමයි.
මෙම අනුපිළිවෙලින් පරීක්ෂා හතරක්: යම් විසඳන් කරු කොටසක් නමේ දිගම පසුබැස්ම සමඟ ගැළපේද; එම කොටස උමං ස්ථාපනය කළ අතුරුමුහුණතට බැඳී තිබේද; එහි නම් සේවාදායකයට යන මාර්ගය උමං භාවිත කරයිද; සහ dig නොව පද්ධති විසඳන් කරු පිළිතුර ලබා දෙයිද. පළමු අසාර්ථක පරීක්ෂාව DNS ප්රතිපත්තිය, උමං මාර්ග හෝ යෙදුම වෙනස් කළ යුතුදැයි කියයි. හතරම සමත් වී නම තවමත් අසාර්ථක වන්නේ නම්, ගැටලුව DNSට ඉහළින් ය, සහ ඊළඟට පරීක්ෂා කළ යුත්තේ එහි ඉදිරියේ 53 වරායට පිළිතුරු දෙන සියල්ලයි.