ඉල්ලීම සෑම විටම එකම වාක්‍යයේ ප්‍රභේදයකි: බ්‍රවුස් කිරීම සඳහා VPN තබා ගන්න, නමුත් SSH හෝ උපස්ථ කාර්යයකට සාමාන්‍ය සම්බන්ධතාවය භාවිත කිරීමට ඉඩ දෙන්න. මේ ගැන කැරකෙන උපදෙස, එනම් iptables NAT රීතිවලින් වරාය ඉදිරියට යැවීම, එය කරන්නේ නැත. NAT රීතියක් ගලා යාමක් තුළ ලිපින සහ වරාය ප්‍රතිලේඛනය කරයි; පැකට්ටුව පිටවන අතුරුමුහුණත කිසිදා තෝරන්නේ නැත. එම තීරණය මාර්ග සෙවීමට අයත් වන අතර, මාර්ග සෙවීමට වරායක් දැකීමට උදව් අවශ්‍යයි.

සාමාන්‍ය මාර්ගයකට වරායක් නොගැළපෙන්නේ ඇයි

ලිනක්ස් ගමනාන්ත ලිපිනය වගුවක සොයා මාර්ගයක් තෝරයි, අපේක්ෂක වගු ප්‍රතිපත්ති රීති හරහා පෙරහන් කළ පසු. එම රීති firewall ලකුණක්, මූලාශ්‍ර ලිපිනයක්, ඇතුළු වන අතුරුමුහුණතක් හෝ UID එකක් නොගැළපිය හැක. මාර්ග සටහනකටම වරාය ක්ෂේත්‍රයක් නැත, මන්ද මාර්ගය තෝරන්නේ ප්‍රවාහන ශීර්ෂය වැදගත් වීමට පෙරය.

වර්තමාන iproute2 සහ කර්නල රීති තේරීම පුළුල් කරයි: ipproto, sport සහ dport පිළිගනු ලැබේ, එබැවින් ip rule add ipproto tcp dport 22 table 100 අදහස එක් පේළියකින් ප්‍රකාශ කරයි. ip rule add help සැබෑ සත්කාරකයේ ධාවනය කරන්න, ඔබේ ගොඩනැගීම dport ලැයිස්තුගත කරන්නේදැයි බැලීමට. එසේ නම්, එක් විධානයකින් ඔබ අවසන්; නොවේ නම්, පහත ලකුණු මාර්ගය සමාන වේ.

කෙසේ වුවද රීතිය නිකම්ම දර්ශකයකි. 100 වගුවට තවමත් මාර්ගයක් අවශ්‍ය වන අතර, එයයි මිනිසුන්ට අමතක වන කොටස.

කොටස් තුනක්, නැතිනම් එකක්

නවීන ආකාරය ඉහත එක් රීතිය සහ විකල්ප වගුවේ මාර්ගයකි. සම්භාව්‍ය ආකාරය මැදට netfilter එකතු කරයි: පැකට්ටුව ලකුණු කරන්න, පසුව රීතියක ලකුණ ගළපන්න. දෙකම එකම සෙවීමේදී අවසන් වේ; වෙනස වරාය කියවන තැනයි.

ලකුණු ක්‍රමය පවතින්නේ netfilter ප්‍රවාහන ශීර්ෂය දකින අතර මාර්ගකරණ කේතය ඓතිහාසිකව එය නොදුටු බැවිනි. එයයි මුළු යාන්ත්‍රණය, සහ එය පැහැදිලි කරන්නේ ඇයි ආපසු මාර්ගය එක් බුද්ධිමත් විධානයක් නොව සහයෝගී කොටස් තුනක් වන්නේ.

කොටස් තුන පිළිවෙලට

පළමුව, හරවා යැවීමට අවශ්‍ය ගලා යාම මාර්ග තීරණයට පෙර ලකුණ පවතින තරම් ඉක්මනින් ධාවනය වන දාමයක ලකුණු කරන්න:

nft add table inet vpnexempt
nft 'add chain inet vpnexempt out { type route hook output priority mangle; }'
nft add rule inet vpnexempt out tcp dport 22 meta mark set 0x1

දෙවනුව, ලකුණු කළ පැකට් වෙනම වගුවකට යවන්න:

ip rule add fwmark 0x1/0x1 table 100

