ایک پیکٹ لیپ ٹاپ سے نکلتا ہے، کبھی VPN گیٹ وے تک نہیں پہنچتا، اور کوئی فائر وال کاؤنٹر نہیں ہلتا۔ روٹ ٹیبل پہلے ہی پیکٹ کا مقدر طے کر چکا ہے: ایک بلیک ہول اندراج اس سے مماثل ہوا اور کرنل نے اسے کسی بھی انٹرفیس کے دیکھنے سے پہلے ضائع کر دیا۔ یہ رویہ اس وقت مفید ہے جب کسی منزل کو بند حالت میں ناکام ہونا چاہیے، لیکن یہ تنگ دائرے کی روٹنگ کارروائی ہے۔ اسے مکمل کِل سوئچ سمجھنا ہی وہ جگہ ہے جہاں ڈیزائن غلط ہوتے ہیں۔

ضائع کرنے کی کارروائی دراصل کس سے مماثل ہوتی ہے

روٹ تلاش ایک ٹیبل چنتا ہے، پھر اس کے اندر سب سے طویل مماثل پریفکس چنتا ہے۔ بلیک ہول روٹ ایک عام اندراج ہے جس کی کارروائی ضائع کرنا ہے، اس لیے یہ صرف ان پیکٹوں پر اثر ڈالتا ہے جو پورے فیصلے کے بعد وہ اندراج چنتے۔ ٹیبل کو پالیسی قاعدے سے بدلیں، یا زیادہ مخصوص پریفکس شامل کریں، ضائع کرنا اب لاگو نہیں ہوتا۔

اسی لیے بلیک ہول کا دائرہ درست اور بیان کرنا آسان ہے: یہ پریفکس کو، ٹیبل میں، اس پتے کے خاندان کے لیے ڈھانپتا ہے۔ یہ ایسی منزل کو نہیں ڈھانپتا جو کوئی دوسرا ٹیبل جیت لے، اور صرف اس لیے کہ IPv4 پریفکس ضائع ہو رہا ہے IPv6 کو نہیں ڈھانپتا۔

ip route get کچھ بھی تعینات کرنے سے پہلے فیصلہ دکھاتا ہے، بشمول ٹیبل اور روٹ کی قسم۔ اس آؤٹ پٹ کو پڑھنا ناکام درخواست سے اندازہ لگانے سے تیز ہے کہ کون سا قاعدہ یا پریفکس عمل میں آیا۔

بلیک ہول unreachable یا prohibit جیسا نہیں ہے

لینکس ضائع کرنے جیسی تین روٹ اقسام پیش کرتا ہے، اور وہ اس میں مختلف ہیں کہ بھیجنے والا کیا دیکھتا ہے۔ بلیک ہول پیکٹ کو جواب کے بغیر گرا دیتا ہے، اس لیے کلائنٹ وقت کا خاتمہ دیکھتا ہے۔ unreachable روٹ ICMP unreachable پیغام واپس کرتا ہے، اس لیے کنکشن میزبان یا نیٹ ورک کی خرابی کے ساتھ جلدی ناکام ہوتا ہے۔ prohibit روٹ انتظامی پابندی کی خرابی دیتا ہے، جو جان بوجھ کر پالیسی مسترد کرنے کے زیادہ قریب ہے۔

وہ رویہ چنیں جو آپ ایپلیکیشن کو دکھانا چاہتے ہیں۔ جب آپ پالیسی ظاہر نہیں کرنا چاہتے تو خاموش ضائع کرنا مناسب ہے، اور جب صارفین کو سمجھنا ہو کہ منزل کیوں دستیاب نہیں تو فوری خرابی بہتر ہے۔ نیٹ ورک بھر میں اقسام ملانے سے ایسی معاونت ٹکٹ بنتی ہیں جو ایک ہی پالیسی کو تین مختلف خرابیوں کے طور پر بیان کرتی ہیں۔

کنکشن کی تشخیص کرتے وقت یہ نہ سمجھیں کہ ہر ضائع کرنے والا اندراج قابل تبادلہ ہے۔ خرابی کا متن، وقت اور پیکٹ کیپچر مختلف ہوتے ہیں، اور ٹیبل میں روٹ کی قسم بتاتی ہے کہ آپ کون سا دیکھ رہے ہیں۔ ip-route دستی اقسام اور ان کے خرابی کے رویے کی فہرست دیتا ہے۔

کِل سوئچ سے اس کا موازنہ کیسے ہوتا ہے

