د blackhole لار او VPN kill switch: هر یو څه کوي
د blackhole لار د سمونګر ترافیک غورځوي او د ناکامۍ پر مهال بنده لاره تحمیلوي. د هغې پراخوالی او ړندې نقطې د پاکټ فلټر پر بنسټ kill switch سره پرتله کړئ.
یو پاکټ له لپ ټاپ څخه وځي، هیڅکله VPN ګېټوې ته نه رسېږي، او د اورېدېوال هیڅ شمېرونکی نه خوځېږي. د لارو جدول لا دمخه د پاکټ برخلیک ټاکلی: یو blackhole ننوت د هغه سره سمون خوړلی او کرنل هغه غورځولی مخکې له دې چې هر انټرفېس یې وویني. دا چلند هغه وخت ګټور دی چې یو منزل باید په بند حالت کې ناکام شي، خو دا د تنګ پراخوالي لارښوونکی عمل دی. د بشپړ kill switch په توګه یې ګڼل هغه ځای دی چې ډیزاینونه غلطېږي.
د غورځولو عمل په رښتیا څه سره سمون خوري
د لارې پلټنه یو جدول ټاکي، بیا په هغه کې ترټولو اوږد سمونګر پریفکس ټاکي. د blackhole لار یو عادي ننوت دی چې عمل یې غورځول دي، نو یوازې هغو پاکټونو ته اغېزه کوي چې د ټولې پرېکړې وروسته به هغه ننوت ټاکلی و. جدول د پالیسۍ قاعدې سره بدل کړئ، یا ډېر ځانګړی پریفکس ورزیات کړئ، غورځول نور نه تطبیقېږي.
له همدې امله د blackhole پراخوالی دقیق او آسانه بیانېدونکی دی: پریفکس، په جدول کې، د هغې پتې کورنۍ لپاره پوښي. هغه منزل نه پوښي چې بله جدول به یې وګټي، او یوازې د دې لپاره چې IPv4 پریفکس غورځول کېږي IPv6 نه پوښي.
ip route get مخکې له دې چې څه ځای پرځای کړئ پرېکړه ښیي، په شمول جدول او د لارې ډول. د هغې پایلې لوستل له ناکامې غوښتنې څخه د دې اټکل کولو څخه چې کومه قاعده یا پریفکس عمل وکړ چټک دی.
blackhole د unreachable یا prohibit سره یو شان نه دی
Linux د غورځولو ته ورته درې ډوله لارې وړاندې کوي، او هغه په دې کې توپیر لري چې لېږدونکی څه ګوري. blackhole پاکټ پرته له ځوابه غورځوي، نو مراجع وخت تېرېدل ګوري. د unreachable لار ICMP unreachable پیغام بېرته ورکوي، نو اړیکه د کوربه یا شبکې تېروتنې سره ژر ناکامېږي. د prohibit لار د اداري بندیز تېروتنه ورکوي، چې د پالیسۍ له قصداً ردولو سره نږدې ده.
هغه چلند وټاکئ چې غواړئ اپلیکیشن یې وویني. خاموش غورځول هغه وخت مناسب دی چې نه غواړئ پالیسي ښکاره کړئ، او سملاسي تېروتنه ښه ده کله چې کاروونکي باید پوه شي چې یو منزل ولې نه دی شته. د ډولونو ګډول په شبکه کې د ملاتړ ټکټونه جوړوي چې یوه پالیسي د درې جلا خرابیو په توګه بیانوي.
کله چې اړیکه تشخیصوئ مه فرض کوئ چې هر د غورځولو ننوت د بدلولو وړ دی. د تېروتنې متن، وخت او د پاکټ نیول توپیر لري، او په جدول کې د لارې ډول درته وایي چې کوم یې ګورئ. د ip-route لارښود ډولونه او د تېروتنې پر مهال یې چلند لیست کوي.
دا له kill switch سره څنګه پرتله کېږي
kill switch د پاکټ فلټرول دي: د اورېدېوال قاعده چې هغه وتونکی ترافیک غورځوي چې به له تونل څخه بهر وتلی و. د blackhole لار د لېږد پرېکړه ده چې په سټک کې دمخه نیول کېږي. دواړه کولی شي ترافیک ودروي، خو دوی جلا شیان ګوري او جلا حالتونه له لاسه ورکوي.
| Mechanism | What it blocks | What it misses | How failure looks |
|---|---|---|---|
| Blackhole route | Destinations matching the prefix and table | Other tables, other address families, traffic with a different route | Silent timeout |
| Firewall kill switch | Egress not bound to the tunnel interface | Rules that are too broad can break the endpoint or DHCP | Dropped packets with counters |
| WireGuard AllowedIPs | Destinations not routed into the interface | Traffic that never enters the interface at all | No tunnel route, direct egress |
پراخوالی هغه ځای دی چې پرتله یې اهمیت لري. اورېدېوال کولی شي مالک، پورټ یا انټرفېس سره سمون وخوري او اپلیکیشن بند کړي پداسې حال کې چې پای ټکی لاسرسي وړ پاتې وي؛ لار دا نه شي کولی. په برعکس، لار کولی شي ټول پریفکس پرته له دې چې کوم پاکټ فلټر بار شي غورځولو ته ولېږي، چې په لږ سیسټم کې ګټور دی.
د WireGuard AllowedIPs د کریپټو کیلي لارښوونه ده، نه اورېدېوال. دا ټاکي چې کوم منزل پریفکسونه په انټرفېس کې منل کېږي، او هغه پروفایل چې یوازې د تونل فرعي شبکه لیست کوي نور منزلونه عادي ډیفالټ لارې ته پرېږدي. له همدې امله بشپړ تونل پروفایلونه 0.0.0.0/0 کاروي او له همدې امله wg-quick هم کله چې شي د اورېدېوال قواعد نصبوي.
د تونل پای ټکی له غورځولو بهر وساتئ
د پای ټکي بهرنۍ پته باید د فزیکي انټرفېس له لارې لاسرسي وړ پاتې شي. هغه غورځول چې دا پته هم نیسي د لاس ورکولو وتل منع کوي، او تونل هیڅکله نه پورته کېږي، چې د لارښوونې پالیسۍ پرځای د VPN خرابي ښکاري. د بدلون دمخه او وروسته د پای ټکي لار وګورئ.
اداري لاسرسي هم په همدې بیاکتنه کې دی. که د روټر یا مراجع ته یوازینۍ لار تونل وي، ډېر پراخ غورځول کولی شي تاسو له هغه ماشین څخه وباسي چې تاسو ته د هغه لرې کول اجازه ورکوي. یو مستند بهر-بینډ لار، کنسول یا وخت-بند بېرته راګرځول وساتئ.
IPv6 خپل ننوت او خپله بیاکتنه غواړي. هغه ډیزاین چې IPv4 blackhole ته غورځوي او IPv6 پر ډیفالټ لار پرېږدي، هغه ترافیک چې پالیسي یې د بندولو هدف درلود په سمه توګه تویوي، او تېروتنه یوازې د IPv4 په ازموینه کې نه ښکاري.
دا د ټایمر او بېرته راګرځولو سره په پړاوونو کې پلي کړئ
لاره د لنډ اتوماتیک لرې کولو سره پلي کړئ ترڅو تېروتنه د بیا پیل وروسته هم پاتې نه شي. لاندې کمانډونه د مستنداتو حد کاروي؛ هغه د هغه پریفکس سره بدل کړئ چې ستاسو ډیزاین یې رښتیا غورځوي:
sudo ip route replace blackhole 10.0.0.0/8
ip route get 10.1.2.3
sudo systemd-run --on-active=60 /sbin/ip route del blackhole 10.0.0.0/8دویم کمانډ باید د blackhole لارې او هغه جدول راپور ورکړي چې له کومه راغله. دریم په یوه دقیقه کې لرې کول مهالوېشوي، چې د پالیسۍ د تایید لپاره کافي وخت او په لرې کوربه کې د تېروتنې څخه د رغېدو لپاره کافي لنډ دی. کله چې چلند تایید شي، ننوت د نورو لارو مالک ورته کانفیګوریشن مدیریت له لارې تلپاتې کړئ.
بدلون د پریفکس، جدول، د پتې کورنۍ او د بېرته راګرځولو طریقه ثبتولو سره بند کړئ. غورځول په لارښوونکي ډیزاین کې قصداً استثنا ده، او بل انجنیر باید پوه شي چې دا د کوم ترافیک د بندولو لپاره وه مخکې له دې چې پرېکړه وکړي چې ایا لا هم هماغه ځای لري.