මෝස්තර දෙකක් එකම දෙය පොරොන්දු වේ: උමඟ වැටෙන විට, කිසිවක් විවෘතව පිටතට නොයයි. එකක් ඩවුන් කිරීමේදී ස්ක්‍රිප්ට් එකක් ධාවනය කර අතුරුමුහුණත් කපා දමයි. අනෙක ෆයර්වෝල් නියමයක් බලයේ තබා VPN සේවාදායකයාගෙන් කිසිවක් ඉල්ලා නොසිටී. ඒවා වෙනස් වන්නේ කාට ක්‍රියා කිරීමේ අවසරය ඇත්ද, පරතරය තුළ කුමක් සිදුවේද සහ පසුව යන්ත්‍රය නැවත මාර්ගගත වන්නේ කෙසේද යන්නෙනි. එම කරුණු තුන මත ඒවා සංසන්දනය කිරීම වඩාත් දැඩි කුමක්ද යන්න ගැන තර්ක කිරීමට වඩා ප්‍රයෝජනවත් ය.

එකම කාර්යය, ක්‍රම දෙකකින්

පැතිකඩ ස්ක්‍රිප්ට් ධාවනයට ඉඩ දෙන්නේ නම්, උමඟ ඉහළ යන විට සහ ඩවුන් වන විට සේවාදායකයාට කොක්ක ධාවනය කළ හැක. එම කොක්ක සේවාදායකයාගේ ජීවන චක්‍රය තුළ, සම්බන්ධතාවය වැසෙන මොහොතේම ධාවනය වේ. ෆයර්වෝල් නියමයක් නම් පද්ධතියට අයත් වන අතර සේවාදායකයා ධාවනය වේද, කඩා වැටුණාද, මරා දමා ඇත්ද යන්න ගැන එයට ගැටළුවක් නැත.

PropertyTeardown scriptFirewall unit
Runs when the client is killedNoYes
Needs privilege at teardown timeUsually yesConfigured once, at boot
Acts on the whole machineOften, including recovery pathsOnly on the flows it matches

එම වගුව මුළු තර්කයයි. පිරිසිදු වැසීමකදී පමණක් ධාවනය වන ස්ක්‍රිප්ට් එකක් ඔබට අඩුම තැකීමක් තිබූ අවස්ථාව ආවරණය කරයි; වැදගත් අවස්ථාව වන්නේ කඩා වැටීම හෝ ජාලය අතුරුදහන් වීමයි, ඒ දෙකින්ම පිරිසිදු ඩවුන් කිරීමක් ලැබෙන්නේ නැත.

ඩවුන් කිරීමේ කොක්කට කළ හැකි දේ සහ නොහැකි දේ

ලේඛනගත රටාව ජාල අතුරුමුහුණත් හරහා ගොස් loopback හැර සියල්ල පහත හෙළයි. භෞතික උපාංගය පහත ඇති විට උමඟින් පිටතට කිසිවක් පැන යා නොහැක, එයම අදහසයි.

