කාර්ය තැටියේ අයිකනයෙන් දෝෂ දෙකක් එකසේ පෙනේ: උමඟට ඇතුළු වන ට්‍රැෆික් සහ එය වටා නිහඬව යන ට්‍රැෆික්. දෙක්හිම සේවාලාභියා Connected පෙන්වයි, මන්ද Connected යනු උමඟේ අතුරුමුහුණත පවතින බවත් සේවාලාභියාට අවශ්‍ය මාර්ග ස්ථාපිත කළ බවත් පමණක් ය. එක් යෙදුමක එක් පැකට්ටුවක් එම මාර්ග භාවිත කළේද යන්න වෙනම ප්‍රශ්නයක් වන අතර එයට පිළිතුරු දෙන්නේ ගොඩගැස්මේ වෙනත් තැනක ය. මිනුම් හතරක් එහි බොහෝ කොටස විසඳයි — මාර්ග සෙවීම, පළමු පිම්ම, භෞතික අනුවර්තකයේ ග්‍රහණය සහ පිටතින් නිරීක්ෂණය — සහ සේවාදායකයේම සැසි දර්ශනය ඉතිරිය ආවරණය කරයි.

පැකට්ටුව යන මාර්ගයෙන් පටන් ගන්න

මාර්ගකරණ වගුව යනු තීරණයයි, එබැවින් සියල්ල කියවා අනුමාන කරනවාට වඩා එක් ගමනාන්තයක් ගැන එයින් අසන්න. Linux හි, ip route get කර්නලය තෝරාගත් අතුරුමුහුණත සහ මූල ලිපිනය නම් කරයි:

ip route get 203.0.113.10
ip route get 10.20.5.7

Windows හි, Find-NetRoute -RemoteIPAddress 203.0.113.10 route print -4 ට වඩා ප්‍රයෝජනවත්, එම හේතුව නිසාම: එය ජයගත් මාර්ගය වාර්තා කරයි, පවතින සියලු මාර්ග නොවේ. කෙසේ වුවද එහි 0.0.0.0 පේළිය සඳහා වගුව එක් වරක් කියවන්න. එහි /1 යුගලයක් තිබීම යනු පූර්ණ උමං සේවාලාභියා පෙරනිමි මාර්ගය නැවත ලියා ඇති බවයි: OpenVPN හි redirect-gateway def1 විකල්පය උමඟ හරහා 0.0.0.0/1 සහ 128.0.0.0/1 ස්ථාපිත කරයි, එය භෞතික පෙරනිමිය මකා නොදමා දිගම උපසර්ග ගැලපීමේදී පවතින 0.0.0.0/0 පරාජය කරයි. එබැවින් පෙරනිමි මාර්ග දෙකක් එකට පැවතිය හැකි අතර සියල්ල තවමත් උමඟට යයි.

විස්තර දෙකක් වගුව බොරු කරයි. පළමුව, පෙරනිමි මාර්ග ගණන නොව ගැලපුණු උපසර්ගය දෙස බලන්න, මන්ද ජයග්‍රාහකයා තීරණය කරන්නේ අතුරුමුහුණත් මිනුම හෝ /1 යුගලය ය. දෙවනුව, දැනටමත් පවතින සම්බන්ධතාවය එය ස්ථාපිත වූ මාර්ගයම රඳවා ගනී; උමඟ ඉහළ ගිය පසු විවෘත සැසිය නැවත සකසන තෙක් පැරණි මාර්ගය භාවිත කරමින් සිටිය හැක, එබැවින් නැවත සම්බන්ධ වීම මාර්ගකරණ ගැටලුවක් නිවැරදි කරන බව පෙනේ. ක්‍රියාත්මක සේවාලාභියා — ps ax | grep openvpn — ක්‍රියාවලිය ආරම්භ වූ බව පමණක් ඔප්පු කරයි.

එක් අභ්‍යන්තර සහ එක් පොදු නාමයක් ලුහුබඳින්න

මාර්ග සෙවීම අභිප්‍රාය පෙන්වයි; මාර්ගය බෙදාහැරීම පෙන්වයි. සම්බන්ධ වී සිටියදී අභ්‍යන්තර විය යුතු නාමයක් සහ නොවිය යුතු නාමයක් ලුහුබඳින්න, පළමු පිම්ම සසඳන්න:

traceroute intranet.corp.example
traceroute 1.1.1.1

