sshuttle د دې لپاره غوره کېږي چې SSH له پخوا کار کوي او کرېپټوګرافي اشنا ښکاري، او دا استدلال یوازینی پوښتنه پرېږدي چې د سمون فیصله کوي۔ کوم پاکټونه ماشین پرېږدي، بله خوا کوم حساب هغوی وړي، او وسیله څومره ځایي اختیار غواړي۔ دا درې ځوابونه د لېږد د طریقې له مخې توپیر لري، نو هغه ترتیبات چې د یو اپلیکیشن لپاره کار کوي کېدای شي د بل لپاره په چوپتیا ناکام شي۔ لاندې کتنه له هغه پروتوکول پیلېږي چې اپلیکیشن واقعاً ورته اړ دی۔

له هغه پروتوکول پیل وکړئ چې اپلیکیشن ورته اړ دی

په sshuttle 2.0 کې د پروتوکولونو ملاتړ په هغه طریقه پورې اړه لري چې تاسو یې غوره کوئ۔ په Linux کې NAT او nft طریقې TCP او DNS سمبالوي، او TPROXY عمومي UDP زیاتوي۔ هر پلیټ فارم او طریقه خپلې حدونه لري، او macOS په بشپړه توګه بل میکانېزم له لارې مخه نیسي۔ د هر څه له غوره کولو مخکې نصب شوې نسخه، غوره شوې طریقه او هغه پروتوکولونه ولیکئ چې اپلیکیشن ورته اړ دی۔

نو یوه بریالۍ TCP غوښتنه د UDP اپلیکیشن یا هر DNS پلټنې په اړه ډېر لږ ثابتوي۔ sshuttle TCP د بشپړو IP پاکټونو د تونل کولو پر ځای د بهیرونو په توګه ګڼي، نو له عادي VPN څخه پور اخیستل شوې د تېزوالی پایله دلته نه تطبیقېږي۔ هغه میکانېزم چې واقعاً یې چلوئ له هغه بار سره پرتله کړئ چې واقعاً یې لرئ۔

ApproachWhat it carriesWhat it needs locally
SSH local forwardOne explicitly named TCP destinationNothing beyond the SSH client
sshuttle, nft or nat methodTCP and DNS to the routed prefixesRoot or sudo for firewall rules
sshuttle, tproxy methodTCP, DNS and general UDPRoot or sudo, and kernel support
IP VPNRouted IP traffic in a tunnelA client with the required privileges

کلاینټ ته په ځایي توګه څه ته اړتیا ده

مستند شوی کلاینټ ترتیبات root یا sudo ته اړتیا لري، ځکه چې د تونل انټرفیس جوړولو پر ځای ځایي د مخنیوي قواعد نصبوي۔ دا یوه واقعیت د امنیت کیسه بدلوي: هغه پروسه چې دا اختیار لري کولای شي د ټول ماشین ترافیک وګرځوي، نه یوازې د یو اپلیکیشن۔ له اختیار سره د نصب تفصیل نه، د ډیزاین برخې په توګه چلند وکړئ۔

تایید کړئ چې وسیلې کوم قواعد نصب کړي او د وتلو پر مهال ورکېږي۔ هغه ناسته چې وپېچه او د مخنیوي قواعد پرېږدي کولای شي ترافیک ډېر وروسته له هغه چې چلونکی فکر کوي اړیکه تللې ده په تور سوري کې ولېږي، او نښه د پاتې قاعدې نه، د شبکې خرابۍ په څېر ښکاري۔

sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route

لومړی حکم د یو عادي غږ رنګ دی، د هغه مختګ سره چې واقعاً ورته اړ یاست۔ دویم ښیي چې وسیلې څه نصب کړل، او دریم تاییدوي چې د تونل کوم انټرفیس نه دی راڅرګند شوی، چې د دې ډیزاین لپاره تمه شوې پایله ده۔

لېرې خوا څه چلوي

لېرې خوا یو اجازه لرونکی SSH حساب او یو سمون لرونکی Python مرستندوی چاپېریال دی۔ هغه ننوتل چې په محدود شل کې بریالي شي په اتوماتيک ډول د هغه مرستندوی د چلولو اجازه نه ورکوي، او هغه حساب چې مرستندوی چلولی شي په اتوماتيک ډول هر هدف خدمت ته نه رسېږي۔ دواړه واقعیتونه د ستونزو حل یادښتونو نه، د لاسرسي غوښتنې پورې اړه لري۔

د کوربه هویت تایید او د حساب تصدیق وساتئ۔ د لومړنۍ اړیکې د کار کولو لپاره د نااشنا کوربه کیلي منل هغه ګڼه لره کوي چې لېرې خوا ستاسو په نظر کې ماشین دی، او دا دلته د یو هدف لېږد په پرتله ډېر مهم دی۔

لېرې حساب یوازې هغو خدمتونو ته محدود کړئ چې کاري بهیر ورته اړ دی، او دا حد د کوربه چلونکو سره هوکړه کړئ۔ هغوی د باور اړیکې برخه دي، او د کلاینټ خوا هیڅ تنظیم دا نه بدلوي۔

د باور پوله چېرته ده

د یو شخصي API اړیکې SSH له لارې لېږل هر API عملیات نه اجازه لري۔ د اپلیکیشن TLS او اپلیکیشن ته ننوتل لا هم تطبیقېږي، او وسیله نه شي کولای یو بې تصدیقه خدمت خوندي کړي۔ له لېرې کوربه څخه بله ټوپ هم په اتوماتيک ډول د SSH کانال سره یو شان ساتل شوی برخه نه ده، ځکه هغه دویمه اړیکه د لېرې کوربه هره پالیسي تعقیبوي۔

پوله په یوه جمله ولیکئ: دې مختګونو ته ترافیک په هغه کوربه کې د دې حساب له لارې وځي۔ که جمله د استثناوو یو پراګراف ته اړتیا ولري، ډیزاین تر هغه ډېر کوي چې مستندات یې ادعا کوي او د تولید ته رسېدو مخکې دویم نظر مستحق دی۔

د هر پروتوکول له مخې یې ثابت کړئ، بیا وسیله غوره کړئ

هر اړین پروتوکول په بې زیانه غوښتنه ازموئ، د حل کوونکي لاره او هغه پته کورنۍ سره چې اپلیکیشن کاروي۔ په ازموینه کې قطع هم شامل کړئ، تر څو د اپلیکیشن اجازه لرونکې ناکامي ښکارندویي پېښې پر مهال حیرانتیا نه، بلکې پیژندل شوې پایله وي۔ هغه ناسته چې تر پای پورې سم لېږل کول د لوېدو وروسته څه کېږي په اړه څه نه وایي۔

د څو په ښکاره نومول شوو خدمتونو لپاره عادي ځایي لېږد د مالکیت او پلټنې لپاره اسانه دی۔ د هغه اپلیکیشن ترافیک لپاره چې د هغې طریقې سره ځي، sshuttle یو قانوني منځنی لار وړاندې کوي۔ کله چې اړتیا پراخه IP اړیکه وي، VPN ډیزاین ریښتینی ځواب دی، او غوراوی د کوډ کولو الجوریتمونو درجه بندي نه، بلکې پوښ او عملیاتي مسؤلیت تعقیبوي۔

اړوندې مقالې