#!/bin/sh
for dev in /sys/class/net/*; do
  name=$(basename "$dev")
  [ "$name" = lo ] || ip link set dev "$name" down
done

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

කොක්ක විශ්වාස කිරීමට පෙර සේවාදායකයා ආරම්භ වන ආකාරය පරීක්ෂා කරන්න. root ලෙස අතින් ධාවනය කළ විට ක්‍රියා කරන ස්ක්‍රිප්ට් එකක්, ආරම්භයේදී පටන් ගන්නා සේවාව ගැන කිසිවක් ඔප්පු නොකරයි.

ෆයර්වෝල් නියමය වෙනස් ලෙස කරන්නේ කුමක්ද

උමඟේ රථවාහනයට පමණක් ඉඩ දෙන නියමයක් සේවාදායක ක්‍රියාවලිය නැති වූ විටත් ක්‍රියා කරයි, මන්ද කර්නලය එම ක්‍රියාවලිය මත රඳා නොපවතී. නියමය වඩාත් පටු ය: එය ගැළපෙන ප්‍රවාහ පමණක් අවහිර කර loopback, දේශීය උපජාලය සහ ප්‍රතිසාධන මාර්ගය තනිවම තබයි, එබැවින් යන්ත්‍රය අතරමං නොකරයි.

මිල වන්නේ නියමය සත්කාරක ෆයර්වෝලයේ හිමිකරු විසින් ලිවිය යුතු අතර රැක ගත යුතු බවයි, සහ එය සේවාදායකයා සැබවින්ම සාදන උමඟ උපාංගය නම් කළ යුතුය. එහි අර්ථය නියමය සහ පැතිකඩ එකට රැක ගත යුතු බවයි; නම වෙනස් කළ අතුරුමුහුණතක් සියල්ල අවහිර කර කිසිවක් පැහැදිලි නොකරන ෆයර්වෝලයක් ඉතිරි කරයි.

කිසිදු ක්‍රමයක් අනෙක අනවශ්‍ය නොකරයි. සංස්කරණයකින් පසු කිසි විටෙක නැවත පූරණය නොවන ෆයර්වෝල් නියමයක් කිසි විටෙක නොදුවන ස්ක්‍රිප්ට් එකක් තරම්ම ප්‍රබන්ධමය ය.

පරතරයක් තිබේද යන්න තීරණය කරන්නේ persist-tun ය

උමඟ උපාංගය විසන්ධි වීමකින් ගැලවී රැඳෙන්නේ නම්, එයට යන මාර්ග ද රැඳේ. එවිට රථවාහනය නැවත හරවා යැවීම වෙනුවට ඉවත දමනු ලැබේ, එබැවින් පෙරනිමි මාර්ගය භෞතික ද්වාරයට ආපසු නොවැටේ. කිසිදු ෆයර්වෝල් නියමයක් සම්බන්ධ නොවීමටත් පෙර කාන්දුවක් අසම්භාව්‍ය කරන්නේ මෙම හැසිරීමයි.

මෙම සැකසුම නොමැතිව උපාංගය මාර්ග සමඟ ඉවත් කෙරේ, සහ පෙරනිමි මාර්ගය නැවත භෞතික ද්වාරය දෙසට යා හැක. එසේ වේද නැද්ද යන්න වේදිකාව සහ සේවාදායකයා මත රඳා පවතී, එබැවින්ම තත්ත්වය උපකල්පනය නොකර නිරීක්ෂණය කළ යුතුය. සැකසුම kill switch හි කොටසක් ලෙස සලකන්න, කාර්ය සාධන විකල්පයක් ලෙස නොව.

නැවත සම්බන්ධ වීමේ මාර්ගය ජීවමානව තබා, පසුව අවස්ථා හතරක් පරීක්ෂා කරන්න

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

ip route add 198.51.100.20/32 via 192.168.0.1 dev wlan0

පසුව ලේබලය නොව අවස්ථා තහවුරු කරන්න. මොහොත හතරක් හිතාමතා අත්දකින්න: උමඟක් නොමැති සීතල ආරම්භය, නීරෝගී සැසිය, කිසිවෙකු නොඉල්ලූ වැටීම, සහ ප්‍රතිසාධනයෙන් පසු සැසිය. සෑම මොහොතකම පෙරනිමි මාර්ගය කියවා පිටවන ලිපිනය පෙනෙන ඉල්ලීමක් කරන්න. උමඟ පහත ඇති විට අත්හරින යෙදුමක් තැපැල් සේවාදායකය හෝ යාවත්කාලකය ගැන කිසිවක් නොකියයි, එබැවින් අවසාන පරීක්ෂාව පසුබිම් යෙදුමක් සමඟ නැවත කරන්න. නියමය, අතුරුමුහුණත් නම් සහ ප්‍රතිසාධන පියවර ලියා තබන්න, මන්ද කිසිවෙකුට තහවුරු කළ නොහැකි kill switch එකක් යනු ගුවන් වදනක් පමණි.

අදාළ ලිපි