දෙකටම එකම පළමු පිම්ම යනු අභ්‍යන්තර නාමය කිසිදා උමඟට ඇතුළු නොවූ බවත් දෝෂය ඊට ඉහළින් පවතින බවත් ය, සාමාන්‍යයෙන් පොදු ලිපිනයකට විසඳෙන නාමයක් හෝ කිසිදා ස්ථාපිත නොකළ මාර්ගයක්. අභ්‍යන්තර ට්‍රැෆික් 10.8.0.1 හරහා පිටවී පොදු ට්‍රැෆික් 192.168.1.1 හරහා පිටවේ නම්, විභාජිත උමඟ එය සඳහා වින්‍යාස කළ දේ හරියටම කරයි. VPN ද්වාරයට ළඟා වී පසුව කාල ඉකුත්වීම් පමණක් ආපසු දෙන මාර්ග සලකුණ සාමාන්‍යයෙන් ආපසු මාර්ගයේ හෝ සේවාදායක ගිනිපවුරේ ගැටලුවක් මිස නැති වූ යොමු මාර්ගයක් නොවේ.

පෙරහන් කළ ICMP මෙම පරීක්ෂාව බොරු කරයි: මාර්ග සලකුණු දෙකේම තරු මියගිය උමඟක් මෙන් පෙනෙන අතර සාමාන්‍යයෙන් එය ගිනිපවුරකි. හැකි තැනක TCP තොටුපළක් පරීක්ෂා කරන්න — Linux හි traceroute -T -p 443 — සහ මාර්ග සලකුණ කුමන විසඳන්නා පිළිතුරු දුන්නේද යන්න නොකියන බව මතක තබා ගන්න: නාමයක් දේශීයව විසඳී උමඟ හරහාද ළඟා විය හැක.

උමඟ මත නොව භෞතික අනුවර්තකයේ ග්‍රහණය කරන්න

ජාලය ඇත්තටම දකින දේ පෙන්වන එකම තැන භෞතික සබැඳියයි. උමඟ ඉහළින් ඇති විට කාර්යාලයට යන සැසිය VPN සේවාදායකයාට යොමු කළ සංකේතනය කළ බරක් ලෙස පෙනිය යුතුය, 10.20.5.7 වෙත සම්බන්ධතාවයක් ලෙස නොවේ:

sudo tcpdump -ni eth0 udp port 53
sudo tcpdump -ni eth0 host 10.20.0.5

පළමු පෙරහන දේශීයව පිටවන නාම විසඳීම අල්ලා ගනී, එය වඩාත් සුලභ සහ වඩාත් නිශ්ශබ්ද කාන්දුවයි — පිටුව තවමත් පූරණය වේ, විසඳන්නා ඉල්ලීම පමණක් දුටුවේය. දෙවැන්න උමඟ තුළ පමණක් තිබිය යුතු අභ්‍යන්තර ලිපිනයකට යන සාමාන්‍ය ට්‍රැෆික් අල්ලා ගනී. Windows හි, pktmon ධාවකයක් නොමැතිව එම කාර්යය කරයි: pktmon filter add -p 53, පසුව pktmon start --capture --pkt-size 128, පසුව pktmon stop සහ pktmon format pktmon.etl -o capture.txt. මෙම කොඩි Windows ගොඩනැගීම් අතර තරමක් වෙනස් වේ, එබැවින් වාක්‍ය ව්‍යූහය විශ්වාස කිරීමට පෙර pktmon filter add /? පරීක්ෂා කරන්න.

කාන්දු සොයා ගැනීමට භෞතික අතුරුමුහුණතේ ග්‍රහණය කරන්න; උමඟ මත ග්‍රහණය ඔබ දැනටමත් එහි ඇතැයි විශ්වාස කරන පැකට්ටු අඩංගු වේ, සේවාදායකයක එය මූලාශ්‍රය ද්වාරය වන කියවිය නොහැකි බාහිර පැකට්ටු අඩංගු වේ. ඕනෑම අතුරුමුහුණතක බයිට් ගණන් කරන්නන් පැකට්ටු විස්තර කරයි, වැඩසටහන් නොවේ; ට්‍රැෆික් ක්‍රියාවලියකට ආරෝපණය කිරීමට සොකට් ක්‍රියාවලි සමඟ සිතියම් කරන අධීක්ෂකයක් අවශ්‍යයි.

බාහිර සේවාවකින් අසන්න, පසුව සෑම යෙදුමක් සඳහාම නැවත අසන්න

පිටවීම ඔප්පු කරන එකම පරීක්ෂාව පිටතින් ආ පිළිතුරකි: තමා දුටු මූල ලිපිනය ආපසු දෙන සේවාවක්. අතුරුමුහුණත තෝරාගත හැකි ෂෙලයකින් එය ධාවනය කරන්න, දෙවතාවක් ධාවනය කරන්න:

sudo curl --interface tun0 https://example.net/ip
sudo curl --interface eth0 https://example.net/ip

