Wi-Fi වෙනස් වන විට හෝ Ethernet සවි කරන විට ඔබේ VPN කැඩී යන්නේ ඇයි
'නව SSID එකක්, ප්රවේශ ලක්ෂ්ය අතර රෝමිං සහ සවි කළ කේබලයක් ටනලය වෙනස් තැන් තුනක කඩා දමයි. මූලාශ්ර ලිපිනය, පසුව මාර්ගය, පසුව ප්රොටෝකෝලය පරීක්ෂා කරන්න.'
කරුණු දෙකක් එකම දෝෂයක් ලෙස වාර්තා වේ: ලැප්ටොප් පරිගණකය වෙනත් Wi-Fi ජාලයකට මාරු වීම, නැතහොත් Wi-Fi ක්රියාත්මකව තිබියදී කේබලයක් සවි වීම. සේවාදායකය තවමත් සම්බන්ධයි කියයි, නිරූපකය සුවපත් ලෙස පෙනේ, ටනලය කිසිවක් ගෙන යන්නේ නැත. යටින් චලනය විය හැක්කේ තත්ත්ව කොටස් තුනක් පමණි - සම්බන්ධතාව, දේශීය ලිපිනය, පෙරනිමි මාර්ගය - සහ කුමක් ගියාද යන්න ටනලය තනිවම යථා තත්ත්වයට පත් වේද නැතහොත් නැවත සම්බන්ධ විය යුතුද යන්න තීරණය කරයි. මම ඒවා එම අනුපිළිවෙලින්ම පරීක්ෂා කරමි, මන්ද ගිණුම් සැකසුම් වෙනස් කිරීම කිසිදා ඒවායින් එකක්වත් අලුත්වැඩියා කර නැත.
සම්බන්ධතාව, ලිපිනය සහ මාර්ගය ස්වාධීනව චලනය වේ
එකම ජාලයේ ප්රවේශ ලක්ෂ්ය අතර රෝමිං සාමාන්යයෙන් L2 සිදුවීමකි. රේඩියෝව නැවත සම්බන්ධ වේ, අතුරුමුහුණත තම ලිපිනය සහ ගේට්වේ රඳවා ගනී, ටනලය රඳා පවතින කිසිවක් වෙනස් නොවේ, එබැවින් විශාල කාර්යාලයක් හරහා ඇවිදීම සමහර විට නොදැනීම ගත වේ. වෙනත් SSID එකකට එකතු වීම එය නොවේ: පැරණි අතුරුමුහුණත බැස යා හැක, DHCP නව ලිපිනයක්, නව ගේට්වේ එකක් සහ නව විසඳන්නන් ලබා දෙයි, ටනලය භාවිත කළ බාහිර ප්රවාහය තවදුරටත් නොපවතී.
Ethernet තුන්වන හැඩය එකතු කරයි. Wi-Fi කිසිදා නොවැටේ, එබැවින් සම්බන්ධතා සිදුවීමක් කිසිසේත් සිදු නොවේ, නමුත් රැහැන් අතුරුමුහුණත තම ලිපිනය සමඟ දිස්වන අතර බොහෝ විට මිනුම මත පෙරනිමි මාර්ගය දිනා ගනී. ටනලය තවදුරටත් කැමති නොවන මාර්ගයක ගමන් කරයි, නැතහොත් සේවාදායකය ආරම්භ කළ රැහැන් රහිත ජාලයට තම සොකට් එක සවි කර තබා ගනී. බ්රවුසරයෙන් දෙකම එකම ලෙස පෙනේ: කේබලය සවි වූ මොහොතේම පිටු නතර වේ.
එබැවින් පළමු ප්රශ්නය Wi-Fi වෙනස් වුණාද යන්න නොවේ. ඔබ බැඳී සිටින ලිපිනය, නැතහොත් අවසන් ලක්ෂ්යයට ඇති මාර්ගය, ටනලය ක්රියාත්මකව තිබියදී වෙනස් වුණාද යන්නයි.
බාහිර සොකට් එක දැන් නැති වූ ලිපිනයකට සවි කර ඇත
සෑම ටනලයක්ම බාහිර ප්රවාහයකි: දේශීය ලිපිනයක් සහ පෝටයක් සේවාදායකයේ ලිපිනය හා පෝටය සමඟ කතා කරයි. Linux හි එය පැරණි මූලාශ්රයට බැඳුණු UDP සොකට් එකකි; ලිපිනය රඳවා ඇති අතුරුමුහුණත ඉවත් කළ විට, යැවීම් EADDRNOTAVAIL සමඟ අසාර්ථක වේ, නැතහොත් සේවාදායකය කිසිදා නොදුටු මූලාශ්රයක් සමඟ නව අතුරුමුහුණත හරහා පිටව යයි.
දුර පස තම සවි කිරීම රඳවා ගනී. MOBIKE නොමැති IKEv2 SA එකක් ලිපින යුගලයෙන් හඳුනා ගනී, සහ OpenVPN සැසියක් එය ඉගෙන ගත් සම සමාන ලිපිනයට බැඳේ, NAT සිතියමක් එය නිර්මාණය කළ පෞද්ගලික ලිපිනය, පෝටය සහ පොදු ලිපිනයට අයත් වේ. වෙනත් NAT එකක පිටුපසට යන්න, සෑම පිළිතුරක්ම තවදුරටත් නොපවතින සිතියමකට යයි. ඔබේ යන්ත්රයේ කිසිවක් වැරදි ලෙස වින්යාස කර නැත; පංචකය ඔබ අත්හැර ගිය ජාලයකට යොමු කරයි.
න්යාය ගොඩනැගීමට පෙර තත්ත්වය කියවන්න:
ss -unpසෑම ටනල සොකට් එකක්ම ඇත්තටම රඳවා ගන්නා දේශීය ලිපිනය සහ පෝටය පෙන්වයි.ip route get 203.0.113.10කර්නලය දැන් අවසන් ලක්ෂ්යය සඳහා භාවිත කරන මූලාශ්ර ලිපිනය සහ උපාංගය මුද්රණය කරයි.wg show wg0 endpoints,swanctl --list-sasනැතහොත් සේවාදායක ලොගය දුර පස කතා කරන බව සිතන සම සමාන ලිපිනය පෙන්වයි.
සොකට් ලිපිනය සහ මාර්ග සෙවීම නොගැළපෙන්නේ නම් ඔබ කැඩීම සොයා ගෙන ඇත, කිසිදු අක්තපත්ර වෙනසක් එය ස්පර්ශ නොකරයි.
නව මූලාශ්ර ලිපිනයක් සමඟ සෑම ප්රොටෝකෝලයක්ම කරන්නේ කුමක්ද
සේවාදායකයන් වෙනස විවිධ මට්ටම්වලට උරා ගනී, සහ නැවත සම්බන්ධ වීමේ හැසිරීමෙන් අනුමාන කරනවාට වඩා මම සේවාදායක වින්යාසය සමඟ සසඳන්නේ මෙම වගුවයි.
| Tunnel | Recovery behaviour | Failure signature |
|---|---|---|
| WireGuard | Updates the peer endpoint when an authenticated packet arrives from a new address; no handshake needed if traffic continues. | Handshake current, no return traffic; wg show still lists the old endpoint. |
| IKEv2/IPsec | MOBIKE (RFC 4555) moves the SA to the new address; without it the responder discards packets from an unknown source. | DPD or keepalive timeouts, then a full rekey or a dead SA. |
| OpenVPN over UDP | --float accepts a packet from a new source mid-session; otherwise the session stays tied to the original peer address. | Idle until ping-restart fires, then a visible reconnect. |
| OpenVPN over TCP | The tunnel is a byte stream, so a changed source address breaks it outright. | Immediate reset and a new connection attempt. |
WireGuard හි රෝමිං රීතිය ක්රියා කරන්නේ එක් දිශාවකට පමණි: සේවාදායකය පළමුව නව ලිපිනයෙන් යැවිය යුතුය. පැරණි අතුරුමුහුණතට තවම බැඳී ඇති සොකට් එකක් එය කිසිදා නොකරයි, එබැවින් ටනලය සජීවී ලෙස පෙනිය හැකි අතර එහි අත්සන් කිරීමේ කාලකය වයස්ගත වේ. ප්රොටෝකෝල විස්තරය අවසන් ලක්ෂ්ය යාවත්කාලීන කිරීමේ කොන්දේසිය නිවැරදිව දක්වයි, සහ වින්යාසයක් වෙනස් කිරීමට පෙර එය කියවීම වටී.
MOBIKE සාකච්ඡා මගින් තීරණය වේ, උපකල්පනය නොකෙරේ. සේවාදායකය එය ඉදිරිපත් නොකරන්නේ නම්, සේවාදායකය නැවත ස්ථාපිත කළ යුතුය, සහ එය SA ලැයිස්තුවෙන් හෝ ලොගයෙන් තහවුරු කරන කරුණකි, කරකැවෙන රෝදයකින් අනුමාන කරන දෙයක් නොවේ.
මාර්ගය තීරණය කරන්නේ මාර්ග ප්රමුඛතාවයි, Wi-Fi නිරූපකය නොවේ
අතුරුමුහුණත් දෙකම ඉහළ ඇති විට කර්නලය මිනුම සහ උපසර්ග දිග අනුව තෝරයි. ip route show default අපේක්ෂකයන් ලැයිස්තුගත කරයි, සහ ip route get 203.0.113.10 මූලාශ්ර ලිපිනය ඇතුළුව සැබෑ තීරණය විසඳයි. මිනුම 100 හි රැහැන් පෙරනිමිය සහ 600 හි රැහැන් රහිත යන්නෙන් අදහස් වන්නේ කේබලය වැටෙන මොහොතේම අවසන් ලක්ෂ්යය චලනය වන බවයි, එහෙත් කලින් සොකට් විවෘත කළ සෑම යෙදුමක්ම තම පැරණි මූලාශ්රය රඳවා ගනී.
Windows ද ස්වයංක්රීය අතුරුමුහුණත් මිනුම් සමඟ එයම කරයි, සම්බන්ධතා වේගයෙන් පක්ෂපාතීව. Get-NetRoute -DestinationPrefix 0.0.0.0/0 අපේක්ෂකයන් නිර්ණය කරයි, සහ Find-NetRoute -RemoteIPAddress 203.0.113.10 ගොඩගැස්ම තෝරන අතුරුමුහුණත සහ මූලාශ්රය ආපසු දෙයි. තම බාහිර සොකට් එක එක් අතුරුමුහුණතකට බඳින සේවාදායකය මිනුම පෙරළුණු පසුවත් එය භාවිත කරයි; එය බැඳීමේ තීරණයකි, මාර්ගගත කිරීමේ දෝෂයක් නොවේ.
Android බෙදීම දෘශ්ය කරයි: ConnectivityManager ලබා ගත හැකි ජාල සහ වෙනම පෙරනිමියක් වාර්තා කරයි, සහ සොකට් එක Network වස්තුවකට බඳින VPN යෙදුම නැවත නොබඳින තෙක් එම බැඳීම රඳවා ගනී. macOS හි, scutil --nwi ප්රාථමික අතුරුමුහුණත සහ පද්ධතිය භාවිත කරන අනුපිළිවෙල මුද්රණය කරයි.
DNS, MTU සහ IPv6 සම්බන්ධතාව සමඟ චලනය වේ
නව සම්බන්ධතාවක් නව විසඳන්නන් ගෙන එයි. systemd-resolved සමඟ DNS සම්බන්ධතාවයකට වරක්, resolvectl status කුමන සම්බන්ධතාවය නාමයකට පිළිතුරු දෙන්නේද යන්න පෙන්වයි, සහ තම විසඳන්නා බෙදා දෙන අමුත්තන්ගේ ජාලයක් සම්බන්ධතාවය නැවත ප්රිය වන තෙක් ටනලය තල්ලු කළ DNS භාවිත නොකර තැබිය හැක. රඳවා ගන්නා ද්වාරය එය නරක අතට හරවයි: පළමු HTTPS ඉල්ලීමට අවසන් ලක්ෂ්යය වෙනුවට ද්වාරය පිළිතුරු දෙයි, සහ සේවාදායකය මළ සේවාදායකයක් සටහන් කරයි.
මාර්ගයේ MTU ද වෙනස් වේ. Ethernet සහ Wi-Fi සාමාන්යයෙන් බයිට් 1500ක් ගෙන යයි, PPPoE 1492ක්, සහ ජංගම සම්බන්ධතා බොහෝ විට අඩුවෙන්. කුඩා MTU උරුම වූ ටනලයක් විශාල පැකට්වල නතර වන අතර කුඩා ඉල්ලීම් සාර්ථක වේ, එය අඩක් කැඩුණු සම්බන්ධතාවක් ලෙස කියවේ. ping -M do -s 1472 203.0.113.10 DF සකසන ලද බයිට් 1500 පැකට් එකක් යවයි; නිහඬතාවය යන්නෙන් අදහස් වන්නේ මාර්ගය ඔබ උපකල්පනය කළ ප්රමාණයට වඩා කුඩා බවයි.
IPv6 අනෙක් අඩකි. නව උපසර්ගයක් ලබා දෙන ජාලයක් ද්වි-ගොඩගැස්ම් සේවාදායකය භාවිත කරන මූලාශ්රය වෙනස් කරයි, සහ v4 පමණක් වූ ටනලයක් ප්රතිපත්තිය නොපැමිණෙන තෙක් v6 රථවාහනය පිටත තබයි. ip -6 route show default සහ ip -6 addr show නව සම්බන්ධතාවයට කිසිසේත් v6 මාර්ගයක් තිබේද යන්නට පිළිතුරු දෙයි.
විස්තර කරනවාට වඩා සංක්රමණය නැවත නිපදවන්න
හානිකර නොවන ඉල්ලීමක් තෝරාගෙන වෙනසෙහි දෙපසම එම අණ තුනම ධාවනය කරන්න: ip -br addr, ip route show default, ip route get 203.0.113.10. පසුව ටනලය තවමත් පැකට් නිකුත් කරන්නේද යන්න බලන්න - tcpdump -ni any udp port 51820 WireGuard සඳහා, අනෙක් සියල්ලට ගැළපෙන පෝටය. පැරණි මූලාශ්රයෙන් පිටවන පැකට් යන්නෙන් බැඳීමේ ගැටලුවක් අදහස් වේ. නව මූලාශ්රයෙන් පිළිතුරක් නොමැතිව පිටවන පැකට් යන්නෙන් දුර පස හෝ මැද NAT එක අදහස් වේ.
පළමු දෝෂය සමඟ කුමන සිදුවීම සමපාත වුණාද සටහන් කරන්න: සම්බන්ධතාව බැසීම, ලිපිනය වෙනස් වීම, හෝ පෙරනිමි මාර්ගය වෙනස් වීම. මේවා වෙනස් වගකිවයුතු පුද්ගලයින්ට යොමු කරයි - නැවත බැඳිය යුතු සේවාදායකය, නැවත ලබා ගත යුතු ලිපිනය, නැතහොත් වින්යාස ගොනුවකට අයත්, ස්ථිර මඟහැරීමේ රීතියකට අයත් නොවන මාර්ගය.
නිවැරදි කළා යැයි පැවසීමට පෙර, සෘජු රථවාහන අවහිරතාව අතරතුරද තවමත් පවතින බවත්, නාම නව සම්බන්ධතාව හරහා විසඳෙන බවත් තහවුරු කරන්න. මාරුවෙන් පසුවත් සේවාදායකය පැරණි අවසන් ලක්ෂ්යය රඳවා ගන්නේ නම්, පළමුව රෝමිං හෝ float සැකසුම නිවැරදි කරන්න. එය නිවැරදිව රෝම් කර පිළිතුරක් නොලැබෙන්නේ නම්, සේවාදායකයේ සම සමාන අනන්යතාව සහ මාර්ගයේ NAT දෙස බලන්න, සහ ඊළඟ පුද්ගලයාට සසඳා ගත හැකි වන පරිදි ජාල සන්දර්භ දෙකම වාර්තාවේ තබන්න.