තෙවනුව, එම වගුවට භෞතික සබැඳිය හරහා පෙරනිමි මාර්ගයක් දෙන්න. ලිපින නිදර්ශනාත්මකය; ඔබේ ඒවා ආදේශ කරන්න:

ip route add default via 192.168.1.1 dev wlan0 table 100

තෙවන පියවර මඟ හරින්න, ලකුණු කළ පැකට්ටුවට 100 වගුවේ මාර්ගයක් හමු නොවන බැවින් එය අසාර්ථක වේ. රෝග ලක්ෂණය පෙනෙන්නේ රීතිය ජාලය කැඩුවාක් මෙනි, නමුත් ඇත්තෙන්ම එය පැකට්ටුවට ඉතිරි වූ එකම මාර්ගය ඉවත් කළේය.

පළමු පැකට්ටුවෙන් පසු එය ක්‍රියාත්මකව තබන දේ

ලකුණු පිටවන පැකට්වලට අදාළ වේ. පිළිතුර සබැඳිය පැවරූ ලිපිනය සමඟ භෞතික අතුරුමුහුණතට පැමිණේ, සහ ප්‍රධාන වගුව එම ගමනාන්තය සඳහා උමං මාර්ගයට තවමත් මනාප විය හැක. යාන්ත්‍රණ දෙකක් පිළිතුරු මාර්ගය ස්ථාවරව තබයි: සබැඳි ලිපිනය සඳහා මූලාශ්‍ර පාදක රීතියක්, සහ ගලා යාමේ මුළු ආයු කාලය තුළ තීරණය රැක ගන්නා connection tracking. ලකුණ conntrack තුළ සුරැකීම සහ පිළිතුරේදී එය නැවත පිහිටුවීම තත්ත්ව සහිත ව්‍යතිරේකයක් ස්ථාවර කිරීමේ සුපුරුදු ක්‍රමයයි.

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

උමං මාර්ගයේම ප්‍රවාහනය ලකුණු නොකරන්න. WireGuard හෝ UDP OpenVPN උමං මාර්ගය TCP 22 නොවේ, එබැවින් ඉහත වට්ටෝරුව ආරක්ෂිතය, නමුත් උමං ගමනාන්තය හැර අනෙක් සියල්ල ලෙස ලියන ලද ව්‍යතිරේකයකට සංකේතනය කළ පැකට් අල්ලා ගත හැකි අතර උමං මාර්ගය මාර්ගකරණ ලූපයක් ලෙස පෙනෙන ආකාරයෙන් කඩා දැමිය හැක.

උපකල්පනය නොකර පරීක්ෂා කරන්න

ගමනාන්තය සඳහා සහ වරාය සඳහා කර්නලය ගන්නා මාර්ගය අසන්න, පසුව සැබෑ මාරු කිරීම ධාවනය කරන්න:

ip route get 203.0.113.10
ip rule show
nft list ruleset

ලකුණ පවතී නමුත් කවුන්ටර කිසිදා නොසෙල්වේ නම්, රීතිය නොගැළපේ. ඔබ ලියූ වින්‍යාසයක් සහ කර්නලය යොදන ප්‍රතිපත්තියක් අතර වෙනස කවුන්ටර වේ.

මෙය වැරදි මෙවලම වන විට

වරාය පාදක ව්‍යතිරේක ස්වභාවයෙන්ම බිඳෙන සුළුය. සේවා වරාය මාරු කරයි, HTTP/3 UDP 443 ලෙස පැමිණේ, සහ එක් යෙදුමකට විවිධ වර්ගවල ගලා යාම කිහිපයක් විවෘත කළ හැක. සැබෑ අවශ්‍යතාව මෙම වැඩසටහන සාමාන්‍ය සබැඳිය භාවිත කිරීම නම්, මාර්ගකරණ ස්ථරය වැරදි තැනකි; ජාල නාම අවකාශයක් හෝ යෙදුමකට ප්‍රොක්සියක් වඩා හොඳින් ගැළපේ.

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

firewall ස්පර්ශ කිරීමට පෙර ඔබට ඇත්තටම ඇති අවශ්‍යතා තුනෙන් කුමක්ද යන්න ලියන්න. ඉහත යාන්ත්‍රණය නිවැරදිය, සහ වැරදි ස්ථරයකට යොදන නිවැරදිභාවය නිකම්ම දිගු බාධාවකි.

අදාළ ලිපි