تونل غورځي، kill switch چالان شي، او درې پر څلورمه بشپړ شوی ډاونلوډ یا کنګل شي یا سمدلاسه ناکام شي۔ دا دواړه پایلې د ساتنې له جلا کچو نه، بلکې د پلي کولو له جلا انتخابونو راځي۔ غورځول شوې بسته اړیکه په تمه پرېږدي، خو رد شوې بسته هغه تړي او اپلیکیشن ته خبر ورکوي۔ دې پرېکړه چې کوم چلند غواړئ د ډیزاین پوښتنه ده، او ازموینه یې جلا تمرین دی۔

غورځول، ردول او بیا تنظیمول جلا دي

د فایر وال هغه قاعده چې ټرافیک غورځوي بسته پریږدي او هیڅ نه بېرته لېږي، نو لېږونکی د خپلو ټایمرونو له مخې بیا لېږلو ته دوام ورکوي۔ هغه قاعده چې د TCP reset سره ردوي اړیکه سمدلاسه تړي او اپلیکیشن تېروتنه ویني۔ ډېری kill switch غورځوي، ځکه چې ردول به پالیسي ښکاره کړي او ځکه چې غورځول د مړې شبکې له چلند سره ورته دي۔

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

تر هغه چې تشه دوام کوي اپلیکیشن څه کوي

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

کله چې تونل بېرته راشي، سیمه ییز سوکیټ بدل شوی نه دی، خو لار کېدای شي بدله وي۔ نوی عامه سرچینه پته په سرور کې بله څلورګونې جوړوي، نو هاخوا ته د حالت والا فایر وال نور له ناستې سره سمون نه لري۔ اړیکه مړه ده، که څه هم کلاینټ هېڅکله تېروتنه نه ده لیدلې۔

پرېکړه وکړئ چې بیا راژوندي کول اړین دي که نه

له دوو تړونونو څخه یو وټاکئ۔ یا باید ناسته لنډه تشه ومني، چې ثبات لرونکې پته او خپل حالت ساتونکی سرور ته اړتیا لري، یا اپلیکیشن باید پاک بیا ونښلي، چې د تکرار لپاره خوندي بیا هڅې منطق ته اړتیا لري۔ د دوی ترمنځ هر څه تر ټولو بد نتیجه ورکوي: هغه کلاینټ چې بیا هغه څه لېږي چې سرور مخکې ثبت کړي، یا هغه چې د هغې ناستې لپاره بریا راپور کوي چې هیڅوک یې نه شي لیدلی۔

ثبات لرونکې پته هغه برخه ده چې خلک یې هېروي، ځکه بله عامه پتې ته رسېدونکې بیا نښلنه د کلاینټ سوکیټ روغ ښکارېدو سره سره د سرور خوا حالت باطلوي۔ ولیکئ چې له دوو تړونونو کوم یو پر هر اپلیکیشن پلي کیږي، ځکه چې ټول سره سمون لږ خوري۔

بندول او بیا راژوندي کول جلا جلا وګورئ

د تېښتې ساتنه او د ناستې ژوندي پاتې کېدل د دوو ځانګړنو په توګه وګورئ، ځکه چې یوې ته بریالي کېدل د بلې په اړه هیڅ نه وايي۔ هغه ناسته چې ژوندې پاتې شي د دې ثبوت نه دی چې مستقیم ټرافیک بند شوی، او هغه ناسته چې مړه شي د دې ثبوت نه دی چې هره مستقیمه لار بند شوې۔

ss -tnp state established '( dport = :443 )'
sudo conntrack -L -p tcp --dport 443
sudo tcpdump -ni any 'tcp port 443 and tcp[tcpflags] & tcp-syn != 0'

د بیا راژوندي کېدو د کتلو پر مهال بې ضرره ازموینه وکاروئ، تر څو دوه ځله سپارل غونډه ونه شي۔ هغه ناکامي چې واقعاً مو لیدلې ولیکئ: اپلیکیشن څه ښودل، سوکیټ ژوندی پاتې شو که نه، او کله یې په خپله ځان جوړ کړ۔

تمه شوی چلند د پلي کولو د قاعدې ترڅنګ ولیکئ او نېټه ورزیات کړئ۔ بل کس چې دا قاعده بدلوي باید پوه شي چې ځای پرځای کول له دوو تړونونو کوم یو ژمنه کړې وه۔

اړوندې مقالې