کِل سوئچ پیکٹ فلٹرنگ ہے: ایک فائر وال قاعدہ جو وہ بیرونی ٹریفک ضائع کرتا ہے جو سرنگ سے باہر جاتا۔ بلیک ہول روٹ اسٹیک میں پہلے لیے گئے فارورڈنگ فیصلے ہے۔ دونوں ٹریفک روک سکتے ہیں، لیکن وہ مختلف چیزیں دیکھتے ہیں اور مختلف صورتوں سے محروم رہتے ہیں۔

MechanismWhat it blocksWhat it missesHow failure looks
Blackhole routeDestinations matching the prefix and tableOther tables, other address families, traffic with a different routeSilent timeout
Firewall kill switchEgress not bound to the tunnel interfaceRules that are too broad can break the endpoint or DHCPDropped packets with counters
WireGuard AllowedIPsDestinations not routed into the interfaceTraffic that never enters the interface at allNo tunnel route, direct egress

موازنہ اہم ہوتا ہے دائرے میں۔ فائر وال مالک، پورٹ یا انٹرفیس سے مماثل ہو سکتا ہے اور ایپلیکیشن کو روک سکتا ہے جبکہ اینڈ پوائنٹ قابل رسائی رہتا ہے؛ روٹ یہ نہیں کر سکتا۔ اس کے برعکس، روٹ بغیر کوئی پیکٹ فلٹر لوڈ کیے پورا پریفکس ضائع کرنے میں بھیج سکتا ہے، جو کم سے کم نظام پر مفید ہے۔

WireGuard کا AllowedIPs کرپٹو کی روٹنگ ہے، فائر وال نہیں۔ یہ طے کرتا ہے کہ کون سے منزل پریفکس انٹرفیس میں قبول کیے جاتے ہیں، اور صرف سرنگ سب نیٹ کی فہرست دینے والا پروفائل دیگر منزلوں کو عام ڈیفالٹ روٹ پر چھوڑ دیتا ہے۔ اسی لیے مکمل سرنگ پروفائل 0.0.0.0/0 استعمال کرتے ہیں اور اسی لیے wg-quick جب کر سکے فائر وال قواعد بھی نصب کرتا ہے۔

سرنگ کے اینڈ پوائنٹ کو ضائع کرنے سے باہر رکھیں

اینڈ پوائنٹ کا بیرونی پتہ فزیکل انٹرفیس کے ذریعے قابل رسائی رہنا چاہیے۔ وہ ضائع کرنا جو اس پتے کو بھی پکڑ لے ہاتھ ملانے کو باہر جانے سے روکتا ہے، اور سرنگ کبھی نہیں اٹھتی، جو روٹنگ پالیسی کے بجائے VPN کی خرابی جیسا لگتا ہے۔ تبدیلی سے پہلے اور بعد میں اینڈ پوائنٹ کا روٹ جانچیں۔

انتظامی رسائی بھی اسی جائزے میں ہے۔ اگر راؤٹر یا کلائنٹ تک واحد راستہ سرنگ ہے، تو بہت وسیع ضائع کرنا آپ کو اس مشین سے باہر کر سکتا ہے جو اسے ہٹانے دیتی۔ ایک دستاویزی آؤٹ آف بینڈ روٹ، کنسول یا وقت بند رول بیک رکھیں۔

IPv6 کو اپنا اندراج اور اپنا جائزہ چاہیے۔ جو ڈیزائن IPv4 کو بلیک ہول میں ضائع کرتا ہے اور 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

دوسری کمانڈ کو بلیک ہول روٹ اور وہ ٹیبل بتانی چاہیے جس سے یہ آیا۔ تیسری ایک منٹ میں ہٹانے کا وقت مقرر کرتی ہے، جو پالیسی کی تصدیق کے لیے کافی وقت ہے اور دور دراز میزبان پر خرابی سے سنبھلنے کے لیے کافی مختصر ہے۔ رویے کی تصدیق کے بعد، دیگر روٹ کے مالک اسی کنفیگریشن انتظام کے ذریعے اندراج کو مستقل کریں۔

پریفکس، ٹیبل، پتے کا خاندان اور رول بیک کا طریقہ درج کر کے تبدیلی بند کریں۔ ضائع کرنا روٹنگ ڈیزائن میں جان بوجھ کر استثنا ہے، اور اگلے انجینئر کو معلوم ہونا چاہیے کہ یہ کون سی ٹریفک روکنے کے لیے تھا، اس سے پہلے کہ وہ فیصلہ کرے کہ یہ اب بھی وہاں فٹ ہے یا نہیں۔

متعلقہ مضامین