වෙනස් පිළිතුරු ඔබට මාර්ග දෙකේම සාක්ෂිය සහ නිශ්චිත යෙදුමක් පරීක්ෂා කිරීමේ ක්‍රමය දෙයි: එය බැඳ ගන්න, නැතහොත් එක් මාර්ගයක් සහිත ජාල නාම අවකාශයක ධාවනය කරන්න, දුර කෙළවර වාර්තා කරන ලිපිනය බලන්න. එකම පිළිතුරු රසවත් දෝෂයයි: බැඳීම බලපෑමක් නොකළා විය හැක, නැතහොත් සත්කාරකය සහ දුර කෙළවර අතර යමක් ළඟා වීමට පෙර මූල ලිපිනය නැවත ලියයි. Windows හි, curl --interface අනුවර්තකයේ නාමය නොව ලිපිනය ඉල්ලයි.

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

සමකක්ෂය තහවුරු කිරීමට සේවාදායක දර්ශනය භාවිත කරන්න

සේවාදායකය වෙනත් ප්‍රශ්නයකට පිළිතුරු දෙයි: සමකක්ෂය සම්බන්ධද, කොපමණ ගෙනගොස් ඇත්ද සහ සැසිය නැවත ආරම්භ වීද. සේවාදායකයේ සමකක්ෂය සක්‍රීයව තිබියදී සේවාලාභියාගේ ගණන් කරන්නන් අපහසුවෙන් චලනය වේ නම්, සේවාලාභී වගුව කුමක් කීවද, යෙදුම් ට්‍රැෆික් උමඟට ඇතුළු නොවන බවයි. කිසිවක් ක්‍රියා නොකරන බව කියන පරිශීලකයා සඳහා බොහෝ දත්ත ගෙනයන සමකක්ෂය වෙනත් පරීක්ෂණයකි.

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

නිර්මාණ තීරණයක් කාන්දුවකින් වෙන් කරන්න

උමඟින් පිටත සියල්ල කාන්දුවක් නොවේ. සබැඳි-දේශීය සහ විකාශන ට්‍රැෆික් නිර්මාණය අනුව දේශීයව රැඳේ, බහු-විකාශනයෙන් හමු වූ මුද්‍රණ යන්ත්‍රය LAN හි ප්‍රකාශ කිරීම දිගටම කරයි, DHCP දේශීයව පිටවිය යුතුය. නිශ්චිත අතුරුමුහුණතකට බැඳුණු යෙදුමක් හිතාමතා මාර්ගකරණ වගුව මඟ හරියි, එය වෙනස් කරන්නේ ගිනිපවුරු රීතියක්, නාම අවකාශයක් හෝ ප්‍රතිපත්ති මාර්ගයක් පමණි.

IPv6 ලැයිස්තුවේ තමන්ගේම පේළියක් ලැබීමට සුදුසුය. IPv4 පමණක් ගෙනයන උමඟක් ද්විත්ව-ස්ටැක් සත්කාරකයට දෙවන භාවිත කළ හැකි මාර්ගයක් ඉතිරි කරයි, ද්විත්ව-ස්ටැක් ගමනාන්තයක් එයට මුල් තැන දෙනු ඇත — DNS ද ඇතුළුව, විසඳන්නා IPv6 හරහා ළඟා විය හැකි නම්. IPv4 ප්‍රතිඵලය සම්පූර්ණ යැයි සැලකීමට පෙර අනුවර්තකයේ IPv6 අක්‍රීය කරන්න හෝ උමඟ එය ගෙනයන බව තහවුරු කරන්න.

පරීක්ෂාවන් නොගැලපෙන විට, වෙනසම සාමාන්‍යයෙන් දෝෂය නම් කරයි:

What you seeWhat it meansNext step
The route picks tun0 but the capture shows cleartext to 10.20.5.7Something bypassed the table: a bound app, a policy route or a session older than the tunnelReset the flow, check the app bind, check the ip rule list
The route picks eth0 for an internal nameThe name resolves to a public address, or the route was never installedCompare the resolved address with the routes the server pushes
The capture shows DNS to the LAN resolverResolver leak: data is tunneled, lookups are notPoint the resolver inside, or push it from the server
All four checks agree and one app still failsPath selection is fine; suspect MTU, a per-app proxy or the far endTest the same destination from a known-good client

ක්‍රියා කරන අනුපිළිවෙල: සම්බන්ධ වීමට පෙර සහ පසු මාර්ගකරණ වගුව සුරකින්න, එක් අභ්‍යන්තර සහ එක් පොදු නාමයක් ලුහුබඳින්න, භෞතික අනුවර්තකයේ DNS ග්‍රහණය කරන්න, නිශ්චිත යෙදුම සඳහා ෂෙලයෙන් පිටවන ලිපිනය ආපසු දෙන්න, පසුව පරිමාව සඳහා සේවාදායකය කියවන්න. පළමු හතර ගැලපේ නම්, උමඟ ඔබ සිතන දේ ගෙනයන අතර ඉතිරි ගැටලුව ඊට ඉහළින් පවතී. ඒවායින් දෙකක් නොගැලපේ නම්, නොගැලපෙන යුගලයම දෝෂය මිස අයිකනය නොවේ.

අදාළ ලිපි