OpenVPN තල්ලු කළ DNS නොසලකා හරිනු ලැබේ: කුමන සංරචකය එය යොදයිද
තල්ලු කළ DNS විකල්පය ග්රාහකයා වෙත ළඟා වන්නේ පරිසර විචල්යයක් ලෙස පමණි. Linux, Windows සහ macOS හි නාම විභේදනය කා සතුදැයි පරීක්ෂා කර, පසුව මාර්ගය අත්හදා බලන්න.
ලොගය පෙන්වන්නේ සේවාදායකය තල්ලු කළ විකල්පයයි, උමග සක්රීයයි, අභ්යන්තර නාම තවමත් අසාර්ථක වේ. රිසොල්වරයට සෘජු විමසුම පිළිතුරු දෙයි, එනම් සේවාදායකය හොඳයි, නමුත් සෑම යෙදුමක්ම දිගටම දේශීය රවුටරයෙන් අසයි. ග්රාහකයා වෙත පැමිණියේ යෝජනාවක් මිස රිසොල්වරයේ වෙනසක් නොවේ, නාම විභේදනය සතු සංරචකය Linux, Windows සහ macOS හි වෙනස් වේ. විකල්පය එහි හිමිකරුගෙන් වෙන් කළ විට, දෝෂ හතරක් සෑම වාර්තාවක්ම පාහේ ආවරණය කරයි: හුක් නැත, තරඟකාරී හුක් දෙකක්, බෙදුණු DNS නිර්මාණය අනුව ක්රියා කරයි, නැතහොත් සේවාදායකය නොව උපසර්ගය අවශ්ය කෙටි නාමයක්.
තල්ලු කළ විකල්පය යෝජනාවක්, ස්ථාපනයක් නොවේ
සේවාදායකයේ, උපදෙස් දෙකක් අභිප්රාය විස්තර කරයි, බලපෑම නොවේ:
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DOMAIN corp.example"
ග්රාහකයාට වින්යාසගත රිසොල්වරයක් ලැබෙන්නේ නැත. ඔහුට පරිසර විචල්ය ලැබේ, foreign_option_1 සහ ඊළඟ ඒවා, තල්ලු කළ සෑම පේළියකටම එකක්, දේශීය යමක් ඒවා කියවා මෙහෙයුම් පද්ධතියේ රිසොල්වර තත්ත්වය නැවත ලිවිය යුතුය. Linux හි පෙරනිමියෙන් කිසිවක් එය නොකරයි, එබැවින් නිවැරදි සේවාදායකයක් සහ සම්බන්ධිත ග්රාහකයක් තවමත් LAN හරහා නාම විසඳා ගත හැක.
කෙළවර දෙක අතර අවස්ථා තුනක් ඇත: තල්ලුව ළඟා විය යුතුය, ග්රාහකය එය නිරාවරණය කළ යුතුය, හුක් එකක් එය යෙදිය යුතුය. මැද අවස්ථාව ග්රාහක ලොගයේද අවසාන අවස්ථාව රිසොල්වර තත්ත්වයේද කියවන්න, කිසිදා ප්රතිවිරුද්ධව නොව, මන්ද ලොග පේළියක් ඔප්පු කරන්නේ පළමු දෙක පමණි.
තල්ලුව ළඟා වූ බව තහවුරු කර හිමිකරු සොයන්න
ආරම්භකයා නම් කිරීමෙන් ආරම්භ කරන්න: හිස් openvpn විධානයක්, systemd අවස්ථාවක්, NetworkManager හෝ විකුණුම්කරු ග්රාහකයක්. මෙය තීරණය කරන්නේ හුක් කොහේ ජීවත් විය හැකිද යන්නයි. systemd-resolved සහිත සත්කාරකයක, resolvectl status සෑම සබැඳියක්ම එය සැබවින්ම භාවිතා කරන DNS සේවාදායක සහ සෙවුම් වසම් සමඟ ලැයිස්තුගත කරයි, උමගේ සබැඳිය සැමවිටම tun0 ලෙස හැඳින්වෙන්නේ නැත.
තල්ලු කළ ලිපිනය ලොගයේ ඇතත් කිසිදු සබැඳියක නොමැති නම්, ඒකාබද්ධතාවය නැත. එය සබැඳියේ ඇතත් විමසුම් තවමත් වෙනත් තැනකට යනවා නම්, ගැටලුව වන්නේ කුමන විමසුම් එම සබැඳිය තෝරා ගනීද යන්නයි. NetworkManager dns=dnsmasq ගොනුවේ /etc/NetworkManager/NetworkManager.conf දේශීය යොමුකරුවෙකු ධාවනය කරයි, එය බෙදුණු DNS උත්සාහයෙන්ම ක්රියාත්මක කරයි: VPN වසම තුළ නාම VPN රිසොල්වරයට යයි, අනෙක් සියල්ල එහි පෙර මාර්ගය රඳවා ගනී. සියලුම රථවාහන ගමන් කරනු ඇතැයි බලාපොරොත්තු වූ විට මෙම හැසිරීම දෝෂයක් ලෙස පෙනේ; සම්බන්ධතාවය අනුව සැකසුම් පරීක්ෂා කරන්න nmcli connection show "My VPN" සමඟ, එහිදී ipv4.dns සහ ipv4.dns-search උපාංගය වාර්තා කරන දෙයට පිටුපස ඇති අගයන් රඳවා ගනී, එය බිඳුණු යැයි කීමට පෙර. සෑම විමසුමක්ම සැබවින්ම VPN රිසොල්වරයට ළඟා විය යුතු නම්, ඉවත් කරන්න dns=dnsmasq NetworkManager.conf ගොනුවෙන් සහ NetworkManager නැවත අරඹන්න, එය නාම විභේදනය සම්බන්ධතා සැකසුම්වලට ආපසු දෙයි; එසේ නොමැති නම් බෙදුණු DNS තබා තල්ලු කළ වසම් ලැයිස්තුව නිවැරදි කරන්න.
Linux: විකල්ප රිසොල්වරයට දෙන්න
බෙදාහැරීම් පැකේජ මේ සඳහා හුක් එකක් සපයයි, ග්රාහකයාට එය ධාවනය කිරීමට අවසර තිබිය යුතුය. systemd-resolved නොමැති සත්කාරකයක සාමාන්ය සැකැස්ම:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
systemd-resolved සමඟ පැරණි resolv.conf ස්ක්රිප්ටය වැදගත් කිසිවක් වෙනස් නොකරනු ඇත, මන්ද stub රිසොල්වරය සබැඳිය අනුව තත්ත්වය රඳවා ගනී. update-systemd-resolved සහායකයා භාවිතා කරන හුක් ආකෘතියක් ලේඛනගත කරයි up-restart සහ down-pre, එය අතුරුමුහුණතක් එක් සම්බන්ධතා උත්සාහයකට වඩා ජීවත් වන විට වැදගත් වේ. ඔබ තෝරන කුමක් වුවත්, තත්ත්වයේ හිමිකාරිත්වය එක් සංරචකයකට තිබිය යුතුය. NetworkManager අසල අසම්බන්ධිත හුක් එකක් එකතු කිරීම එකම සබැඳියට ලේඛකයන් දෙදෙනෙකු ලබා දෙන අතර, ප්රතිඵලය එවිට ඔබේ වින්යාසය මත නොව අනුපිළිවෙල මත රඳා පවතී.
NetworkManager තල්ලු කළ විකල්පය සම්පූර්ණයෙන්ම නොසලකා හැරිය අවස්ථාවක්ද ඇත: සම්බන්ධතාවයේ IPv4 සැකසුම්වලට සේවාදායක ලිපිනය ඇතුළත් කරන තෙක් එය එසේ විය, පසුව රිසොල්වර තත්ත්වය එය භාවිතයේ ඇති බව පෙන්වීය. ස්ක්රිප්ට නැවත ලිවීමට පෙර එය උත්සාහ කිරීම වටී, මන්ද එය ගැටලුව ෂෙල් හුක් එකකින් උමග දැනටමත් රැගෙන යන සම්බන්ධතා පැතිකඩට ගෙන යයි.
Windows සහ macOS විවිධ කොටස් යොදයි
Windows ග්රාහකය VPN ඇඩැප්ටරයේ DNS සේවාදායක සැබවින්ම සකසයි, නමුත් Windows තවමත් මෙට්රිකය අනුව අතුරුමුහුණත තෝරා ගනිමින් කෙටි නාමය පුළුල් කිරීමට තවමත් උපසර්ගයක් අවශ්ය කරයි. පැතිකඩ නොව ඇඩැප්ටරයේ තත්ත්වය තහවුරු කරන්න:
Get-DnsClientServerAddress -InterfaceAlias "My VPN"
Get-DnsClientNrptPolicy
ලිපිනය නොමැති නම්, එය මෙයින් සකසන්න Set-DnsClientServerAddress -InterfaceAlias "My VPN" -ServerAddresses 10.8.0.1, පසුව උපසර්ගය ඇඩැප්ටරයේ IPv4 ගුණාංගවලට එකතු කරන්න එවිට fileserver බවට පත්වේ fileserver.corp.example. යන්ත්රය පුරා SearchList අගය Tcpip\Parameters යටතේ එයම කරයි. දිගු නාමය විසඳෙන නමුත් හිස් නාමය නොවිසඳෙන තැන, රිසොල්වරය දැනටමත් නිවැරදි වන අතර වරද සෙවුම් ලැයිස්තුවේ ය. නිවැරදි කිරීම් අනුපිළිවෙලින්: තල්ලු කරන්න DOMAIN ග්රාහකයා උපසර්ගය ඉගෙන ගැනීමට, එම උපසර්ගය ඇඩැප්ටරයේ හෝ සම්බන්ධතාවයේ සෙවුම් ලැයිස්තුවට එකතු කරන්න, සහ තාවකාලික පියවරක් ලෙස නාමය මෙහි ස්ථාවර කරන්න hosts ගොනුවේ, හෝ LMHOSTS තුළ Windows හි; NetBIOS බ්රවුස් කිරීම රවුටරයක් තරණය නොකරයි, එබැවින් කාර්යාල LAN හි කෙටි නාමයක් සොයා ගන්නා විකාශනය කිසිදා උමග් ග්රාහකයා වෙත ළඟා නොවේ.
block-outside-dns block-outside-dns යනු Windows ග්රාහක හැසිරීමකි, ගෙන යා හැකි පැතිකඩ රේඛාවක් නොවේ, එය Linux හෝ macOS පැතිකඩකට පිටපත් කිරීම එහි නැවත නිපදවන්නේ නැත. Windows හි පොදු නාම ක්රියා කර අභ්යන්තර නාම අසාර්ථක වුවහොත්, උසස් සැකසුම් යටතේ ඇඩැප්ටර අනුපිළිවෙල සසඳන්න ipconfig /all සමඟ. macOS හි සේවාව අනුව රිසොල්වර අනුපිළිවෙල පද්ධතියට අයත් වේ, එබැවින් භාවිතා කරන්න scutil --dns කුමන වසමකට කුමන රිසොල්වරය අසනු ලබන්නේදැයි බැලීමට, සහ වාර්තා වන ඕනෑම තනි පැතිකඩ නිවැරදි කිරීමක් සාමාන්ය නොව ග්රාහකයා මත රඳා පවතින ලෙස සලකන්න.
එකම ලැප්ටොප් එකේ ඇති අතථ්ය යන්ත්රයකට මෙයින් කිසිවක් උරුම නොවේ. අමුත්තාට අභ්යන්තර වසම සඳහා තමන්ගේම රිසොල්වර සටහනක් දෙන්න, නැතහොත් හයිපර්වයිසරයේ NAT එහි විමසුම් සත්කාරකය හරහා යැවීමට ඉඩ දෙන්න, එය සත්කාරකයේ උමග සක්රීයව ඇති තාක් පමණක් නිවැරදිය.
ඉතිහාසය තුන්වන හේතුවයි. පෙර පැතිකඩක DNS සේවාදායක හෝ උපසර්ග සැකසුම් නැවත සම්බන්ධ වීම්වලින් ඉතිරි විය හැක, එබැවින් ඇඩැප්ටරය නිවැරදි ලෙස පෙනෙන නමුත් සෙවීම් තවමත් අසාර්ථක වුවහොත්, සජීවී ඇඩැප්ටරය සසඳන්න Get-VpnConnection සමඟ සහ සේවාදායකය ස්පර්ශ කිරීමට පෙර කල් ඉකුත් වූ සටහන මකන්න හෝ නැවත ලියන්න.
විමසුම කොහේ ගියාදැයි ඔප්පු කරන්න
එක් සෙවීමක් අතරතුර ග්රහණයක් තර්කය තීරණය කරයි: tcpdump -ni eth0 port 53 භෞතික අතුරුමුහුණතේ විමසුම් පෙන්වයි, එනම් ඒවා උමගෙන් පිටතට යන අතර රිසොල්වරය කිසිදා මාරු නොකළ බවයි. dig @10.8.0.1 name.corp.example පසුව ඉතිරි අවස්ථා දෙක වෙන් කරයි. සෘජු විමසුම පිළිතුරු දෙන්නේ නම්, රිසොල්වරය ක්රියා කරන අතර ග්රාහකය එය භාවිතා නොකරයි; කාලය ඉකුත් වුවහොත්, රිසොල්වරය උමග හරහා ළඟා කර ගත නොහැකි අතර කිසිදු දේශීය වෙනසක් උදව් නොකරයි.
තවමත් භාවිතා වන රිසොල්වරය සපයන්නා බෙදා දුන් එක නම්, උමග රථවාහන සංකේතනය කරයි නමුත් නාම එම සපයන්නාට දෘශ්යමානව පවතී. මෙය ක්රියාකාරීත්වයේ නොව කාන්දුවීමේ ප්රශ්නයකි, එම ග්රහණයම එයට පිළිතුරු දෙයි: භෞතික අතුරුමුහුණතේ විමසුම උමගින් පිටත කෙනෙකු වෙත යයි.
ළඟා වීමට VPN සත්කාරකයේ ගිනිපවුරද ඇතුළත් වේ, එය තටාකයෙන් UDP සහ TCP 53 සඳහා අවසර දිය යුතුය. වැසුණු තොටුපළක් හරියටම බිඳුණු තල්ලුවක් ලෙස පෙනේ, උමග් ජාලයේ ඇතුළතින් පමණක් පිළිතුරු දෙන රිසොල්වරයක්ද එසේමය. එක් වරක් විසන්ධි කර නැවත සම්බන්ධ වූ පසු ග්රහණය නැවත කරන්න, මන්ද පළමු සම්බන්ධතාවයේ දිස්වී දෙවැන්නේ අතුරුදහන් වන සැකසුම් හුක් තුළ ජීවන චක්ර දෝෂයකි, නැති වූ විකල්පයක් නොවේ.
එක් හිමිකරුවෙකු තබා අනුපිළිවෙලින් සත්යාපනය කරන්න
අනුමාන කළ උමග් තත්ත්වය මත පදනම්ව ඇඩැප්ටර DNS නැවත ලියන ස්ක්රිප්ටය පැතිකඩ දැනටමත් රැගෙන යන වින්යාසය අනුපිටපත් කරයි, සහ අනුමානය පළමු වරට වැරදි වූ විට නිහඬව අසාර්ථක වේ. සම්බන්ධතාවයේම DNS සැකසුම් හෝ එක් ලේඛනගත හුක් එකක් තෝරන්න, සහ කුමක් තෝරා ගත්තේදැයි සටහන් කරන්න ඊළඟ පුද්ගලයා දෙවැන්නක් එකතු නොකරන පිණිස.
පරීක්ෂණ හතරකින් වළල්ල වසන්න: තල්ලු කළ ලිපිනය උමග් සබැඳියේ පවතී, අභ්යන්තර නාමය සම්පූර්ණ සුදුසුකම් ලත් නාමයක් ලෙස විසඳේ, එම නාමය උපසර්ගය නොමැතිව විසඳේ, සහ එක් නැවත සම්බන්ධතාවයකින් පසුවද දෙකම සත්ය වේ. එක් ග්රහණයක් ඔබට කියයි හතරෙන් කුමක් අසාර්ථක වූයේදැයි. OpenVPN 2.6 අත්පොත ලැයිස්තුගත කරයි dhcp-option සහ ස්ක්රිප්ට උපදෙස් ඒවායේ වේදිකා සටහන් සමඟ.