nftables OpenVPN ක්ලයන්ට් අතර ගමන් මාර්ගය දැකීමට නොහැකි වන්නේ ඇයි
සම අතර ගමන් මාර්ගය VPN ක්රියාවලිය තුළම බෙදාහරින නිසා යැවීම් ගණන් කරන්නන් කිසිදා නොසෙල්වේ. එය ගණන් කිරීමට කර්නල් මාර්ගය සහ ක්රියාවලි මාර්ගය අතර තේරීමක් අවශ්ය වේ.
එක් සේවාදායකයක ක්ලයන්ට් දෙදෙනෙක් ගොනු හුවමාරු කරති, මාරුව සාර්ථක වේ, නමුත් උමං මාර්ගයට යොමු කරන සෑම යැවීම් නියමයක්ම ශුන්ය පැකට් වාර්තා කරයි. නියම කැඩී නැති අතර දාමය වැරදි තැනක නැත. සම-සම යැවීම සක්රීය වූ විට පැකට් එක සේවාදායක ක්රියාවලිය තුළම බෙදාහරින අතර සත්කාරක තට්ටුව කිසිදා රවුටරය නොවේ, එබැවින් කර්නල් ගිනිපවුරට ගණන් කිරීමට කිසිවක් නැත. මෙම වෙන්වීම තේරුම් ගැනීම කෙටි මාර්ගය තබා ගන්නවාද නැතහොත් කර්නලය හරහා මාර්ගය නැවත ගොඩනඟන්නවාද යන්න තීරණය කරයි.
සේවාදායකය හරහා එක් පැකට් එකක් අනුගමනය කරන්න
මාර්ගගත උමං මාර්ගයක දී ඩේමනය සෑම ක්ලයන්ටයකගේම විකේතනය කළ පැකට් එක උමං උපාංගයට දෙයි. එතැන් සිට සත්කාරකය එය මාර්ගගත කරයි, යැවීම් කොක්ක ක්රියාත්මක වේ, උමං උපාංගයට ගැළපෙන නියමයකට ගමන් මාර්ගය ගණන් කළ හෝ ඉවත දැමිය හැක. බොහෝ ගිනිපවුරු උදාහරණ උපකල්පනය කරන්නේ මෙම මාර්ගයයි.
| Forwarding path | Who decides | What the host firewall sees |
|---|---|---|
| Kernel routing between clients | Host routing table and forward rules | Every inner packet, with interface names |
| Peer forwarding inside the server process | The VPN daemon's own peer table | Only the outer encrypted transport |
කෙටි මාර්ගය සත්කාරකය මැදින් ඉවත් කරයි. එක් සැසියක විකේතනය කළ පැකට් එක ඩේමනය තුළම තවත් සැසියකට දෙන අතර අභ්යන්තර පැකට් එක කිසිදා උමං උපාංගයේ නිකුත් නොවේ, සත්කාරකය එය මාර්ගගත නොකරයි. කැප්සියුලගත ගමන් මාර්ගය තවමත් භෞතික අතුරුමුහුණත තරණය කරයි, එබැවින් බාහිර ග්රහණය කාර්යබහුල ලෙස පෙනෙන අතර අභ්යන්තර නියම නිශ්ශබ්දව පවතී. උමං උපාංගයේ ගන්නා ලද ග්රහණය කිසිවක් නොපෙන්වයි, එහි මාරුව නැරඹීමට බලාපොරොත්තු වන ඕනෑම කෙනෙකු පුදුමයට පත් කරයි. එම අසමමිතිය ඩේමනයෙන් පිටතින් කෙටි මාර්ගය හඳුනා ගැනීමට ඇති වේගවත්ම ක්රමයයි.
කුමන මාර්ගය ගියාද යන්න තීරණය කරන ගණන් කරන්නාගේ පරීක්ෂණය
යෙදිය යුතු නියමයට ගණන් කරන්නෙකු සවි කරන්න, එම නියමය වළක්වා ගත යුතු ක්ලයන්ට් දෙදෙනා අතර මාරුවක් ක්රියාත්මක කරන්න, පසුව ගණන් කරන්නා කියවන්න.
sudo nft list ruleset
sudo nft add rule inet filter forward iifname "tun0" oifname "tun0" counter accept
sudo nft list chain inet filter forward
මාරුව සාර්ථක වී ගණන් කරන්නා ශුන්යයේම රැඳී ඇත්නම්, කර්නලය එම පැකට් කිසිදා හසුරුවා නැත, නියම කොපමණ සංස්කරණය කළත් එය වෙනස් නොවේ. එම පරීක්ෂණයම සේවාදායකයේම ඇති සේවාවකට එරෙහිව නැවත කරන්න, එම ප්රවාහය සත්කාරක තට්ටුව හරහා යන අතර එහි ගණන් කරන්නා සෙල්වේ. ප්රතිඵල දෙක සංසන්දනය කිරීමෙන් පමණක් පිළිතුර ලැබේ.
විස්තර දෙකක් වැරදි කියවීම වළක්වයි. දාම ලේබලයක ලියූ අතුරුමුහුණත් නාමය තනිව කිසිවක් පෙරහන් නොකරයි, මන්ද ගැළපීම සිදුවන්නේ නියම තුළ ඇති අතුරුමුහුණත් ක්ෂේත්රවලය. තවද පාලම් කළ 2වන ස්තරයේ සැලසුම නැවතත් වෙනස් ලෙස හැසිරේ: එහි ක්ලයන්ට් එකම විකාශන වසමක් බෙදා ගන්නා බැවින් සම අනාවරණය අපේක්ෂිත වන අතර මාර්ගගත දෝෂයක් නොවේ.
ස්විචයක් ප්රවේශ ලැයිස්තුවක් නොවේ
අඩක් දවසක් ගත වන කොටස මෙයයි. සම යැවීම එක් සක්රීය-අක්රීය සැකසුමක් වන අතර එය සක්රීයව ඇති තාක් ඩේමනය එකම යැවීම් ලක්ෂ්යයයි. සත්කාරක ගිනිපවුරට කවුරුන් කා වෙත ළඟා විය හැකිද යන්න ප්රකාශ කළ නොහැක, ක්ලයන්ටය අනුව ගොනු ස්විචය ප්රතිපත්ති න්යාසයක් බවට නොපත් කරයි.
ඔබට සම අනුව නියම අවශ්ය නම්, තේරීම වන්නේ කෙටි මාර්ගය අත්හැරීම සහ පාලනය ලෙස සත්කාරක ගිනිපවුර අත්හැරීම අතරය. එය අක්රීය කිරීම කර්නල් යැවීම නැවත ලබා දෙන අතර, ඒ සඳහා සේවාදායකයේ IP යැවීම සක්රීය කිරීම සහ අවශ්ය ප්රවාහ සඳහා පැහැදිලි නියම අවශ්ය වේ. එය සක්රීයව තැබීමෙන් ප්රතිපත්තිය ඩේමනයේ වින්යාසයේ ජීවත් වන අතර, එය ප්රායෝගිකව සියලු සම හෝ කිසිදු සම නොවේ.
තමන්ගේම ලිපින සංචිත සහ වරාය සහිත වෙනම සේවාදායක ක්රියාවලි මධ්ය මාර්ගයයි. සෑම ක්රියාවලියක්ම හරියටම එක් ප්රවේශ තීරණයක් දරයි, එබැවින් කණ්ඩායම් දෙකකට ප්රතිපත්ති න්යාසයක් නොමැතිව වෙනස් නියම තිබිය හැක. සත්කාරකයට අවශ්ය විට සංචිත අතර මාර්ගගත කළ හැක, එවිට ගිනිපවුර එම ප්රවාහ දකී මන්ද ඒවා සත්කාරකය තරණය කරයි. පිරිවැය වන්නේ අමතර වරාය, අමතර සහතික සහ සෑම කණ්ඩායමකට පැතිකඩක්.
යැවීම් ලක්ෂ්යය තේරීම
ගිනිපවුර ප්රතිපත්ති එන්ජිම වන විට, සෑම ප්රවාහයකටම ලඝු කිරීම අවශ්ය වන විට, හෝ ගිණුම්කරණය වැදගත් වන විට කර්නල් යැවීම තෝරන්න. පිරිවැය වන්නේ සත්කාරක තට්ටුව හරහා ප්රවාහය සහ නඩත්තු කිරීමට වැඩි නියම. ප්රතිලාභය වන්නේ ගණන් කරන්නන්ගේ සිට ප්රවාහ නිර්යාතක දක්වා සෑම පවතින මෙවලමක්ම ගමන් මාර්ගය නැවත විස්තර කිරීමයි. කුඩා සේවාදායකයක මෙම පිරිවැය නොපෙනේ; කාර්යබහුල රිලේ එකක එය නොපෙනෙන්නේ නැත.
සම අතර ගමන් මාර්ගය සම්පූර්ණයෙන් අවසර දී ඇත්නම් හෝ සම්පූර්ණයෙන් තහනම් නම් සහ සේවාදායකය ඒ සඳහා මනිනු ලැබ ඇත්නම් ක්රියාවලිය තුළ යැවීම තෝරන්න. පිරිවැය වන්නේ ගණන් කරන්නන්, පෝලිම් විනය සහ සම්බන්ධතා ලුහුබැඳීම තවදුරටත් අභ්යන්තර ප්රවාහ විස්තර නොකිරීමයි; පසුව කිසිවෙකු ඒවා මත රඳා නොපවතී නම් පමණක් මෙය පිළිගත හැක.
ඔබ තෝරන කුමක් වුවත් එය ගිනිපවුරු නියමවල පසෙකින් ලියන්න. සම අතර ගමන් මාර්ගයට අවසර දෙන බව පෙනෙන නමුත් ඩේමනය කෙසේ වෙතත් තීරණය කරන නියම කුලකය අසාර්ථක මාරුවක් නිදොස් කරන ඊළඟ පුද්ගලයා නොමඟ යවයි. නියම පමණක් කියවන ඕනෑම කෙනෙක් කර්නලය දොරටුව යැයි උපකල්පනය කරයි.
නියම වෙනස් කිරීමට පෙර පරීක්ෂා කළ යුතු දේ
සේවාදායකය සැබවින්ම පූරණය කළ වින්යාසය කියවන්න, ඔබ සංස්කරණය කළ බව මතක ඇති ගොනුව නොව, සහ සම විකල්පය පවතීදැයි තහවුරු කරන්න. ඔබ එය වෙනස් කර ඇත්නම්, සේවාව නැවත පූරණය වූ බවට වග බලා ගන්න, තැටියේ ගොනුවක් නැවත ලිවීම පමණක් නොව.
පසුව නියමය ඇත්තෙන්ම ගැළපෙන බව ඔප්පු කිරීමට ක්ලයන්ටයේ සිට සේවාදායකයට ප්රවාහයක් සමඟ පරීක්ෂණය නැවත කරන්න, සහ තල්ලු කළ මාර්ග පරීක්ෂා කරන්න, මන්ද අස්ථානගත මාර්ගයක් ක්ලයන්ටය පැත්තෙන් හරියටම ගිනිපවුරු අවහිරයක් මෙන් පෙනේ. කුමන යැවීම් ලක්ෂ්යය තීරණය හිමිකර ගනීදැයි දැනගත් පසුව පමණක් නියම අනුපිළිවෙල වෙනස් කරන්න.